Krok 3. Śledzenie konwersji

Implementacja

Podsumowanie

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

  1. Zbieranie wartości rwg_token na stronie docelowej lub w punkcie wejścia w aplikacji.
  2. Zachowywanie wartości rwg_token przez odpowiednie okno 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 firmy zewnętrznej.

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

  • Na poziomie urządzenia obejmuje to pliki cookie przeglądarki, pamięć lokalną, pamięć lokalną aplikacji lub dowolną inną metodę, która może przechowywać token przez 30-dniowy okres atrybucji. Ponieważ token jest przechowywany lokalnie na urządzeniu użytkownika, jeśli użytkownik zmieni urządzenie, wyczyści pamięć lokalną lub pliki cookie albo korzysta z trybu 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 ponownie zaimplementować tę funkcję na wszystkich obsługiwanych platformach (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. Ponieważ token jest przechowywany po stronie serwera, jeśli użytkownik zmieni urządzenie, wyczyści pamięć lokalną lub pliki cookie albo będzie korzystał z trybu prywatnego lub trybu incognito, zdarzenie konwersji zostanie przypisane po ponownym zalogowaniu się użytkownika. Korzystając z śledzenia konwersji na poziomie użytkownika, w zależności od architektury systemu możesz raz zaimplementować tę funkcję po stronie serwera i wykorzystywać ją na wszystkich obsługiwanych platformach.

Zbieranie rwg_token

Za każdym razem, gdy Google wyświetli action_link, który został przesłany przez Ciebie w plikach danych, adres URL zostanie zmodyfikowany, aby zawierał unikalny parametr zapytania: rwg_token. Wartość rwg_tokento zakodowany ciąg znaków zawierający metadane dotyczące linku, który kliknął użytkownik. Ten token będziesz przechowywać i przekazywać jako część zdarzenia konwersji.

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

Poniżej znajdziesz przykład parsowania tego tokena na potrzeby śledzenia na poziomie urządzenia za pomocą przeglądarki. Możesz też pobrać ten token po stronie serwera, gdy odpowiadasz 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>

Zapisanie rwg_token

Musisz zachować parametr adresu URL rwg_token, który zostanie dołączony do wszystkich podanych przez Ciebie linków akcji przez 30 dni. Wartość parametru rwg_token powinna być przechowywana i zwracana bez żadnych zmian. Jeśli istnieje token z poprzedniej wizyty, należy zastąpić stary token i zresetować 30-dniowy okres przechowywania.

Podczas trwałego przechowywania tokena możesz go przechowywać na poziomie urządzenia lub na poziomie użytkownika:

  • Na poziomie urządzenia obejmuje to pliki cookie przeglądarki, pamięć lokalną, pamięć lokalną aplikacji lub dowolną inną metodę, która może przechowywać token przez 30-dniowy okres 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 przedstawiamy przykład śledzenia konwersji na poziomie urządzenia, w którym token jest przechowywany w przeglądarce za pomocą własnego pliku cookie. W tym przykładzie zakładamy, że wartość tokena została przeanalizowana i przetworzona na zmienną w sposób pokazany powyżej. Aby użyć tego przykładu, musisz zmienić „rootdomain” na swoją domenę.

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

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

Wysyłanie danych o konwersjach

Gdy użytkownik dokona transakcji, która jest przypisana do linku Google Place Action, 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 środowiska piaskownicy.

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

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

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

Zarówno w środowisku piaskownicy, jak i w środowisku produkcyjnym podczas wysyłania zdarzenia konwersji musisz podać prawidłowy identyfikator rwg_token. Do celów testowych w 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 (za pomocą pliku cookie na urządzeniu użytkownika) w języku 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 używasz śledzenia konwersji na poziomie użytkownika, musisz pobrać token powiązany z użytkownikiem (niezależnie od tego, na której stronie się znajduje) z mechanizmu przechowywania po stronie serwera i przesłać token za pomocą tych samych punktów końcowych w produkcji lub piaskownicy.

Wymagania dotyczące atrybucji konwersji

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

Okno atrybucji oznacza, że zdarzenie konwersji powinno zostać wysłane w jednym z tych scenariuszy:

  • Użytkownik klika link do działania związanego z miejscem docelowym i w tej samej sesji składa zamówienie
  • Użytkownik klika link do działania w miejscu docelowym, a potem wraca z innego kanału w ciągu 30 dni, aby złożyć zamówienie.
  • Użytkownik klika link do 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.

Dodatkowo zdarzenia konwersji powinny być wysyłane ze wszystkich miejsc, do których użytkownik może trafić po kliknięciu 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 w aplikacji w Twojej domenie;

Jeśli token jest przechowywany na poziomie użytkownika (patrz zachowywanie tokena), należy zapewnić atrybucję na różnych urządzeniach. Oznacza to, że użytkownik, który kliknie link do działania na komputerze, a potem dokona transakcji 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 udostępniać danych o przypisaniu na różnych urządzeniach. W takim przypadku każde urządzenie miałoby osobny token, który zostałby zachowany, jeśli użytkownik kliknął link do działania na tym urządzeniu. Każde urządzenie miałoby odrębne reguły atrybucji.