Web SDK
The Kixo Web SDK skráir sjálfkrafa smelli, síðuskoðanir, lotur, villur, skrunlengd, web vitals, rage-clicks, dead-clicks og hitakortsgögn með innsetningu í einni línu. Vöktun netbeiðna er í boði sem valfrjáls stilling. Dreift sem innbyggð ES eining og virkar í nútímavöfrum.
Uppsetning
Script tag (CDN)
Bættu kóðabrotinu inn fyrir lokatagið </head>. Taktu eftir type="module" — það er nauðsynlegt því SDK er ES module. Session replay er skipt út í sérstakan recorder chunk með samsvarandi útgáfu sem hleðst aðeins þegar replay hefur verið virkjað, þannig að grunnpakkinn helst lítill meðan replay er óvirkt.
<script
type="module"
src="https://cdn.kixo.io/kixo.min.js?project_id=YOUR_PROJECT_ID&api_key=YOUR_API_KEY">
</script>Athugið
SDK les project_id og api_key úr script-URL-inu og frumstillir sig. Ef þú vilt stilla valkosti í forritskóða skaltu sleppa URL-breytunum og kalla á Kixo.init({...}) í staðinn — global Kixo object er tiltækt þegar einingin hefur hlaðist.
<script type="module" src="https://cdn.kixo.io/kixo.min.js"></script>
<script type="module">
Kixo.init({
projectId: 'YOUR_PROJECT_ID',
apiKey: 'YOUR_API_KEY',
});
</script>npm
Notaðu þetta þegar þú vilt stilla valkosti í forritskóða í stað script URL. Það býður upp á sama Kixo API og CDN-innsetningin.
npm install @kixo.io/webimport Kixo from '@kixo.io/web';
Kixo.init({
projectId: 'YOUR_PROJECT_ID',
apiKey: 'YOUR_API_KEY',
});No-code vettvangar
Ef þú ert að byggja með AI-smíðatæki eins og Lovable, Bolt, v0 eða Replit skaltu líma script-tag-kóðabrotið beint inn í spjall eða stillingar fyrir code injection í tólinu. Flest slík tól styðja að bæta scriptum við <head> á vefnum þínum.
Stillingar
Tveggja lína innsetningin notar sjálfgefnar staðbundnar analytics-stillingar hér fyrir neðan. Request monitoring er áfram valfrjálst. Session replay er viljandi ekki hluti af Kixo.init(): kveikja á því, sýnataka, persónuvernd, lengd og upptökustillingar koma eingöngu frá verkefnismælaborðinu.
Kixo.init({
projectId: 'YOUR_PROJECT_ID', // required
apiKey: 'YOUR_API_KEY', // required
// Per-tracker toggles — all default to true except network.
autoTrack: {
pageViews: true,
clicks: true,
scrollDepth: true,
sessions: true,
forms: true,
network: false, // opt in only when you need request telemetry
errors: true,
performance: true,
rageClicks: true,
deadClicks: true,
},
// Heatmap recording (clicks + scroll on by default; mouse-move opt-in).
heatmap: {
enabled: true,
clicks: true,
moves: false,
scroll: true,
},
});Athugið
Stilling sem verkefnið stýrir. Stillingar í Dashboard geta slökkt á staðbundnum rekjarum fyrir greiningu. Replay hefur enga staðbundna jákvæða virkjun yfirleitt: stilltu það undir Settings → Session replay og SDK fylgir nýjustu verkefnastefnunni við næstu uppfærslu á stillingum.
Sjálfvirkt rakin atvik
Með sjálfgefnum stillingum skráir Kixo þessi atvik sjálfkrafa án viðbótarkóða:
page_view— öll leiðarskipti (upphafshleðsla + SPA route changes)session_start/session_endclick— öll smelliatvik með valstreng fyrir stakscroll_depth— þröskuldar við 25 / 50 / 75 / 100 %rage_click— endurteknir smellir á sama stakdead_click— smellir á stök sem eru ekki gagnvirkerror— ómeðhöndlaðar JavaScript undantekningar + promise rejectionsperformance— mæligildi fyrir síðuhleðslu og Web Vitals (LCP, FCP, FID, CLS, INP, TTFB)network_request— valfrjáls tímasetning beiðna þegar rakning á netkalli er virkheatmap_click/scroll— hitakortsgögn
Sjá allan listann í Yfirlit yfir atburði.
Sérsniðin atvik
Kixo.track()
Senda sérsniðið atvik með valfrjálsum eiginleikum.
Kixo.track('purchase_completed', {
product_id: 'SKU-123',
amount: 49.99,
currency: 'USD',
});Týpaðir event-hjálparar
Þægilegra yfirlag yfir Kixo.track() fyrir atvikin sem Kixo þekkir af heiti (purchase, signup, subscribe_start,trial_start, cancel, upgrade,activation, share, invite). Typed wrappers gefa staðfestingu á eiginleikum við þýðingu og einn sameiginlegan sannleiksgjafa fyrir lyklaheiti — staðlaði atvikaskynjarinn í bakenda ber nákvæmlega saman við strengina.
Kixo.trackPurchase({ amount: 49.99, currency: 'USD', productId: 'pro_yearly' });
Kixo.trackSubscriptionStart({
plan: 'pro',
amount: 9.99,
currency: 'USD',
interval: 'month',
});
Kixo.trackSignup({ method: 'google' });
Kixo.trackTrialStart({ plan: 'pro', days: 14 });
Kixo.trackCancel({ plan: 'pro', reason: 'too_expensive' });
Kixo.trackUpgrade({ fromPlan: 'free', toPlan: 'pro' });
Kixo.trackActivation({ event: 'first_post_published' });
Kixo.trackShare({ channel: 'twitter', contentId: 'post_123' });
Kixo.trackInvite({ channel: 'email', recipientCount: 5 });Kixo.identify()
Tengdu núverandi tæki við þekktan notanda. Fráteknir staðlaðir property-lyklar bera $-forskeyti (Mixpanel-hefð) svo þeir haldist aðskildir frá þínum eigin sérsniðnu traits og fari upp í prófíldálka mælaborðsins — sjá Katalogur staðlaðra eiginleika hér fyrir neðan fyrir allan listann með 37 lyklum.
Kixo.identify('user_123', {
$email: 'jane@example.com', // identity
$name: 'Jane Doe', // identity
$plan: 'pro', // subscription pack
$lifetime_orders: 12, // e-commerce pack
signup_source: 'twitter_ad', // custom trait
});Kixo.setUserProperty() — merkja notanda fyrir hlutun
Bættu við handahófskenndum lykil/gildi-eiginleikum á núverandi notanda. Gildi geta verið strengir, tölur eða booleans — boolean-formið er hreinasta leiðin til að tag notanda fyrir síðar marksetningu í segmentum, tölvupóstsherferðum eða spjallfyrirspurnum.
// Tag a user as subscribed — instant segment "Subscribed users"
Kixo.setUserProperty('subscribe', true);
// Mark a VIP — used in campaign targeting + chat ("show me VIPs")
Kixo.setUserProperty('vip', true);
// Numeric and string values work too
Kixo.setUserProperty('plan_tier', 'enterprise');
Kixo.setUserProperty('lifetime_orders', 42);
// Bulk-set
Kixo.setUserProperties({ subscribe: true, plan_tier: 'enterprise' });Eiginleikar vistast í localStorage milli endurhleðslna og eru sjálfkrafa hengdir við næstu atvik. Notaðu þá í spjalli með fyrirmælum eins og „build an email campaign for users where subscribe is true“ — Kixo setur sjálfkrafa saman segment og semur drög að sniðmáti. Hreinsast með Kixo.reset().
Kixo.group()
Tengdu notandann við fyrirtæki eða stofnun.
Kixo.group('company_456', {
name: 'Acme Inc',
plan: 'enterprise',
});Kixo.reset()
Hreinsar auðkenni, super-properties og vistuðu biðröðina. Kallaðu á þetta við útskráningu svo næstu atvik verði ekki rakin á fyrri notanda.
Kixo.reset();Katalogur staðlaðra eiginleika
Fráteknir eiginleikalyklar bera $-forskeyti svo þeir rekist ekki á sérsniðin traits hjá þér. Katalogur Kixo nær yfir 37 lykla í 3 almennum pökkum (identity, geo, lifecycle) og 5 sértækum B2B-pökkum (subscription, e-commerce, media, marketplace, loyalty). Stilltu þá pakka sem eiga við um vöruna þína — mælaborðið aðlagast og sýnir aðeins þá sem þú fyllir út.
Auðkenni
Alltaf viðeigandi. Stillir dálkana í haus prófílsins.
| Lykill | Gerð | Lýsing |
|---|---|---|
$email | strengur | Aðalnetfang, oft notað sem merge key við samruna auðkenna. |
$phone | strengur | E.164 símanúmer. |
$name | strengur | Fullt birtingarnafn. |
$first_name | strengur | Fornafn. |
$last_name | strengur | Eftirnafn. |
$avatar_url | strengur | Full URL á avatar-mynd notandans. |
Landfræði
Landfræðilegt samhengi.
| Lykill | Gerð | Lýsing |
|---|---|---|
$country | strengur | Landskóði samkvæmt ISO 3166. |
$city | strengur | Nafn borgar. |
$region | strengur | Fylki eða hérað. |
$timezone | strengur | IANA-svæði eins og America/Los_Angeles. |
$language | strengur | IETF-merki eins og en eða ru-RU. |
$locale | strengur | Fullt locale identifier. |
Lífsferill
Hvenær sáum við þau.
| Lykill | Gerð | Lýsing |
|---|---|---|
$created | ISO8601 | Tími skráningar eða stofnunar reiknings. |
$last_seen | ISO8601 | Tími síðustu virkni. |
Áskrift
Stilltu þetta ef varan þín er með áskriftarleiðir.
| Lykill | Gerð | Lýsing |
|---|---|---|
$plan | strengur | Stigskenni — free, pro, enterprise. |
$subscription_status | strengur | active / trial / cancelled / past_due. |
$trial_ends | ISO8601 | Hvenær núverandi prufutímabil rennur út. |
$mrr | tala | Mánaðarlegar endurteknar tekjur í gjaldmiðli reikningsins. |
$subscription_started | ISO8601 | Hvenær núverandi áskrift hófst. |
Netverslun
Stilltu þetta ef þú selur vörur.
| Lykill | Gerð | Lýsing |
|---|---|---|
$lifetime_orders | tala | Fjöldi lokinna pantana. |
$lifetime_revenue | tala | Heildareyðsla. |
$aov | tala | Meðalvirði pöntunar. |
$last_purchase | ISO8601 | Síðustu heppnuðu kaup. |
$first_purchase | ISO8601 | Fyrstu heppnuðu kaup. |
$cart_abandoned_count | tala | Heildarfjöldi yfirgefinna körfa. |
Miðlar
Stilltu þetta ef þú birtir efni.
| Lykill | Gerð | Lýsing |
|---|---|---|
$content_tier | strengur | free / premium / paid. |
$subscribed_categories | CSV-strengur eða fylki | Flokkar sem notandinn fylgir. |
$watch_time_total | tala | Heildaráhorfstími í sekúndum. |
$last_played | ISO8601 | Síðasta upphaf afspilunar. |
Markaðstorg
Stilltu þetta ef þú rekur tvíhliða vettvang.
| Lykill | Gerð | Lýsing |
|---|---|---|
$seller_tier | strengur | Tier-slug seljanda. |
$buyer_tier | strengur | Tier-slug kaupandans. |
$listings_count | tala | Virkar skráningar sem notandinn á. |
$reviews_count | tala | Umsagnir sem notandinn hefur fengið. |
$verified | boolean | KYC-staða. |
Vild
Stillt fyrir vildar- og umbunarkerfi.
| Lykill | Gerð | Lýsing |
|---|---|---|
$loyalty_points | tala | Núverandi staða innleysanlegra punkta. |
$vip_level | strengur | VIP stigskenni. |
$referral_count | tala | Heppnaðar tilvísanir sem rekja má til þessa notanda. |
Ábending
Sérðu ekki mynstrið þitt? Notaðu bera lykla fyrir sérsniðin traits. Þeir birtast í Custom Traits-svæði mælaborðsins án þess að rugla prófíldálkana. Pakkarnir fimm hér að ofan eru markviss ágiskun á algengustu B2B-formin — hugtök sem eru sértæk fyrir viðskiptavininn (t.d. shipping_plan) eru áfram án forskeytis.
Super-properties
Lykil-/gildispör fyrir hverja lotu sem eru sjálfkrafa hengd við hvert sent atvik. Ólíkt identify() traits, sem lýsa auðkenni, lýsa super-properties samhengi lotunnar — virk A/B-útgáfa, build flavor, feature flags sem notandi hefur valið, affiliate ref. Vistað í localStorage milli endurhleðslna; hreinsast með reset(). Ef lyklar skarast hafa properties á track() alltaf forgang.
Kixo.setSuperProperty('build_flavor', 'beta');
Kixo.setSuperProperties({ ab_variant: 'B', referrer_campaign: 'autumn-launch' });
// Sugar for A/B tracking — keys as 'experiment_<id>' so backend
// can run direct WHERE filters on experiment analysis.
Kixo.setExperimentVariant('checkout_v2', 'variant_a');
Kixo.unsetSuperProperty('build_flavor');
Kixo.clearSuperProperties();Hitakort
Hitakortsupptaka er sjálfgefið virk — smellir og skrundýpt, hvort tveggja með 100 % sýnatöku. Músarhreyfing er valfrjáls (mikið gagnamagn; virkjaðu hana fyrir hverja síðu ef hún nýtist).
Kixo.init({
projectId: 'YOUR_PROJECT_ID',
apiKey: 'YOUR_API_KEY',
heatmap: { moves: true }, // turn on full-resolution mouse-move
});Lotuendursýning
Session replay skráir rrweb DOM snapshot og mutation stream svo mælaborðið geti endurgert síðuna sem lotu sem má skrúbba í, samhliða atvikaslóðinni. Þetta er endurgerð á DOM, ekki skjáupptaka sem myndband. Replay er slökkt sjálfgefið. Virkjaðu það fyrir verkefnið undir Stjórnborð → Stillingar → Lotuendursýning; engar breytingar á forritskóða eru nauðsynlegar. Þegar kveikt er á því er recorder sóttur úr sérstöku chunki með samsvarandi útgáfu.
Athugið
Mælaborðið er sannleiksgjafinn. Stilltu Enable replay, Mask inputs, hámarkslengd og ítarlegri capture controls þar. captureOnCellular er vistað í sömu verkefnastefnu fyrir iOS og Android; vafrar gefa ekki áreiðanlegt merki um Wi‑Fi á móti farsímaneti, svo Web SDK tilkynnir það og hunsar þá takmörkun sem aðeins á við native.
Hvað er falið
Replay er hannað þannig að óhætt sé að kveikja á því. Þrjú verndarlög verja viðkvæmt efni, og þau eru öll virk sjálfgefið:
- Maskun inntaksreita er stýrt á verkefnastigi — meðan stillingin Fela inntaksreiti í Dashboard er virk (sjálfgefið) er slegnum stöfum skipt út fyrir stjörnur áður en þeir fara úr vafranum. Slökktu aðeins á þessu fyrir afmarkaða notkun með litla viðkvæmni; auðkenningar-, innskráningar- og greiðslureitir eru áfram huldir.
data-kixo-mask-attribute felur stak og allt undirtré þess. Settu það á hvaða ílát sem er sem gæti innihaldið persónulegt eða trúnaðarefni; endurspilun sýnir staðgengil, ekki texta eða DOM-innihald úr því undirtré.html<div data-kixo-mask> <!-- payment fields, account numbers, private messages… --> <!-- captured as a blank placeholder, never as pixels --> </div>- Viðkvæmir reitir eru alltaf faldir — inntaksreitir sem líta út fyrir að vera lykilorð, kortanúmer, CVV, SSN, secret eða token (eftir type, name, id eða autocomplete) eru huldir jafnvel þegar stillingin Fela inntaksreiti í verkefninu er óvirk. Sýnilegur texti og þáttaraðaðir DOM-eiginleikar fara líka í gegnum PII-hreinsun Kixo áður en gögnum er hlaðið upp.
Gagnasöfnun
SDK skráir þá rekjara sem eru virkir í innleiðingunni þinni og verkefnastillingum, ásamt þeim atvikum og eiginleikum sem forritið sendir.
Hvert upptökur fara
SDK pakkar rrweb-atvikum með gzip í afmörkuð brot, biður Kixo um signaða upload URL sem gildir fyrir verkefnið og hleður síðan brotunum beint í replay-geymslu. Opnaðu endurgerðu lotuna undir Endurspilun → Lotur; hún tengist greiningarslóð sömu lotu.
Athugið
Replay ræðst af áskriftarleiðinni þinni. Hversu margar lotur eru teknar upp og geymdar fer eftir áskrift verkefnisins; á lægri leiðum skráir Kixo samt létt session lýsigögn svo lotan birtist í listum og greiningu.
Eiginleikafánar
Athugaðu flag-gildi í keyrslu með Kixo.getFeatureFlag().
const variant = Kixo.getFeatureFlag('new_checkout');
if (variant === 'enabled') {
showNewCheckout();
} else {
showLegacyCheckout();
}Afhending og hegðun án nettengingar
SDK raðar atvikum í staðbundna biðröð, sendir þau í bunkum og reynir aftur við tímabundnar villur með backoff. Ef söfnun er sett á hlé í verkefnastillingum eru ný atvik ekki send fyrr en kveikt er aftur á söfnun.
Greining
Heilsuyfirlit sem aðeins er til lestrar — gagnlegt við villuleit í developer tools þegar spurt er „af hverju skila atvikin sér ekki?“
const diag = Kixo.diagnostics();
console.log(diag);