Ekintzak testuinguruarekin erregistratzea
Instrumentazioan hartu beharreko erabakirik handiena gertaerak nola izendatu eta testuingurua non jarri da. Ondo eginez gero, gertaera bakar batek dozena bat galderari erantzun diezaioke; gaizki eginez gero, katalogoa ia bikoiztutako ehunka izenetan lehertzen da, eta inbutu bakar batek ere ezin ditu lerrokatu. Gida hau Kixo-ren eredu kanonikoa da: AI instrumentazio-aholkulariak (chat-ean suggest_instrumentation) gomendatzen duen diseinu bera.
Eredua: gertaera orokor bat + propietate aberatsak
Erregistratu erabiltzaile-ekintza bakoitzeko gertaera bat eta deskribatu testuingurua propietateakrekin; ez zatitu inoiz gertaeraren izena testuinguruaren arabera. Search-etik irekitako post bat eta feed-etik irekitakoa ekintza bera dira (post_opened), baina source propietate desberdinarekin.
Saihestu beharreko eredua
Ez sortu ez: post_opened_from_search, post_opened_from_feed, post_opened_from_profile. Hiru gertaera-izenek mantendu beharreko hiru kontzeptu esan nahi dute, inbutu bakar batek ezin ditu denak hartu, eta laugarren azalera bat gehitzeak kodea toki guztietan aldatzea dakar. post_opened bakar batek, sourcerekin, edozein azalera-kopurutarako balio du aparteko lanik gabe.
| Ez egin (testuinguru bakoitzerako gertaera bana) | Egin (gertaera bat + propietate bat) |
|---|---|
post_opened_from_searchpost_opened_from_feed | post_opened, { source: "search" | "feed" }rekin |
video_played_mobilevideo_played_web | video_played — plataforma automatikoki dator gertaera guztietan |
checkout_from_cartcheckout_from_buy_now | cart_checked_out, { source: "cart" | "buy_now" }rekin |
Izendapena: snake_case, objektua lehenik eta aditza ondoren, iraganaldian
Izendatu gertaera guztiak (object)_(verb) erabiliz, snake_case formatuan eta iraganaldian — post_opened, video_played, cart_checked_out. Izen bera hitzez hitz erabili behar da Web, iOS eta Android-en, plataforma arteko inbutuak lerroka daitezen eta Kixo-ren gertaera estandarren detektagailuak izen kanonikoak parekatu ahal izan ditzan.
- Objektua lehenik, aditza ondoren — lotuta dauden gertaerak batera biltzen ditu katalogoa begiratzen duzunean (
post_opened,post_liked,post_shared). - Iraganaldia — gertaera batek gertatu dela jaso duela erregistratzen du.
- snake_case — ez
postOpened, ezPostOpened. Detektagailuak eta hiztegi-parekatzaileak maiuskulak eta minuskulak bereizi gabe lan egiten dute, baina forma bakarrera biltzeak inbutuak garbi mantentzen ditu.
Gertaera-propietateak vs erabiltzaile-propietateak
Erabakiaren beste erdia balio bat non dagoen da.
| Gertaeraren propietatea | Erabiltzaile-propietatea | |
|---|---|---|
| Deskribatzen du | Ekintza horren agerraldi bakar hau | Pertsona bera, modu iraunkorrean, bere gertaera guztietan |
| Honekin ezartzen da | Kixo.track(name, { ... }) | Kixo.setUserProperty(key, value) |
| Adibideak | source, screen, post_id, amount_cents | plan, vip, signup_cohort, lifetime_orders |
| Elikatzen du | Urratsez urratseko inbutu-iragazkiak, xehaketak eta banaketak | Segmentazioa, audientzien helbururatzea, kanpainaren hautagarritasuna |
Aholkua
Arau praktikoa: balioa erabiltzaile beraren bi gertaeratan desberdina izan badaiteke (zein post-a, zein jatorria), gertaera-propietatea da. Ekintza edozein dela ere erabiltzaileari buruzko datu bat bada (bere plana, VIP den ala ez), erabiltzaile-propietatea da. Jarri source gertaeran; jarri plan erabiltzailean.
Eraman beti entitatearen ID egonkor bat
Pasa ekintzak ukitu duen objektuaren ID egonkor bat — post_id, video_id, order_id. Hori gabe, zenbat post ireki diren zenba dezakezu, baina ezin dituzu bera post berari buruzko gertaerak multzokatu, deduplikatu edo kateatu. search → open-from-search → like bezalako inbutu batek erabiltzaile-bidaia koherentea ematen du urrats bakoitzak pausoak elkartzen dituen propietatea daramanean bakarrik.
Adibide landua: search → open → like
Demagun jakin nahi duzula zenbat erabiltzailek bilaketa, gero ireki post bat bilaketaren emaitzetatik, eta gero atsegin dut eman egin duten. Hiru gertaera dira; baina "search-etik" testuingurua source propietate bat da post_opened gertaeran, ez aparteko gertaera bat:
search_performed—{ query }post_opened—{ source: "search", screen, post_id }post_liked—{ source: "search", screen, post_id }
Orduan, zure inbutuak 2. urratsa —eta 3.a ere bai— source = "search"ren arabera iragazten du: propietate-baldintza bakarra, gertaera-izenekin malabarrik egin gabe. Hona plataforma bakoitzeko SDK dei zehatzak:
// 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',
});Horren ordez, erabiltzailea etiketatzea
"search-etik post bati atsegin dut eman dio" ezaugarri iraunkor bat bada eta horren arabera segmentatu nahi baduzu — ez gertaera bakoitzeko seinale huts gisa — ezarri erabiltzaile-propietate bat ekintzaren ondoren: Kixo.setUserProperty("liked_from_search", true). Horrela, audientzia-esploratzaileak eta kanpainen hautagarritasunak erabiltzaile horiek zuzenean jo ditzakete.
Utzi AI-ri zuretzat diseinatzen
Kixo-ko dashboardeko chat-ean, azaldu hizkera arruntean zer neurtu nahi duzun — "track posts opened from search and then liked" — eta laguntzaileak hiru plataformetarako gomendatutako gertaerak, propietateak eta kopiatzeko prest dauden zatiak emango dizkizu. Gainera, eta-(e)k esango dizu zein gertaera ari diren jada zure proiektura iristen eta zer dagoen oraindik SDK lanean egiteko. Orri honetako eredua bera aplikatzen du.
Ikus, halaber: Kixo-k automatikoki ezagutzen dituen hamaika gertaera-izen kanonikoen Gertaeren erreferentzia, eta plataforma bakoitzeko SDK gidak: Web, iOS eta Android.