Śledzenie konwersji

Implementacja

Podsumowanie

Implementacja śledzenia konwersji składa się z 3 elementów:

  • Zbieranie tych danych: rwg_token i merchant_id z punktu wejścia na stronę docelową lub do aplikacji.
  • Zachowuj rwg_token i merchant_id dla odpowiedniego okna atrybucji.
  • Porównanie utrwalonych merchant_id i merchant_id w momencie konwersji (rezerwacja zakończona).
  • Wysyłanie zdarzenia konwersji w czasie konwersji (ukończona rezerwacja).

Implementacja śledzenia konwersji nie wymaga korzystania z Google Analytics ani żadnego innego kodu JavaScript firmy zewnętrznej.

Zanim rozpoczniesz pracę nad implementacją śledzenia konwersji, zdecyduj, czy chcesz śledzić konwersje na poziomie urządzenia czy użytkownika:

  • Na poziomie urządzenia można stosować pliki cookie przeglądarki, pamięć lokalną, pamięć lokalną aplikacji lub dowolną inną metodę, która pozwala zachować token przez 30 dni. Token będzie przechowywany lokalnie na urządzeniu użytkownika. Jeśli użytkownik zmieni używane urządzenie, wyczyści pamięć lokalną lub pliki cookie albo będzie korzystać z przeglądania prywatnego lub trybu incognito, zdarzenie konwersji może nie zostać prawidłowo przypisane. Jeśli używasz śledzenia konwersji na poziomie urządzenia, musisz wdrożyć je ponownie we wszystkich obsługiwanych platformach (w tym mobilnych).
  • Poziom użytkownika obejmuje przechowywanie go w bazie danych aplikacji za pomocą systemu analitycznego po stronie serwera lub innych systemów po stronie serwera. Token będzie przechowywany po stronie serwera. Jeśli użytkownik zmieni używane urządzenie, wyczyści pamięć lokalną lub pliki cookie albo korzysta z przeglądania prywatnego lub w trybie incognito, zdarzenie konwersji zostanie przypisane po ponownym zalogowaniu. Gdy korzystasz ze śledzenia konwersji na poziomie użytkownika, w zależności od architektury Twojego systemu możesz spróbować wdrożyć to rozwiązanie raz po stronie serwera i ponownie używać go na wszystkich obsługiwanych platformach.

Zbieram: rwg_token

Za każdym razem, gdy Google wyświetla link action_link podany przez Ciebie w plikach danych, adres URL jest zmodyfikowany tak, aby zawierał unikalny parametr zapytania: rwg_token. Wartość rwg_token to zakodowany ciąg znaków zawierający metadane dotyczące linku klikniętego przez użytkownika. Zapisz ten token i przekaż go z powrotem w ramach zdarzenia konwersji.

Na każdej stronie docelowej lub w punkcie wejścia do aplikacji musisz przeanalizować i zapisać wartość ustawioną dla parametru zapytania rwg_token. Wymagania dotyczące przechowywania tego parametru zostały opisane w kroku „Trwałość rwg_token”.

Poniżej znajduje się przykład analizowania tego tokena pod kątem śledzenia na poziomie urządzenia za pomocą przeglądarki. Możesz też zebrać ten token po stronie serwera podczas odpowiadania na żądanie:

var query = location.search.substring(1);
var params = query.split('&');
var rwgToken = undefined;
for (var i = 0; i < params.length; ++i) {
  var pair = params[i].split('=');
  if (pair[0] == 'rwg_token') {
    rwgToken = decodeURIComponent(pair[1]);
    break;
  }
}

Zbieram: merchant_id

Jeśli implementujesz w interfejsie logikę śledzenia konwersji na stronie docelowej, musisz zaimplementować niestandardowy skrypt, który znajdzie i przechwyci merchant_id. Zwykle parametr merchant_id może już występować na stronie docelowej lub w adresie URL, aby można było go tam przechwycić. W przeciwnym razie musisz znaleźć sposób na udostępnienie jej w taki sposób, aby na pewno był dostępny, co prawdopodobnie oznaczało zmiany backendu.

Jeśli wdrożysz logikę śledzenia konwersji w backendzie, możesz zobaczyć merchant_id obok danych, które wysyłają zapytania do systemu wewnętrznego w celu wygenerowania strony frontendu.

Ten element merchant_id musi być taki sam jak ten udostępniony Google w pliku danych.

Zachowuję zasady rwg_token i merchant_id

Parametr rwg_token, który będzie dołączany do wszystkich podanych przez Ciebie linków do działań, musisz zachować przez łącznie 30 dni. Wartość rwg_token powinna być przechowywana i zwracana bez wprowadzania zmian.

Oprócz rwg_token musisz zapisać merchant_id powiązane z linkiem do działania.

Jeśli z poprzedniej wizyty został zachowany istniejący token, należy zastąpić wcześniejsze rwg_token i merchant_id oraz zresetować 30-dniowy okres przechowywania.

Jeśli zachowujesz tę parę powyższą, możesz zapisać wartości na poziomie urządzenia lub użytkownika:

  • Na poziomie urządzenia można stosować pliki cookie przeglądarki, pamięć lokalną, pamięć lokalną aplikacji lub dowolną inną metodę, która pozwala zachować token przez 30 dni.
  • Poziom użytkownika obejmuje przechowywanie go w bazie danych aplikacji za pomocą systemu analitycznego po stronie serwera lub innych systemów po stronie serwera.

Poniżej znajduje się przykład śledzenia konwersji na poziomie urządzenia, które przechowuje te wartości w przeglądarce za pomocą własnego pliku cookie. W tym przykładzie zakładamy, że wartość tokena została przeanalizowana jako zmienna, jak w przykładzie powyżej. Aby skorzystać z tego przykładu, musisz zaktualizować rootdomain.com do swojej domeny.

if (typeof rwg_token !== 'undefined') {
  document.cookie =
  "_rwg_token=" + rwg_token + ";_merchant_id=" + merchantid + ";max-age=2592000;domain=rootdomain.com;path=/";
}

Jeśli korzystasz ze śledzenia konwersji na poziomie użytkownika, informacje o rwg_token + merchant_id powinny być przechowywane na serwerze i powiązane z użytkownikiem.

Wysyłanie danych o konwersjach

Gdy użytkownik zrealizuje transakcję, która jest powiązana z linkiem do działania w miejscu Google, musisz wysłać żądanie HTTP POST do punktu końcowego konwersji. Istnieją 2 punkty końcowe: jeden dla środowiska produkcyjnego i jeden dla środowiska piaskownicy.

  • Wersja produkcyjna: https://www.google.com/maps/conversion/collect
  • Piaskownica: https://www.google.com/maps/conversion/debug/collect

Treść posta powinna być obiektem zakodowanym w formacie JSON w formacie:

{
  "conversion_partner_id": <partnerId>,
  "rwg_token": <rwg_token_val>,
  "merchant_changed": 1|2
}

Przykład (niezmieniony sprzedawca z tokenem testowym dla partnera 20123456):

{
  "conversion_partner_id": 20123456,
  "rwg_token": "AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ",
  "merchant_changed": 2
}

Wartość merchant_changed służy do określenia, czy sprzedawca zmienił się ze początkowego przekierowania. Są 2 wartości, które można przekazywać

Wartość zmiany sprzedawcy Co musisz zrobić
1 Należy użyć tej wartości, gdy użytkownik opuścił witrynę pierwotnego sprzedawcy i dokonał zakupu na Twojej platformie u innego sprzedawcy.
2 Tej wartości należy użyć, gdy klient zrealizował transakcję za pośrednictwem pierwotnego podmiotu (sprzedawcy).

Zarówno w środowisku piaskownicy, jak i środowisku produkcyjnym musisz podać prawidłowy atrybut rwg_token podczas wysyłania zdarzenia konwersji. Do testowania używaj tego tokena testowego w obu środowiskach do czasu uruchomienia:

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

Pełny przykład śledzenia konwersji na poziomie urządzenia (za pomocą pliku cookie na urządzeniu użytkownika) w JavaScripcie, by dowiedzieć się, jak utworzyć żądanie publikacji, znajdziesz poniżej:

const partnerId = XXXXXXXXXX;

const endpoint = `https://www.google.com/maps/conversion/collect`;

const rwgTokenCookie = document.cookie
  .split('; ')
  .find(row => row.startsWith('_rwg_token='));

if (typeof rwgTokenCookie !== 'undefined') {
  const rwgTokenVal = rwgTokenCookie.split('=')[1];
  fetch(endpoint, {
    method: "POST",
    body: JSON.stringify({
      conversion_partner_id: partnerId,
      rwg_token: rwgTokenVal,
      merchant_changed: merchantChanged
    })
  });
}

Jeśli korzystasz ze śledzenia konwersji na poziomie użytkownika, musisz pobrać token powiązany z użytkownikiem (niezależnie od platformy, na której się on znajduje) z mechanizmu przechowywania danych po stronie serwera i wysłać token za pomocą tych samych punktów końcowych w środowisku produkcyjnym lub w piaskownicy.

Wymagania dotyczące atrybucji konwersji

Wymaganym przez Google standardem atrybucji konwersji jest 30-dniowe okno atrybucji w przypadku każdej interakcji z linkiem do danego miejsca w dowolnym sklepie.

Oznacza ono, że Google oczekuje, że zdarzenie konwersji będzie wysyłane w każdym z tych scenariuszy:

  • Użytkownik klika link do działania i w tej samej sesji składa zamówienie tego samego sprzedawcy. (Wartość zmiany sprzedawcy = 2)
  • Użytkownik klika link do działania związanego z danym miejscem, a potem w ciągu 30 dni wraca z innego kanału, aby złożyć zamówienie tego samego sprzedawcy. (Wartość zmiany sprzedawcy = 2)
  • Użytkownik klika link działania związanego z miejscem, a potem składa zamówienie w innym sklepie w ramach tej samej lub innej sesji w ciągu 30 dni. ( Wartość zmiany sprzedawcy = 1 )

Google oczekuje też, że zdarzenia konwersji będą wysyłane ze wszystkich miejsc, na które użytkownik może wejść po kliknięciu linku do działania związanego z danym miejscem. W tym:

  • Aplikacje internetowe na komputery lub urządzenia mobilne
  • aplikacji mobilnych – za pomocą precyzyjnego linku lub zamiaru aplikacji zarejestrowanej w Twojej domenie.

Jeśli token jest przechowywany na poziomie użytkownika (zobacz instrukcje dotyczące zachowywania tokena), zwykle należy podać atrybucję na różnych urządzeniach. Oznacza to, że użytkownik, który klika na komputerze link do działania, a potem realizuje transakcję na urządzeniu mobilnym (używając tego samego konta użytkownika), powinno wywołać zdarzenie konwersji.

Jeśli token jest przechowywany wyłącznie na poziomie urządzenia, np. w plikach cookie w przeglądarce, nie ma potrzeby podawania atrybucji na różnych urządzeniach. W takim przypadku na każdym urządzeniu zostanie zachowany osobny token, jeśli użytkownik kliknie link działania na tym urządzeniu. Każde urządzenie będzie podlegało regułom atrybucji z osobna.