Gjurmimi i veprimeve sipas kontekstit
Vendimi më i rëndësishëm në instrumentim është si i emërtoni eventet dhe ku e vendosni kontekstin. Bëjeni si duhet dhe një event u përgjigjet një duzine pyetjesh; bëjeni gabim dhe katalogu shpërthen në qindra emra pothuajse të njëjtë që asnjë hinkë nuk i rreshton dot. Ky udhëzues është modeli kanonik i Kixo — i njëjti model që rekomandon këshilluesi AI për instrumentimin (suggest_instrumentation në chat).
Modeli: një event i përgjithshëm + veti të pasura
Gjurmoni një event për çdo veprim të përdoruesit dhe përshkruajeni kontekstin me veti — mos e ndani kurrë emrin e eventit sipas kontekstit. Një postim i hapur nga kërkimi dhe një postim i hapur nga feed-i janë i njëjti veprim (post_opened) me një veti të ndryshme source.
Antimodel
Mos krijoni post_opened_from_search, post_opened_from_feed, post_opened_from_profile për jo. Tre emra eventesh do të thonë tre gjëra për t’u mirëmbajtur, asnjë hinkë e vetme nuk mund t’i përfshijë të gjitha dhe shtimi i një sipërfaqeje të katërt kërkon ndryshim kodi kudo. Një post_opened me source zgjerohet pa kosto shtesë në çdo numër sipërfaqesh.
| Mos e bëni (një event për çdo kontekst) | Bëjeni (një event + një veti) |
|---|---|
post_opened_from_searchpost_opened_from_feed | post_opened me { source: "search" | "feed" } |
video_played_mobilevideo_played_web | video_played — platforma shtohet tashmë automatikisht në çdo event |
checkout_from_cartcheckout_from_buy_now | cart_checked_out me { source: "cart" | "buy_now" } |
Emërtimi: snake_case (objekt)(folje), në kohën e shkuar
Emërtojeni çdo event (object)_(verb) në snake_case, në kohën e shkuar — post_opened, video_played, cart_checked_out. I njëjti emër duhet përdorur fjalë për fjalë në Web, iOS dhe Android që hinkat ndërplatformë të përputhen, dhe që detektori i eventeve standarde në Kixo të njohë emrat kanonikë.
- Së pari objekti, pastaj folja — grupon së bashku eventet e afërta kur shfletoni katalogun (
post_opened,post_liked,post_shared). - Koha e shkuar — një event regjistron diçka që ndodhi.
- snake_case — jo
postOpened, joPostOpened. Detektori dhe përputhësi i fjalorit nuk dallojnë shkronjat e mëdha nga të voglat, por përdorimi i një forme të vetme i mban hinkat të pastra.
Vetitë e eventit kundrejt vetive të përdoruesit
Gjysma tjetër e vendimit është ku jeton vlera.
| Veti e eventit | Veti përdoruesi | |
|---|---|---|
| Përshkruan | Kjo ndodhi e vetme e veprimit | Personi, në mënyrë të qëndrueshme përgjatë të gjitha eventeve të tij |
| Vendoset me | Kixo.track(name, { ... }) | Kixo.setUserProperty(key, value) |
| Shembuj | source, screen, post_id, amount_cents | plan, vip, signup_cohort, lifetime_orders |
| Mundëson | Filtra për çdo hap të hinkës, ndarje dhe shpërndarje | Segmentim, synim audience, pranueshmëri për fushatë |
Këshillë
Rregull praktik: nëse vlera mund të ndryshojë midis dy eventeve nga i njëjti përdorues (postimi cilin, burimi cilin), atëherë është veti eventit. Nëse është një fakt për përdoruesin që vlen pavarësisht veprimit (plani i tij, nëse është VIP), atëherë është veti përdoruesi. Vendosni source te eventi; vendosni plan te përdoruesi.
Përcillni gjithmonë një ID entiteti të qëndrueshme
Përcillni një ID të qëndrueshme për objektin që preku veprimi — post_id, video_id, order_id. Pa të mund të numëroni sa postime u hapën, por nuk mund të gruponi, të hiqni dublikatat ose të lidhni evente për të njëjtin postim i njëjti. Një hinkë si kërkim → hapje-nga-kërkimi → pëlqim bëhet një rrugëtim koherent i përdoruesit vetëm kur çdo hap mban vetinë që i lidh hapat bashkë.
Shembull praktik: search → open → like
Le të themi se doni të dini sa përdorues kërkim, pastaj hapin një postim nga rezultatet e kërkimit, pastaj e pëlqejnë. Janë tre evente — por konteksti "nga kërkimi" është veti source te post_opened, jo event më vete:
search_performed—{ query }post_opened—{ source: "search", screen, post_id }post_liked—{ source: "search", screen, post_id }
Pastaj hinka juaj filtron hapin 2 (dhe hapin 3) sipas source = "search" — një kusht i vetëm mbi veti, pa luajtur me emrat e eventeve. Thirrjet e sakta të SDK për çdo platformë:
// User runs a search
Kixo.track('search_performed', {
query: 'running shoes',
});
// User taps a result — the post was opened FROM search
Kixo.track('post_opened', {
source: 'search', // ← context as a property, not the event name
screen: 'search_results',
post_id: 'post_8f3a1c',
});
// User likes the post they opened from search
Kixo.track('post_liked', {
source: 'search',
screen: 'post_detail',
post_id: 'post_8f3a1c',
});Etiketimi i përdoruesit në vend të kësaj
Nëse "has liked a post from search" është një tipar i qëndrueshëm mbi të cilin doni të segmentoni, jo thjesht një sinjal për event, vendosni një veti përdoruesi pas veprimit: Kixo.setUserProperty("liked_from_search", true). Tani eksploruesi i audiencës dhe pranueshmëria për fushatë mund t’i synojnë drejtpërdrejt këta përdorues.
Lëreni AI ta projektojë për ju
Në chat-in e dashboard-it të Kixo, përshkruani me gjuhë të thjeshtë çfarë doni të matni — "track posts opened from search and then liked" — dhe asistenti kthen eventet, vetitë dhe copat e kodit për kopjim të rekomanduara për të tria platformat; dhe ju tregon cilat evente po vijnë tashmë për projektin tuaj dhe cilat ende kërkojnë punë në SDK. Ai zbaton pikërisht modelin e kësaj faqeje.
Shihni edhe: Referenca e eventeve për njëmbëdhjetë emrat kanonikë të eventeve që Kixo i njeh automatikisht, si edhe udhëzuesit e SDK sipas platformës për Web, iOS dhe Android.