Śledzenie konwersji

Implementacja

Podsumowanie

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

  1. Zbieranie danych rwg_token ze strony docelowej lub z punktu wejścia do aplikacji.
  2. Utrzymywanie parametru rwg_token na potrzeby odpowiedniego okna atrybucji
  3. Wysyłanie zdarzenia konwersji w momencie płatności

Ta implementacja śledzenia konwersji nie wymaga korzystania z Google Analytics ani żadnego innego kodu JavaScriptu 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 może zachować token przez 30-dniowe okno atrybucji. 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ć to ustawienie ponownie na wszystkich obsługiwanych platformach (w tym na urządzeniach mobilnych).
  • Na poziomie użytkownika obejmuje przechowywanie go w bazie danych aplikacji za pomocą systemu analitycznego po stronie serwera lub innych systemów po stronie serwera. Token jest przechowywany po stronie serwera. 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 w trybie incognito, zdarzenie konwersji zostanie przypisane po ponownym zalogowaniu się użytkownika. Gdy korzystasz ze śledzenia konwersji na poziomie użytkownika, w zależności od architektury Twojego systemu możesz go wdrożyć raz po stronie serwera i ponownie używać na wszystkich obsługiwanych platformach.

Zbieram: rwg_token

Za każdym razem, gdy Google wyświetli w plikach danych action_link podany przez Ciebie, adres URL zostanie zmodyfikowany tak, by 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. Przechowasz 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ć wartość ustawioną dla parametru zapytania rwg_token i zapisać ją. Wymagania dotyczące przechowywania tego parametru znajdziesz w kroku Utrwalanie elementu rwg_token.

Poniżej znajduje się przykład analizowania tego tokena w kontekście ś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>

Zachowuję rwg_token

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

Możesz przechowywać token na poziomie urządzenia lub użytkownika:

  • Na poziomie urządzenia obejmuje używanie plików cookie przeglądarki, pamięci lokalnej, pamięci lokalnej aplikacji lub dowolnej innej metody, która może zachować token przez 30 dni.
  • Na poziomie 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 ten token w przeglądarce za pomocą własnego pliku cookie. W tym przykładzie zakładamy, że wartość tokena została przez Ciebie analizowana jako zmienna jak w przykładzie powyżej. Aby skorzystać z tego przykładu, musisz zaktualizować nazwę „rootdomain” do swojej domeny.

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

Jeśli używasz śledzenia konwersji na poziomie użytkownika, identyfikator 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 powiązana z linkiem 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 identyfikator rwg_token podczas wysyłania zdarzenia konwersji. Do testowania w środowisku piaskownicy możesz użyć podanego niżej tokena testowego.

ADQ7psRE9YyDSVR6YpfD-fYdxoFYVKS1xeTvXdSxqF8a3bnk0W62eMEnUjoNPwjhNHG0elwBnM1awTjr9vXET8yOowCeuODjwA==

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 utworzyć żądanie publikacji:

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 jest on umieszczony) z mechanizmu pamięci po stronie serwera i wysłać token za pomocą tych samych punktów końcowych produkcyjnych lub piaskownicy.

Wymagania dotyczące atrybucji konwersji

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

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

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

Jeśli token jest przechowywany na poziomie użytkownika (patrz sekcja Przechowywanie tokena), powinna być podana atrybucja na różnych urządzeniach. Oznacza to, że użytkownik, który kliknie na komputerze link do działania, a potem zrealizuje 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 potrzeby udostępniać atrybucji na różnych urządzeniach. W takim przypadku, jeśli użytkownik kliknie link działania na tym urządzeniu, na każdym urządzeniu zostanie zachowany osobny token, a każde urządzenie będzie podlegało regułom atrybucji z osobna.