Krok 3. Śledzenie konwersji

Implementacja

Podsumowanie

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

  1. Zbieranie danych rwg_token ze strony docelowej lub punktu wejścia aplikacji.
  2. Utrwalanie elementu rwg_token dla odpowiedniego okna atrybucji
  3. wysyłanie zdarzenia konwersji w momencie płatności;

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 obejmuje korzystanie z plików cookie przeglądarki, pamięci lokalnej, pamięci lokalnej aplikacji lub dowolnej innej metody, która umożliwia zachowanie tokena 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 użyje trybu incognito bądź przeglądania prywatnego, 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 usługach (w tym na urządzeniach 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 trybu incognito, zdarzenie konwersji zostanie przypisane po ponownym zalogowaniu się użytkownika. Podczas korzystania ze śledzenia konwersji na poziomie użytkownika, w zależności od architektury Twojego systemu, możesz wdrożyć to jednorazowe rozwiązanie po stronie serwera i używać go na wszystkich obsługiwanych platformach.

Zbieram: rwg_token

Za każdym razem, gdy Google wyświetla w plikach danych action_link podany przez Ciebie w plikach danych, ten adres URL zostanie zmodyfikowany tak, by zawierał unikalny parametr zapytania: rwg_token. Wartość rwg_token jest zakodowanym ciągiem znaków zawierającym metadane dotyczące linku klikniętego przez użytkownika. Zapiszesz ten token i przekażesz 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 znajdziesz w kroku Utrzymanie właściwości 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:

<script>
  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;
    }
  }
</script>

Utrwalanie zasady rwg_token

Musisz zachować parametr adresu URL rwg_token, który będzie dołączany do wszystkich podanych przez Ciebie linków do działań przez łącznie 30 dni. Wartość rwg_token powinna być przechowywana i zwracana bez wprowadzania zmian. Jeśli z poprzedniej wizyty został zachowany istniejący token, należy zastąpić stary token i zresetować 30-dniowy okres przechowywania.

Podczas utrwalania tokena możesz go zapisać na poziomie urządzenia lub użytkownika:

  • Na poziomie urządzenia obejmuje korzystanie z plików cookie przeglądarki, pamięci lokalnej, pamięci lokalnej aplikacji lub dowolnej innej metody, która umożliwia zachowanie tokena 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 zapisuje ten token 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ć swoją domenę „rootdomain”.

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

Jeśli korzystasz ze śledzenia konwersji na poziomie użytkownika, kod rwg_token powinien być przechowywany na serwerze i powiązany z użytkownikiem.

Wysyłanie danych o konwersjach

Gdy użytkownik ukończy transakcję, która jest przypisana do linku do działania w Google Place Action, 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.

  • Produkcja: 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>
}

Zarówno w środowisku piaskownicy, jak i w środowisku produkcyjnym musisz podać prawidłowy atrybut rwg_token podczas wysyłania zdarzenia konwersji. Do testowania w środowisku piaskownicy możesz użyć poniższego tokena testowego.

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

Poniżej znajdziesz pełny przykład śledzenia konwersji na poziomie urządzenia (za pomocą pliku cookie na urządzeniu użytkownika) w języku JavaScript pokazującym, jak wysłać takie żądanie:

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
    })
  });
}

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 po stronie serwera i wysłać token za pomocą tych samych punktów końcowych w środowisku produkcyjnym lub w trybie 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 zdarzenie konwersji powinno być wysyłane w każdym z tych scenariuszy:

  • Użytkownik klika link do działania związanego z danym miejscem i w ramach tej samej sesji składa zamówienie.
  • Użytkownik klika link do działania związanego z miejscem, a potem w ciągu 30 dni wraca z innego kanału, aby złożyć zamówienie.
  • Użytkownik klika link działania związanego ze zwiększeniem miejsca, a potem składa zamówienie w innym sklepie w ramach tej samej lub innej sesji w ciągu 30 dni.

Oczekujemy 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 intencji zarejestrowanego w Twojej domenie).

Jeśli token jest przechowywany na poziomie użytkownika (zobacz informacje na temat utrwalania tokena), powinno się 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 (korzystając z tego samego konta użytkownika), powinien wywołać zdarzenie konwersji.

Jeśli token jest przechowywany wyłącznie na poziomie urządzenia, na przykład w plikach cookie przeglądarki, nie ma być możliwe udostępnianie atrybucji na różnych urządzeniach. W takim przypadku dla każdego urządzenia zostanie zachowany osobny token, jeśli użytkownik kliknie link działania na tym urządzeniu. Każde z tych urządzeń będzie podlegało osobno regułom atrybucji.