Śledzenie Klientów

This post is also available in: Czeski Angielski

Jeśli chodzi o automatyzację marketingu, to śledzenie klientów (customer tracking) jest kluczową częścią tego, co dzieje się pod maską narzędzia. Samba zbiera i przetwarza dane od śledzenia oglądanych produktów, po zachowania użytkowników na stronie i analizie ich zachowań zakupowych. Dane te napędzają to, co na ich podstawie może zrobić silnik Samby. A jak Samba to robi? To wszystko jest możliwe dzięki skryptowi śledzącemu zwanym SmartPoint, zintegrowanemu z Twoim sklepem internetowym.

SmartPoint

Integracja SmartPoint zapewnia Ci możliwość oceny anonimowych danych dotyczących zachowań osób odwiedzających Twój sklep internetowy. Obejmuje to:

  • Oglądane produkty
  • Informacje i szczegóły logowania
  • Proces finalizacji zamówienia (Checkout process)
  • Interakcje w koszyku
  • i wiele więcej

Czym więc właściwie jest SmartPoint?

  • To prosty skrypt śledzący
  • Dostarcza informacje o klientach oraz użytkownikach odwiedzających
  • Łączy dane z wielu urządzeń, na podstawie zapisanego pliku cookie

Funkcje Smartpoint

customerLoggedIn()

  • Dostarcza informacji o ID klienta
  • Umożliwia połączenie klienta z jego historią zakupów

order()

  • Dostarcza informację o zamówieniach klienta i ujętych w nich produktach
  • Wysyła sygnał do Samby natychmiast po zakończeniu zamówienia

cartInteraction()

  • Dostarcza informacji o zawartości koszyka
  • Umożliwia aktywację triggera “Porzucony koszyk”

productId() (Optional)

  • Użyj tego w przypadku, gdy adresy URL produktów w Twoim feedzie nie są zgodne z aktywnymi adresami URL na Twojej stronie internetowej
Najczęstsze błędy

Zapoznaj się z najczęstszymi problemami, które możesz napotkać podczas integracji Twojego sklepu z Sambą. Tutaj znajdziesz link do artykułu

Integracja SmartPoint

Masz dwie ogólne opcje integracji SmartPointa:

  • Bezpośrednia integracja poprzez dodanie kodu śledzącego w Twoim sklepie (np. w sekcji head)
  • Google Tag Manager (GTM) – służy do zarządzania kodami śledzącymi i skryptami reklamowymi
Blokowanie trackerów

Kontenery Google Tag Manager są obecnie blokowane przez np. rozszerzenie “Ublock” w Firefoxie, a także przez opcję “Block trackers” w Operze. Dlatego też zalecamy wdrażanie naszych skryptów bezpośrednio na stronie sklepu, bez użycia GTM.

Bezpośrednia integracja

Jeśli chcesz dodać SmartPoint poprzez bezpośrednią integrację, najpierw przejdź do swojego panelu Samba i przejdź do Ustawień (przycisk Ustawienia Konta w prawym górnym rogu), a następnie w zakładkę Ustawienia Integracji.

Kliknij na opcję “SmartPoint”, po czym zobaczysz skrypt śledzący (zobacz przykład poniżej), który powinieneś dodać na każdej stronie swojej witryny. Najlepszym sposobem będzie wklejenie wspomnianego skryptu do sekcji head w kodzie Twojego sklepu.

 

Standardowa forma skryptu wygląda następująco:

<script async src="https://yottlyscript.com/script.js?tp=*YOUR-ID*"></script>

gdzie *YOUR-ID* jest Twoim unikalnym identyfikatorem Track Point ID.

Walidacja bezpośredniej integracji

Otwórz konsolę, przejdź do Network – XHR i wyszukaj obiekt save-action.

Jeśli prawidłowo zintegrowałeś SmartPoint, to obiekt diffAnalytics powinien być dostępny. Wpisz diffAnalytics do konsoli i naciśnij enter.

Integracja asynchroniczna

Jeśli potrzebujesz zintegrować SmartPoint w sposób asynchroniczny (na przykład w GTM), zalecamy zintegrowanie wszystkich innych skryptów poprzez kolejkę onload.

var _yottlyOnload = _yottlyOnload || []
_yottlyOnload.push(function () {
    console.log("samba is ready") 
 }
)

Istotnym jest, aby używać tylko metody push (żadnego innego sposobu manipulacji tablicą), ponieważ po inicjalizacji skryptu, zmienna _yottlyOnload zostanie zamieniona na obiekt z własną metodą push , która natychmiast wywołuje funkcję callback.

Metody Javascript

diffAnalytics.customerLoggedIn(customerId)

  • customerId (string) – ID klienta, który jest taki sam, jak identyfikator w feedzie klientów (customer feed).
  • Wywołaj tę funkcję za każdym razem, gdy klient jest zalogowany (przy każdym załadowaniu strony, nie tylko przy pierwszym logowaniu).
  • Jeżeli klient nie jest zalogowany, nie wywołuj tej metody w ogóle. Szczególnie nie wywołuj metody z pustym stringiem lub wartością domyślną (np. “undefined”), co doprowadziłoby do błędnej oceny danych klienta.
  • Samba automatycznie przetworzy z powrotem te identyfikatory, które w chwili wywołania metody nie są dostępne w bazie danych klientów, lecz pojawią się tam później. Jest to przydatne na przykład do wykorzystania metody customerLoggedIn bezpośrednio po wytworzeniu zamówienia z rejestracją klienta.

Przykład wywoływania customerLoggedIn

Klient o ID “1234” jest zalogowany.

diffAnalytics.customerLoggedIn("1234")

Walidacja integracji customerID

Otwórz konsolę i przejdź do Network. Jeden z requestów save-action powinien zawierać customerId w „attachment“ po każdym załadowaniu strony wykonanym przez zalogowanego klienta.

Zwróć uwagę na pisownię – customerId musi być w tym samym formacie, co CUSTOMER_ID w feedzie klientów (customers feed).

diffAnalytics.order(orderInfo)

  • orderInfo = { content: orderItems }
  • orderItemszestawienie zakupionych produktów w formacie: { productId: "product-id-1", price: 20 }
  • productIdmusi być identyfikatorem produktu z Twojego feeda produktowego (product feed).
  • priceaktualna cena towaru, czyli suma wszystkich sztuk o tym samym ID (z uwzględnieniem podatku). Przykładowo, jedna sztuka “product-id-1” kosztuje 1 dolara, a klient kupił dwie sztuki tego produktu, więc price będzie wynosić 2 dolary.

Ten skrypt pomaga Sambie analizować wydajność personalizacji personalizacji strony. Dlatego ważnym jest, aby wywołać tę metodę w momencie składania zamówienia (na stronie podziękowania thank-you-page).

Liczba “kliknięć” jest mierzona automatycznie, jeśli adres URL produktu zawiera yottly_online.

Przykład wywołania zamówienia

Klient kupił jeden szampon za 3 dolary oraz dwie sztuki tego samego mydła za 1,5 dolara:

var order_content = [
   { productId: "shampoo-1", price: 2 },
   { productId: "soap-1", price: 3 }
   ] 
diffAnalytics.order({ content: order_content })

Walidacja integracji zamówienia

Otwórz konsolę i przejdź do Network. Gdy tylko klient zakończy swoje zamówienie (i załaduje mu się strona z podziękowaniem), jedno z żądań save-action w attachment, powinno zawierać orderSubmitted.

Zwróć uwagę na pisownię – productId musi być w tym samym formacie, co product_ID w feedzie produktowym.

 

diffAnalytics.cartInteraction(cartContent)

  • cartContent { content: cartItems , onOrderPage:boolean}
  • cartItems – macierz produktów w koszyku w formacie: { productId: "product-id-1", amount: 2 }
  • productIdmusi być identyfikatorem produktu z Twojego feeda produktowego
  • amount – liczba sztuk produktów w koszyku
  • onOrderPage – opcjonalny identyfikator true/false, jeżeli klient jest aktualnie w trakcie realizacji zamówienia. Jeśli nie jest wypełniony, przyjmowana jest wartość false.

Ten skrypt pomaga Sambie analizować interakcję klienta z koszykiem i jest niezbędny dla triggera porzuconego koszyka. Dlatego zalecamy wywoływanie tej metody z każdym załadowaniem strony (czyli na każdej podstronie sklepu). Pole content zawiera wszystkie produkty, które znajdują się w koszyku.

Ten skrypt pomaga Sambie analizować interakcję klienta z koszykiem i jest niezbędny do wyzwalania porzuconego koszyka. Dlatego zalecamy wywoływanie tej metody przy każdym ładowaniu strony (czyli na każdej podstronie). Tabela contact zawiera wszystkie produkty znajdujące się w koszyku.

Na stronie, na której klient kończy zamówienie, wywołaj metodę z parametrem onOrderPage=true. Ten identyfikator pomaga nam rozpoznać podstrony, na których kończy się zamówienie i potencjalne przekierowanie do bramki płatności itp.

Gdy klient sfinalizuje zamówienie (na podstronie z podziękowaniem thank-you-page), wywołaj metodę z pustą treścią: content=[] (wraz z metodą zamówienia).

Przykład wywołania cartInteraction

Przykład 1

Klient ma w koszyku jeden szampon oraz dwie sztuki tego samego mydła i właśnie dotarł do drugiego etapu składania zamówienia.

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

Przykład 2

Klient właśnie zakończył składanie zamówienia:

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

Walidacja integracji cartInteraction 

Otwórz konsolę i przejdź do Network. Po załadowaniu strony jedno z żądań save-action powinno zawierać w załączniku cartInteraction.

Przykład 1

Klient załadował drugi krok zamówienia:

Przykład 2

Strona z podziękowaniem (thank-you-page) właśnie się załadowała, a klient zakończył zamówienie.

Zwróć uwagę na pisownię – customerID musi być w tym samym formacie, co CUSTOMER_ID w kanale klientów.

diffAnalytics.productId(productID) [opcjonalnie]

  • productID – string
  • Jest to identyfikator produktu zgodny z feedem produktowym Samba. Identyfikator pomaga Sambie sparować adres URL nieznanych produktów.
  • Wywołaj tę metodę za każdym razem, gdy klient odwiedza szczegół produktu.

Jeśli adresy URL produktów w Twoim pliku danych nie są zgodne z aktywnymi adresami URL w Twojej witrynie, to śledzenie produktów należy zaimplementować, wywołując metodę productId(productID) podstawowego obiektu diffAnalytics, gdy użytkownik odwiedza szczegóły produktu z productID jako identyfikatorem. Nie ma potrzeby wywoływania tej funkcji, jeśli masz poprawnie zaimplementowany SmartPoint, a Samba jest w stanie rozpoznać wszystkie produkty po ich adresach URL.

Pełny przykład:

Klient odwiedził produkt ID “a1234”.

diffAnalytics.productId("a1234")

Walidacja implementacji

Przejdź do konsoli przeglądarki i wybierz Network. Gdy klient odwiedza szczegóły produktu, to jedno z żądań save-action powinno mieć załączone productID. Zwróć uwagę na poprawną pisownię.

This post is also available in: Czeski Angielski

Zaktualizowano na 12 września, 2022

Czy ten artykuł był pomocny?

Artykuły powiązane