Tracking zákazníků

This post is also available in: Angličtina Polský

Jednou z unikátních vlastností Samby je, že propojuje různá zařízení stejného návštěvníka. Díky tomu Samba řídí personalizaci přes různá zařízení, což zvyšuje její výkon.

Proto Samba potřebuje do stránek vašeho e-shopu implementovat svůj měřící kód – SmartPoint. Tento kód Sambě umožňuje vyhodnotit anonymní informace o aktivitách návštěvníků na e-shopu:

  • prohlížení detailu produktu
  • přihlášení zákazníka do svého zákaznického účtu
  • dokončení objednávky
  • interakce s košíkem (vložení / odebrání zboží z košíku)

Díky těmto kódům Samba prováže aktivity jednoho zákazníka na více zařízeních (počítač v práci, počítač doma, tablet, ..) a tím optimalizuje komunikaci vůči zákazníkovi.

Pro e-shopy vytvořené některou z podporovaných platforem, využijte tento návod pro e-shop platformy.

Základní popis SmartPointu

  • SmartPoint

    • základní měřící skript
    • poskytuje informaci o návštěvníkovi
    • pomocí uložené cookie umožňuje svazování aktivit zákazníka na různých zařízeních
  • customerLoggedIn()

    • funkce měřícího skriptu – SmartPointu
    • informace o zákaznickém ID
    • umožňuje Sambě provázat aktivitu návštěvníka na webu s nákupní historií konkrétního zákazníka.
    • pokud není tato metoda správně implementovaná nebo ji nelze implementovat, stále ještě dochází k provazování návštěvník-zákazník díky proklikům zákazníka skrze e-mail ze Samby.
  • order()

    • funkce měřícího skriptu – SmartPointu
    • informace o provedení objednávky a jejím obsahu
    • dává Sambě okamžitou odezvu o provedené objednávce a tím pomáhá měřit a optimalizovat výkon webové personalizace
  • cartInteraction()

    • funkce měřícího skriptu – SmartPointu
    • informace o obsahu nákupního košíku
    • umožňuje aktivovat trigger Opuštěný košík
  • productId() (VOLITELNÉ)

    • Pokud nejsou produktová URL v datovém feedu konzistentní s URL na Vašem webu, je třeba tuto funkci zavolat. Tuto funkci není nutné nasazovat, pokud máte správně implementovaný SmartPoint.
    • Tato funkce pomáhá Sambě spárovat neznámá URL produktů.
    • Zavolejte tuto metodu, kdykoliv zákazník navštíví detail produktu
Nejčastější chyby při nastavování trackingu

Podívejte se jaké nejčastější chyby mohou vzniknout při integraci vašeho eshopu do Samby. Článek naleznete zde.

Nasazení měřících kódů

Možnosti, jak kódy nasadit:

  • Přímé nasazení do šablony stránek – například do hlavičky
  • Google Tag Manager (GTM) – slouží ke snadné správě všech měřících kódů a reklamních skriptů na webových stránkách (Příručka „Jak na GTM“ ZDE) (zdroj: H1.cz)
Blokování trackerů

Kontejnery Google Tag Manageru jsou aktuálně blokovány např. rozšířením Ublock pro Firefox a také volbou „Block trackers“ v prohlížeči Opera. Doporučujeme proto raději nasadit naše skripty přímo bez využití GTM.

Přímé nasazení

V Sambě v sekci Nastavení – Integrace naleznete skript, který je třeba umístit na každou stránku vašeho e-shopu. Zkopírujte přesně jeho tvar z vašeho účtu v Sambě.

Kontrola nasazení

Funkčnost všech skriptů Samby můžete zkontrolovat v konzoli vašeho webového prohlížeče. Samba skripty naleznete v Network > XHR > filtr podle názvu save-action nebo yottly.

Pokud je Smart point korektně implementován, měl by být dostupný diffAnalyticsobjekt. Zkuste napsat diffAnalytics do konzole a potvrďte Enter.


Asynchronní nasazení

Pokud potřebujete nasadit Smart point asynchronně (například v Google Tag Manager), doporučujeme všechny ostatní skripty a webovou personalizaci napojit pomocí tzv. onload fronty. Tento způsob napojení zajistí, že načítání dalších skriptů nebude zpomalovat načítání vašich stránek v případě, že Smart point nebyl dosud inicializován.

var _yottlyOnload = _yottlyOnload || []
_yottlyOnload.push(function () { 
   console.log("samba je připravena") 
})

Je třeba použít výhradně metodu push (a ne žádné další způsoby pro manipulaci s poli), protože po inicializaci skriptu bude proměnná _yottlyOnload nahrazena objektem s vlastní push metodou, která zavolá okamžitě callback funkci.

Javascript metody

diffAnalytics.customerLoggedIn(customerId)

  • customerId (string) – zákaznické ID, které je kompatibilní s ID v zákaznickém feedu.
  • pro správnou funkčnost volejte tuto metodu kdykoli je zákazník přihlášen (tj. při každém načtení stránky, nejen při prvním přihlášení)
  • pokud zákazník přihlášený není, tak metodu vůbec nevolejte. Zejména se vyvarujte volání metody s prázdným řetězcem nebo defaultní hodnotou např. „undefined“ – vedlo by to k chybnému zpracování dat vašich zákazníků.
  • Samba zpracuje automaticky zpětně i ta ID, která ve chvíli zavolání nejsou dostupná v zákaznické databázi, ale později se tam objeví. To je užitečné např. pro okamžité použití metody customerLoggedIn po vytvoření objednávky s registrací.

Příklad volání customerLoggedIn

Zákazník s ID „1234“ je přihlášený.

diffAnalytics.customerLoggedIn("1234")

Kontrola nasazení customerID

V konzoli prohlížeče vyberte Network. Jeden z requestů save-action by měl obsahovat customerId v „attachment“ po každém načtení stránky přihlášeného zákazníka.

Věnujte prosím pozornost správnému pravopisu – customerId musí být ve stejném formátu jako CUSTOMER_ID v zákaznickém feedu.

diffAnalytics.order(orderInfo)

  • orderInfo = { content: orderItems }
  • orderItems – pole zakoupených produktů ve formátu: { productId: "product-id-1", price: 20 }
  • productIdmusí být ID produktu z vašeho produktového feedu
  • price – aktuální cena produktu nebo součet cen všech položek stejného ID (včetně DPH). Například pokud jeden „product-id-1“ stojí 10 Kč a zákazník nakoupil 2 kusy, tak price bude 20.

Tento skript pomáhá Sambě analyzovat výkon webové personalizace z hlediska obratu. Proto je nutné tuto metodu volat při dokončení objednávky (na tzv. thank-you-page).

Počet prokliků je měřen automaticky, pokud URL adresa produktu po prokliknutí obsahuje yottly_online.

Příklad volání order

Zákazník si zakoupil jeden šampón za 80 Kč a dva kusy stejného mýdla za 50 Kč za kus:

var order_content = [
   { productId: "sampon-1", price: 80 },
   { productId: "mydlo-1", price: 100 }
] 
diffAnalytics.order({ content: order_content })

Kontrola nasazení order

V konzoli prohlížeče vyberte Network. Jakmile zákazník provede objednávku (je zobrazena thank-you-page), tak by jeden z requestů save-action měl obsahovat orderSubmittedv attachment.

Věnujte prosím pozornost správnému pravopisu – productId musí být ve stejném formátu jako PRODUCT_ID v produktovém feedu.

diffAnalytics.cartInteraction(cartContent)

  • cartContent{ content: cartItems }
  • cartItems – pole produktů v košíku ve formátu: { productId: "product-id-1", amount: 2 }
  • productIdmusí být ID produktu z vašeho produktového feedu
  • amount – počet kusů daného produktu v košíku

Tento skript pomáhá Sambě analyzovat interakci zákazníka s nákupním košíkem a je proto nezbytný pro trigger Opuštěný košík. Proto je doporučené tuto metodu volat při každém načtení stránky (tedy na každé webové stránce eshopu, nejen na detailu nákupního košíku!). Pole content obsahuje všechny aktuálně obsažené produkty v nákupním košíku zákazníka.

Když zákazník dokončí objednávku (na tzv. thank-you-page, společně s metodou order), volejte metodu s prázdným obsahem, tj. content=[].

Příklad volání cartInteraction

Příklad 1
Zákazník má v košíku jeden šampón a dva kusy stejného mýdla a nakupuje dál.

var cart_content = [
    { productId: "sampon-1", amount: 1 },
   { productId: "mydlo-1", amount: 2 }
    ] 
diffAnalytics.cartInteraction({ content: cart_content })

Příklad 2
Zákazník právě dokončil objednávku:

var cart_content = []
diffAnalytics.cartInteraction({ content: cart_content})

Kontrola nasazení cartInteraction

V konzoli prohlížeče (F12) vyberte Network. Po načtení stránky by jeden z requestů save-action měl obsahovat cartInteractionv attachment.

Příklad 1
Zákazníkovi je na detailu produktu a v košíku má jeden šampón a dva kusy stejného mýdla.

Příklad 2
Právě se zákazníkovi načetla thank-you-page.

Věnujte prosím pozornost správnému pravopisu – productId musí být ve stejném formátu jako PRODUCT_ID v produktovém feedu.

Parametr onOrderPage

  • cartContent – { content: cartItems , onOrderPage:boolean}
  • onOrderPage – nepovinný true/false identifikátor, jestli se aktuálně zákazník nachází v procesu těsně před dokončením objednávky. Pokud není vyplněný, předpokládá se hodnota false

V závislosti na systému vašeho e-shopu (např. vlivem nesprávné implementace platební brány) se může stát, že po zaplacení objednávky nedojde správně k přesměrování zákazníka na tzv. thank-you-page. V takovém případě by se Samba nedozvěděla, že nákupní košík zákazníka je již prázdný. Pokud pozorujete takové potíže, můžete na stránkách, kde zákazník již dokončuje objednávku (např. mujeshop.cz/dokonceni-objednavky) a závazně ji potvrzuje, volat metodu cartInteraction navíc s parametrem onOrderPage=true.

Tento identifikátor nám umožní rozlišit stránky, na kterých dochází k finálnímu dokončení objednávky a potenciálnímu přesměrování zákazníka na platební bránu apod., z níž by se nemusel vrátit zpět k vám na web. Taková volání pak Samba automaticky považuje de facto za vyprázdnění obsahu košíku a tudíž se trigger Opuštěný košík neodešle

Použití parametru onOrderPage

Na běžných stránkách jako je detail produktu nebo první kroky košíku v žádném případě tento parametr s hodnotu „true“ nepoužívejte! Ve většině případů totiž není třeba tento parametr vůbec používat. Můžete tím způsobit nefunkčnost triggeru Opuštěný košík. V případě nejasností se neváhejte obrátit na naší podporu.

Příklad
Zákazník má v košíku jeden šampón a dva kusy stejného mýdla, právě se dostal na stránku těsně před dokončením objednávky a vzhledem k nespolehlivé integraci platební brány používáte parametr onOrderPage.

var cart_content = [
    { productId: "sampon-1", amount: 1 },
   { productId: "mydlo-1", amount: 2 }
    ] 
var onOrderPage_value = true
diffAnalytics.cartInteraction({ content: cart_content, onOrderPage: onOrderPage_value })

diffAnalytics.productId(productID) [Volitelné]

  • productID – string
  • Jedná se o ID produktu, které je kompatibilní s produktovým feedem Samby. ID pomáhá Sambě spárovat URL neznámých produktů.
  • Tuto metodu zavolejte vždy, když zákazník navštíví detail produktu.

V případě, že adresy URL produktů ve vašem feedu nejsou v souladu s aktivními adresami URL na vašich webových stránkách, je třeba sledování produktů implementovat voláním metody productId(productID). Tuto funkci není nutné volat, pokud máte správně implementován SmartPoint a Samba je schopna rozpoznat všechny produkty dle URL.

Příklad volání productId

Zákazník navštívil produkt s ID „a1234“:

diffAnalytics.productId("a1234")

Kontrola nasazení productId

V konzoli prohlížeče vyberte Network. Jakmile zákazník provede objednávku (je zobrazena thank-you-page), tak by jeden z requestů save-action měl obsahovat productId v attachment.

Věnujte prosím pozornost správnému pravopisu – productId musí být ve stejném formátu jako PRODUCT_ID v produktovém feedu.

This post is also available in: Angličtina Polský

Upraveno 15 března, 2024

Byl pro vás tento článek užitečný?

Mohlo by vás zajímat