Śledzenie konwersji

Implementacja

Podsumowanie

Wdrożenie śledzenia konwersji składa się z 3 elementów:

  1. Zbieranie rwg_token ze strony docelowej lub punktu wejścia do aplikacji.
  2. Przechowywanie rwg_token w odpowiednim oknie atrybucji
  3. Wysyłanie zdarzenia konwersji podczas płatności

Ta implementacja śledzenia konwersji nie wymaga korzystania z Google Analytics ani żadnego innego kodu JavaScript innej firmy.

Zanim zaczniesz wdrażać śledzenie konwersji, zdecyduj, czy chcesz śledzić konwersje na poziomie urządzenia czy użytkownika:

  • Na poziomie urządzenia można używać plików cookie przeglądarki, pamięci lokalnej, pamięci lokalnej aplikacji lub dowolnej innej metody, która może przechowywać token w 30-dniowym okresie atrybucji. Token będzie przechowywany lokalnie na urządzeniu użytkownika, więc jeśli użytkownik zmieni urządzenie, wyczyści pamięć lokalną lub pliki cookie albo będzie korzystać z trybu przeglądania prywatnego lub incognito, zdarzenie konwersji może nie zostać prawidłowo przypisane. Jeśli używasz śledzenia konwersji na poziomie urządzenia, musisz ponownie wdrożyć tę funkcję na każdej obsługiwanej platformie (w tym na urządzeniach mobilnych).
  • Poziom użytkownika obejmuje zapisywanie danych 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, więc jeśli użytkownik zmieni urządzenie, wyczyści pamięć lokalną lub pliki cookie albo będzie korzystać z trybu przeglądania prywatnego lub incognito, zdarzenie konwersji zostanie przypisane po ponownym zalogowaniu się użytkownika. Jeśli korzystasz ze śledzenia konwersji na poziomie użytkownika, w zależności od architektury systemu możesz wdrożyć je raz po stronie serwera i używać na wszystkich obsługiwanych platformach.

Zbieranie rwg_token

Za każdym razem, gdy Google wyświetli podany przez Ciebie w plikach danych adres URL action_link, zostanie on zmodyfikowany tak, aby zawierał unikalny parametr zapytania: rwg_token. Wartość rwg_token to zakodowany ciąg znaków, który zawiera metadane dotyczące linku klikniętego przez użytkownika. Ten token będzie przechowywany i przekazywany w ramach zdarzenia konwersji.

Na każdej stronie docelowej lub w każdym punkcie wejścia do aplikacji musisz przeanalizować wartość ustawioną dla parametru zapytania rwg_token i ją zapisać. Wymagania dotyczące przechowywania tego parametru są opisane w kroku Utrwalanie rwg_token.

Poniżej znajdziesz przykład sposobu analizowania tego tokena na potrzeby śledzenia na poziomie urządzenia w przeglądarce. Możesz też zebrać ten token po stronie serwera w odpowiedzi 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 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ść parametru rwg_token powinna być przechowywana i zwracana bez żadnych zmian. Jeśli z poprzedniej wizyty zachował się token, należy go zastąpić i zresetować 30-dniowe okno przechowywania.

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

  • Na poziomie urządzenia stosuje się pliki cookie przeglądarki, pamięć lokalną, pamięć lokalną aplikacji lub dowolną inną metodę, która może przechowywać token w 30-dniowym okresie atrybucji.
  • Poziom użytkownika obejmuje zapisywanie danych w bazie danych aplikacji za pomocą systemu analitycznego po stronie serwera lub innych systemów po stronie serwera.

Poniżej znajdziesz przykład śledzenia konwersji na poziomie urządzenia, w którym token jest przechowywany w przeglądarce internetowej za pomocą własnego pliku cookie. W tym przykładzie zakłada się, że wartość tokena została przeanalizowana i zapisana w zmiennej, jak w przykładzie powyżej. Aby użyć tego przykładu, musisz zastąpić „rootdomain” swoją domeną.

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

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

Wysyłanie danych o konwersjach

Gdy użytkownik dokona transakcji, którą można przypisać do linku działania w Miejscach Google, musisz wysłać żądanie HTTP POST do punktu końcowego konwersji. Dostępne są 2 punkty końcowe: jeden dla środowiska produkcyjnego, a drugi dla piaskownicy.

  • Produkcja: https://www.google.com/maps/conversion/collect
  • Tryb piaskownicy: https://www.google.com/maps/conversion/debug/collect

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

{
  'conversion_partner_id': partnerId,
  'rwg_token': <rwg_token_val>
}

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

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

Poniżej znajdziesz pełny przykład śledzenia konwersji na poziomie urządzenia (z użyciem pliku cookie na urządzeniu użytkownika) w JavaScript, który pokazuje, jak wysłać to żądanie POST:

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ę znajduje) z mechanizmu przechowywania po stronie serwera i wysłać go za pomocą tych samych punktów końcowych środowiska produkcyjnego lub piaskownicy.

Wymagania dotyczące atrybucji konwersji

Wymagany przez Google standard przypisywania konwersji to 30-dniowe okno przypisywania w przypadku każdej interakcji z linkiem do miejsca w dowolnym sklepie.

To okno atrybucji oznacza, że zdarzenie konwersji powinno być wysyłane w każdym z tych scenariuszy:

  • Użytkownik klika link działania związanego z miejscem i składa zamówienie w ramach tej samej sesji.
  • Użytkownik klika link do działania w miejscu, 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 z miejscem, a następnie 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 platform, na które użytkownik może trafić z linku do działania związanego z miejscem. W tym:

  • aplikacje internetowe na komputery lub urządzenia mobilne;
  • aplikacje mobilne za pomocą precyzyjnego linku do aplikacji lub zarejestrowanego zamiaru aplikacji w przypadku Twojej domeny;

Jeśli token jest przechowywany na poziomie użytkownika (patrz utrwalanie tokena), oczekuje się, że zapewnisz atrybucję na różnych urządzeniach. Oznacza to, że użytkownik, który kliknie link działania na komputerze, a następnie dokończy 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, np. w plikach cookie przeglądarki, nie musisz podawać atrybucji na różnych urządzeniach. W takim przypadku każde urządzenie miałoby osobny token zapisany, jeśli użytkownik kliknął na nim link do działania, a każde urządzenie podlegałoby oddzielnym regułom atrybucji.