Návod
Sledovací skript
Odesílejte události workspace a vlastní události ze svého webu sledovacím skriptem Emailitu a veřejným sledovacím klíčem. Nainstalujte ho, sledujte události, identifikujte návštěvníky a omezte klíč na své weby.
Sledovací skript odesílá události z vašeho webu: zobrazení produktů, registrace, položky přidané do košíku. Nepotřebuje žádné inicializační volání; sledovací klíč je součástí jeho URL. Tato stránka vysvětluje, jak vytvořit klíč, přidat skript, sledovat události a propojit je s návštěvníky.
Než začnete
- Sledovací skript je součástí tarifů Pro, Business a Custom. V tarifu Pay as you go nemůžete vytvářet sledovací klíče a požadavky skriptu vracejí
403, a to i s klíči vytvořenými před přechodem na tarif Pay as you go. - K vytváření sledovacích klíčů ve webovém rozhraní potřebujete ve workspace roli Admin. Přes API použijte klíč s oprávněním Full Access.
- Musíte mít možnost upravit HTML svého webu, nebo přidat vlastní HTML tag ve správci tagů.
Vytvořte sledovací klíč
Sledovací klíče jsou veřejné: vkládají se do vašich webových stránek, takže si je může přečíst kdokoli. Mohou jen odesílat události workspace a vlastní události, nikdy nečtou data a můžete je omezit na své weby.
-
Otevřete kartu Tracking. Otevřete Email APIEvents, vyberte kartu Tracking a pak Create tracking key.
-
Pojmenujte klíč. Do pole Name zadejte název, ze kterého je poznat, kde se klíč používá, například
Online shop. -
Omezte ho na své weby. Do pole Allowed origins zadejte své weby, každý na samostatný řádek, například
https://shop.example.comnebo*.example.com. Pokud pole necháte prázdné, klíč přijme jakýkoli web. Viz Povolené weby. -
Vytvořte ho. Vyberte Create. Karta Tracking teď zobrazuje kód s vyplněným klíčem.
Zavolejte Vytvoření sledovacího klíče. Hodnota key z odpovědi patří do URL skriptu.
curl -X POST https://api.emailit.com/v2/tracking-keys \
-H "Authorization: Bearer $EMAILIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Online shop", "allowed_origins": ["https://shop.example.com"] }'Přidejte skript
Vložte oba tagy do každé stránky, ideálně před </head>, a místo TRACKING_KEY dosaďte svůj klíč:
<script>window.emailit=window.emailit||function(){(window._emailitq=window._emailitq||[]).push(arguments)};</script>
<script async src="https://js.emailit.com/track/TRACKING_KEY/events.js"></script>První tag zařadí do fronty volání provedená před načtením skriptu, takže emailit(...) můžete volat hned. Skript se načítá asynchronně, nikdy do vaší stránky nevyhodí výjimku a funguje i ze správce tagů.
- Pokud je na stránce i skript formulářů Emailitu, ponechte oba. Sdílejí
window.emailit. - Pokud váš web používá Content Security Policy, povolte
https://js.emailit.comvscript-srcaconnect-src.
Sledujte události
// Custom event: any name after "c:", any properties
emailit("track", "c:product.viewed", { sku: "TS-42", price: 19.9 });
// Workspace event: checked against its definition
emailit("track", "w:customer.type", { segment: "b2b" });Typ musí začínat na c:, nebo w:; jiná volání skript ignoruje. Vlastnosti, které nejsou objekt, se odešlou jako {}. U událostí, které nastaly dřív, můžete předat třetí argument s occurred_at, tedy datem a časem ve formátu ISO 8601.
Skript sám zobrazení stránek nezaznamenává. Sledujte stránky a akce, na kterých vám záleží, například událostí c:page.viewed při každé změně trasy v jednostránkové aplikaci.
Příkazy pro obchody
Pro e-shopy má skript také příkazy product, cart, purchase a page. Zaznamenávají zobrazení produktů, košíky a objednávky pro E-commerce a posílají je do logu událostí jako systémové události product.viewed, cart.updated a order.placed. E-commerce je v alfaverzi a otevřené jen týmu Emailitu; jinde se tyto příkazy odmítnou. Viz Připojení obchodu.
Identifikujte návštěvníky
Jakmile víte, kdo návštěvník je, například když se přihlásí ke svému účtu nebo k odběru, sdělte to skriptu:
emailit("identify", { email: "jane@example.com" });
// or, if you store Emailit contact IDs:
emailit("identify", { contact_id: "con_2wPq7Lm3XcN8bV1zKd4RtY6sHf9" });Každá další událost pak nese tento e-mail nebo ID kontaktu, na této stránce i při dalších návštěvách, takže ji Emailit může propojit s kontaktem. Když se návštěvník ze svého účtu odhlásí, nechte skript na něj zapomenout:
emailit("reset");reset také vytvoří nové anonymní ID návštěvníka, takže se další člověk u sdíleného počítače nezamění s předchozím.
Události s e-mailem, který nemá žádný kontakt, se uchovají a zobrazí se u kontaktu, jakmile vznikne. Hodnota contact_id, která neodpovídá žádnému kontaktu, se z události bez chyby odstraní, takže veřejným klíčem nejde zjišťovat, která ID kontaktů existují.
Kdokoli s vaším sledovacím klíčem může zavolat identify s jakoukoli adresou, proto Emailit nedovolí, aby události ze skriptu řídily automatizace. Zaznamenají se, zobrazí se u kontaktu a dostanou je webhooky, ale spuštění automatizací nezahajují, neukončují ani neposouvají dál. Události, které to dělat mají, posílejte ze serveru přes API událostí. Každá událost ze skriptu, která uvádí kontakt, má identity_verified: hodnotu true má jen tehdy, když návštěvníka identifikoval podepsaný odkaz v jednom z vašich e-mailů, což je součást alfaverze E-commerce, a takové události automatizace řídí.
Co skript odesílá
Každá událost nese kromě vašeho typu a vlastností:
| Pole | Obsah |
|---|---|
anonymous_id |
Náhodné ID návštěvníka (anon_…), uložené v místním úložišti prohlížeče. |
email, contact_id |
Co jste předali do identify, pokud něco. |
context.page |
url, path, title a referrer stránky. |
context.campaign |
Parametry UTM stránky (utm_source, utm_medium, utm_campaign, utm_term, utm_content) jako source, medium, name, term a content. |
context.locale, context.timezone |
Jazyk a časové pásmo prohlížeče. |
Emailit přidává identity_verified k událostem, které uvádějí kontakt (viz Identifikujte návštěvníky), a ukládá user agent prohlížeče. IP adresy neukládá a skript nenastavuje žádné cookies. ID návštěvníka si skript drží v místním úložišti pod klíčem emailit:aid a identitu pod emailit:identity; pokud je místní úložiště zablokované, platí jen do opuštění stránky.
Události se chvíli sbírají a odešlou se společně, nejvýše 20 najednou. Když návštěvník stránku opustí, zbytek se odešle pomocí sendBeacon.
Pokud na svém webu potřebujete k analytice souhlas, načtěte skript až poté, co návštěvník souhlasí.
Povolené weby
Pole allowed_origins omezuje, které weby mohou s klíčem odesílat události. Každá položka je jedna z těchto možností:
| Položka | Odpovídá |
|---|---|
https://shop.example.com |
Přesně tento původ (origin): schéma, název hostitele a port. |
shop.example.com |
Tento název hostitele s jakýmkoli schématem a portem. |
*.example.com |
example.com a všechny subdomény. |
Prázdný seznam přijímá jakýkoli web. Emailit kontroluje hlavičku Origin, kterou prohlížeče posílají s každým požadavkem, takže jiné weby s vaším klíčem události odesílat nemohou. Skript mimo prohlížeč ale může nastavit libovolnou hlavičku, proto události z prohlížeče berte jako nedůvěryhodný vstup a objednávky a platby odesílejte z backendu.
Neplatné události
Na rozdíl od API uloží endpoint skriptu platné události z požadavku, i když jsou jiné neplatné. Neplatné události se zahodí, například událost w: s vlastností špatného typu nebo událost nového typu, jakmile workspace vyčerpá počet typů událostí svého tarifu. Důvod zjistíte pomocí ladění.
Ladění
Výpis do konzole prohlížeče zapnete kterýmkoli z těchto způsobů:
- Zavolejte
emailit("debug", true). - Přidejte do tagu skriptu
data-debug. - Otevřete stránku s
?emailit_debug=1v URL.
Konzole pak zobrazí každou událost a odpověď Emailitu včetně důvodů, proč byly události odmítnuty.
Řešení problémů
| Odpověď v konzoli | Příčina | Řešení |
|---|---|---|
403 Origin not allowed for this tracking key |
Web stránky není v poli Allowed origins. | Přidejte ho, například https://example.com i https://www.example.com, nebo použijte *.example.com. |
403 This tracking key is disabled |
Klíč je vypnutý. | Zapněte ho na kartě Tracking. |
403 Website tracking is included with Pro and Business. |
Workspace je v tarifu Pay as you go. | Přejděte na tarif Pro nebo Business. |
404 Unknown tracking key |
Klíč v URL skriptu byl smazán nebo špatně opsán. | Zkopírujte kód znovu z karty Tracking. |
422 se všemi událostmi v rejected |
Žádná z událostí nebyla platná. | Zkontrolujte důvody v rejected. |
429 |
Klíč odeslal za krátkou dobu příliš mnoho událostí. | Odesílejte méně událostí na návštěvníka, například žádnou událost při každém posunu stránky nebo pohybu myši. |
| Vůbec nic | Skript zastavil blokovač reklam nebo sledování, nebo na stránce není. | Vyzkoušejte to v prohlížeči bez blokovačů a zkontrolujte, že je kód na stránce. |