Wdrożenie Ecommerce przez GTM

Na wstępie chciałabym wprowadzić rozróżnienie – w Google Analytics mamy dwa rodzaje ecommerce. Zwykły ecommerce i rozszerzony ecommerce (enhanced ecommerce). Oba pokażą nam dane o sprzedaży, jednak, jak sama nazwa wskazuje, enhanced ecommerce pokaże więcej.

Jego wdrożenie jest też nieco bardziej zaawansowane. Poniższy wpis poświęcę wersji podstawowej. Jeśli interesuje Cię wdrożenie Enhanced Ecommerce przez GTM, to na ten temat wkrótce powstanie osobny wpis.

Jak wdrożyć ecommerce przez GTM?

Dane, jakie chcemy przekazać do Google Analytics to dane o transakcjach. W GTM potrzebujemy zatem tagu, który te dane przekaże, oraz reguły, która ma wyzwalać ten tag. Tag, aby przesyłał informacje o transakcji do GA, potrzebuje ich w datalayer, czyli w warstwie danych. Przygotować należy trzy elementy:

  1. datalayer z danymi transakcji
  2. reguła wyzwalająca tag
  3. tag przesyłający dane do Google Analytics

W artykule w supporcie Google, który opisuje wdrożenie ecommerce przez Google Tag Manager, pokazany jest przykład warstwy danych, jednak brakuje według mnie jednego istotnego elementu – zdarzenia niestandardowego, które będzie wykorzystane w regule odpalającej tag. Mamy tam co prawda lakoniczne stwierdzenie „Określ, kiedy tag ma być uruchamiany”, jednak nie jest to pokazane w przykładzie. Dlatego zaproponuję jak zrobić to prościej i razem z danymi o transakcji, przesyłanymi do datalayer, przesyłać również zdarzenie niestandardowe informujące GTM, że transakcja miała miejsce. Dzięki takiemu zdarzeniu dane o transakcji będziemy mogli wykorzystać również w tagach konwersji Google Ads czy Facebook Ads.

Wróćmy zatem do początku. Przygotować należy trzy elementy, ale pierwszy, oprócz danych transakcji, będzie zawierał też zdarzenie niestandardowe informujące, że transakcja miała miejsce:

  1. datalayer z danymi transakcji i zdarzeniem niestandardowym
  2. reguła wyzwalająca tag (zdarzenie niestandardowe)
  3. tag przesyłający dane do Google Analytics

Datalayer z danymi transakcji

W jaki sposób warstwa danych ma być przygotowana i jakie dane ma zawierać? Wymagane informacje pokazane są w artykule z supportu Google. Podany tam przykład uzupełnię o linijkę kodu ze zdarzeniem niestandardowym.

<script>
window.dataLayer = window.dataLayer || []
dataLayer.push({
   'event': 'transactionCompleted', 
   'transactionId': '1234',
   'transactionAffiliation': 'Ubrania Acme',
   'transactionTotal': 38.26,
   'transactionTax': 1.29,
   'transactionShipping': 5,
   'transactionProducts': [{
       'sku': 'DD44',
       'name': 'Koszulka',
       'category': 'Odzież',
       'price': 11.99,
       'quantity': 1
   },{
       'sku': 'AA1243544',
       'name': 'Skarpetki',
       'category': 'Odzież',
       'price': 9.99,
       'quantity': 2
   }]
});
</script>

Co mamy powyżej? Skrypt JavaScript, który przekazuje do GTM informacje za pośrednictwem DataLayer. Ważne jest tutaj nazewnictwo, którego nie wolno zmieniać. GTM po „znalezieniu” danych o takich nazwach wie, że ma je przekazać jako transakcję do tagu, którzy z kolei przekaże je to Google Analytics. Nie będzie tutaj potrzeby tworzenia dodatkowych zmiennych.

Dodatkowo, na samej górze, mamy zdarzenie niestandardowe o nazwie „transactionCompleted”, na podstawie którego zrobimy regułę (trigger).

Jakie dane są przekazane do Analytics?

  • transactionId, identyfikator transakcji, wymagany,
  • transactionAffiliation, dana nieobowiązkowa z nazwą partnera lub sklepu,
  • transactionTotal, całkowita wartość zamówienia, obowiązkowa,
  • transactionTax, podatek, nieobowiązkowy,
  • transactionShipping, koszt dostawy, niewymagany,
  • transactionProducts, produkty zakupione przez użytkownika.

Dane o produktach zawierają:

  • sku, kod sku produktu, czyli jego identyfikator, wymagany,
  • name, czyli nazwa produktu, wymagana,
  • category, kategoria produktu, niewymagana,
  • price, cena za sztukę, wymagana,
  • quantity, czyli liczba sztuk produktu, wymagana.

Produkty w powyższym kodzie podane są w tablicy.

Reguła wyzwalająca tag

W kodzie powyżej znajduje się linijka ’event’: 'transactionCompleted’, która do Google Tag Manager przesyła informację, że miało miejsce zdarzenie o takiej nazwie. Na podstawie tego zdarzenia będzie wyzwalany tag z transakcją. Aby utworzyć regułę w menu po lewej stronie klikamy w kategorię Reguły a następnie w przycisk „Nowe”. Wybieramy typ reguły „Zdarzenie niestandardowe”, nazywamy regułę (u mnie dlv – transactionCompleted) i wpisujemy nazwę zdarzenia:

Tag przesyłający dane transakcji do Google Analytics

Ostatni krok to utworzenie tagu i podpięcie do niego reguły utworzonej w poprzednim kroku. Aby utworzyć tag w menu po lewej stronie klikamy „Tagi”, następnie klikamy przycisk „Nowy” i wybieramy typ tagu „Google Analytics – Universal Analytics”. Zakładam, że nie masz usługi typu „Aplikacje + internet”. To rozwiązanie dotyczy podmiotów posiadających aplikację mobilną oraz stronę www.

Po wybraniu typu tagu nadajemy mu nazwę i wybieramy Typ śledzenia. Ważne – wybieramy typ „Transakcja”. Do tagu nie dodajemy „ręcznie” danych o transakcji, zostaną one dodane automatycznie, gdy transakcja będzie miała miejsce, tj. gdy zostanie odpalony kod z datalayer i zdarzeniem opisanym wyżej. Po wybraniu typu tagu wybieramy zmienną z ustawieniami Google Analytics (zmienną zawierającą ID Analytics do którego przesyłana będzie transakcja). Jak utworzyć tą zmienną dowiesz się w poście „Wdrożenie Google Analytics„.

W ostatnim kroku wybieramy regułę, którą utworzyliśmy wcześniej: dle – transactionCompleted.

Całość wygląda tak:

Tag zapisujemy, a kontener publikujemy. Wdrożenie koniecznie trzeba przetestować.