Jak złapać Client ID za pomocą customTask w Google Analytics?

Jak złapać Client ID za pomocą customTask w Google Analytics?
5 (100%) 1 vote

Client ID to zmienna, za której pomocą Google Analytics identyfikuje danego użytkownika. Jest zatem pewnym kluczem, za którego pomocą można w Google Analytics rozpoznać wszystkie sesje danego użytkownika na stronie. Domyślnie nie jest dostępna z poziomu raportowania.

Dobrze jest ją zatem przechwytywać za pomocą Google Tag Managera i przesyłać do GA jako zmienną niestandardową. Jak to zrobić? Są na to sposoby opisane tu albo tu.

Gdy przechwycimy już zmienną Client ID, możemy za jej pomocą agregować dane z GA na poziomie pojedynczego użytkownika. Jesteśmy na przykład w stanie zbadać wszystkie ścieżki jakimi poruszał się po stronie lub wszystkie akcje jakie wykonał. Wiedza taka może bardzo przydać się do optymalizacji strony lub lejka konwersji.

Dane nieokreślone – dowiedz się co się za nimi kryje!

Z powyżej przytoczonymi sposobami implementacji przechwytywania Client ID są jednak  związane pewne problemy. Może okazać się, że w momencie gdy próbujemy przechwycić Client ID, nie jest on jeszcze załadowany. Wtedy zamiast identyfikatora, w naszej niestandardowej zmiennej zapisze się wartość undefined.

Na szczęście Google wyszło ostatnio  naprzeciw tym problemom i opublikowało nowe task API, custom task, które potrafi ominąć opisane wyżej niedogodności. Implementacja zaś jest nawet łatwiejsza niż dwie wcześniej opisane.

Po pierwsze będziemy potrzebowali ustawić zmienną niestandardową w GA. Następnie musimy dodać dodatkowe pole w naszym tagu Page View (tak jak jest to pokazane na obrazku poniżej).

Nazwa pola powinna być ustawiona na customTask. Jego wartość natomiast powinna kierować na niestandardową zmienną JavaScriptową, która jest zaimplementowana w następujący sposób:

function() {
  var customDimensionIndex = 1;
  return function(model) {
    model.set('dimension' + customDimensionIndex, model.get('clientId'));
  }
}

Zmienna ta działa w taki sposób, że gdy Tag Manager zaczyna uruchamiać tag Page View, natrafia na pole customTask. Wtedy wywołuje jego wartość, która jest tak naprawdę domknięciem JavaScriptowym. Domknięcie to stanowi funkcję, która automatycznie otrzymuje model jako parametr wejściowy. Model służy nam potem do ustawienia Client ID jako zmiennej niestandardowej.

To proste rozwiązanie pozwala nam na przekazanie zmiennej Custom ID do GA bez żadnych sztuczek ani hacków, które musieliśmy stosować poprzednio. Rozwiązanie jest też solidniejsze i bardziej odporne na błędy. Voila!

Bartosz Ziembiński
Analityk Mediowy w K2 Media S. A.
Analityk z wykształcenia i zamiłowania. Z tym, że analizy lubi prowadzić z różnych perspektyw. Studiował zarówno informatykę, jak i socjologię. Dziedziny te połączył później w swojej pracy naukowej, gdzie zajmował się modelowaniem rozprzestrzeniania się emocji w społecznościach i rozwiązywaniem konfliktów. W K2 analityk mediowy i webowy, który bada, optymalizuje i stara się tworzyć internet jeszcze ciekawszym miejscem.