Joan dokumentaziora

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_search
post_opened_from_feed
post_opened, { source: "search" | "feed" }rekin
video_played_mobile
video_played_web
video_played — plataforma automatikoki dator gertaera guztietan
checkout_from_cart
checkout_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, ez PostOpened. 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 propietateaErabiltzaile-propietatea
Deskribatzen duEkintza horren agerraldi bakar hauPertsona bera, modu iraunkorrean, bere gertaera guztietan
Honekin ezartzen daKixo.track(name, { ... })Kixo.setUserProperty(key, value)
Adibideaksource, screen, post_id, amount_centsplan, vip, signup_cohort, lifetime_orders
Elikatzen duUrratsez urratseko inbutu-iragazkiak, xehaketak eta banaketakSegmentazioa, 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.