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.
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
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)
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.
Standardní tvar tohoto skriptu je:
<!-- Samba.ai pixel -->
<script async src="https://yottlyscript.com/script.js?tp=*VAS-IDENTIFIKATOR*"></script>
<!-- End Samba.ai pixel -->
Kde *VAS-IDENTIFIKATOR*
nahradíte vaším identifikátorem.
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ý diffAnalytics
objekt. 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("yottly je připraveno") })
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ů.
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 }
- productId – musí 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 content = [ { productId: "sampon-1", price: 80 },
{ productId: "mydlo-1", price: 100 } ]
diffAnalytics.order({ content: 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 , onOrderPage:boolean}
- cartItems – pole produktů v košíku ve formátu:
{ productId: "product-id-1", amount: 2 }
- productId – musí být ID produktu z vašeho produktového feedu
- amount – počet kusů daného produktu v košíku
- onOrderPage – nepovinný true/false identifikátor, jestli se aktuálně zákazník nachází v procesu dokončování objednávky. Pokud není vyplněný, předpokládá se hodnota false.
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). Pole content obsahuje všechny aktuálně obsažené produkty v nákupním košíku zákazníka.
Na stránkách, kde zákazník dokončuje objednávku (např. mujeshop.cz/dokonceni-objednavky) volejte metodu 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. Díky tomu nedojde ke ztrátě volání o „vyprázdnění košíku“, viz dále.
Když zákazník dokončí objednávku (na tzv. thank-you-page), volejte metodu s prázdným obsahem, tj. content=[]
(společně s metodou order).
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, právě se dostal do 2. kroku dokončení objednávky:
var content = [ { productId: "sampon-1", amount: 1 },
{ productId: "mydlo-1", amount: 2 } ]
var onOrderPage = true diffAnalytics.cartInteraction({ content: content, onOrderPage: onOrderPage })
Příklad 2
Zákazník právě dokončil objednávku:
var content = [] diffAnalytics.cartInteraction({ content: 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 se načetl 4. krok košíku (těsně před dokončením objednávky):
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.
diffAnalytics.productId(productID) [Volitelné]
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: English (Angličtina)