Wprowadzenie do tagowania po stronie serwera

Tagowanie po stronie serwera to nowy sposób korzystania z Menedżera tagów Google do instrumentacji aplikacji na różnych urządzeniach. Kontenery serwera używają tego samego modelu tagów, reguł i zmiennych, do którego jesteś przyzwyczajony(-a), a jednocześnie udostępniają nowe narzędzia, które umożliwiają pomiar aktywności użytkowników w dowolnym miejscu.

Typowa konfiguracja tagowania bez tagowania po stronie serwera opiera się na kontenerze na stronie, który wysyła dane pomiarowe do różnych serwerów zbierających dane. Rysunek 1 przedstawia przykład tego, jak kontener internetowy Menedżera tagów działający w przeglądarce internetowej wysyła dane do wielu serwerów.

Diagram witryny skonfigurowanej do korzystania z kontenera internetowego Menedżera tagów Google

Rysunek 1. Schemat witryny skonfigurowanej do korzystania z kontenera internetowego Menedżera tagów Google.

Z kolei kontener serwera nie działa w przeglądarce użytkownika ani na jego telefonie. Działa on na serwerze, nad którym masz kontrolę.

Diagram witryny z kontenerem do tagowania po stronie serwera.

Rysunek 2. Przykład konfiguracji tagowania, która korzysta z kontenera serwera.

Serwer działa w Twoim projekcie Google Cloud Platform lub w innym środowisku wybranym przez Ciebie. Tylko Ty masz dostęp do danych na serwerze, dopóki nie zdecydujesz się wysłać ich w inne miejsce. Masz pełną kontrolę nad tym, jak dane są kształtowane i gdzie są kierowane z serwera. Tagi są tworzone przy użyciu technologii JavaScript w piaskownicy. Uprawnienia zapewniają wgląd w to, co może zrobić tag, a zasady pozwalają ustawić granice wokół kontenera.

Serwer odbiera żądania internetowe z urządzenia użytkownika i przekształca te żądania w zdarzenia. Każde zdarzenie jest przetwarzane przez tagi, reguły i zmienne kontenera. Tagi, reguły i zmienne w kontenerze serwera działają dokładnie tak samo jak w innych rodzajach kontenerów: reguły sprawdzają każde zdarzenie pod kątem określonych warunków i, w razie potrzeby, uruchamiają tagi, które wysyłają dane zdarzenia do przetworzenia.

Ten model wprowadza 2 ważne pytania dotyczące kontenerów serwera:

  • Jak dane pomiarowe trafiają z urządzenia użytkownika do kontenera serwera?
  • Jak dane pomiarowe wysyłane do kontenera serwera są przekształcane w zdarzenie?

Odpowiedzią na oba pytania jest nowy rodzaj jednostki do użycia w kontenerach serwera – klient.

Jak działają klienty

Klient to połączenie pomiędzy oprogramowaniem na urządzeniu użytkownika a Twoim kontenerem serwera. Klient odbiera dane pomiarowe z urządzenia, przekształca je w co najmniej 1 zdarzenie, kieruje dane do przetworzenia w kontenerze i pakuje wyniki, aby wysłać je z powrotem do osoby wysyłającej żądanie.

To sporo pracy! Przyjrzyjmy się bliżej każdej części. Rysunek 3 przedstawia przepływ danych do kontenera serwera z przeglądarki internetowej użytkownika oraz z serwera WWW do kontenera serwera.

Diagram witryny z kontenerem do tagowania po stronie serwera.

Rysunek 3. Każdy strumień danych jest obsługiwany przez innego klienta.

Klienty odbierają dane pomiarowe z urządzenia. Załóżmy, że chcesz mierzyć aktywność użytkowników w 3 miejscach: w witrynie, aplikacji na telefon i inteligentnym tosterze. Twoja witryna korzysta z Google Analytics, aplikacja na telefon z Firebase Analytics, a toster z zastrzeżonego protokołu o nazwie „ToastMeasure”.

Instrumentacja tych 3 urządzeń za pomocą Menedżera tagów Google zwykle wymagałaby innego kontenera dla każdej platformy. Ponieważ kontener serwera nie działa na urządzeniu, ten sam kontener może obsługiwać instrumentację analityczną na wszystkich 3 platformach urządzeń. Jest jednak pewien problem. Te urządzenia nie komunikują się w ten sam sposób. Protokół Google Analytics nie jest taki sam jak protokół ToastMeasure. Właśnie tutaj do akcji wkraczają klienty.

Zamiast tych 3 kontenerów Twój kontener serwera ma 3 klienty. Każde żądanie, które trafia do kontenera, jest przetwarzane przez każdego klienta w kolejności priorytetów, zaczynając od klienta o najwyższym priorytecie. Pierwszą rzeczą, jaką zrobi każdy klient, jest sprawdzenie, czy wie, jak przetworzyć dany rodzaj żądania. Jeśli tak, klient „odbiera” żądanie i przechodzi do następnego etapu przetwarzania. Odebranie żądania uniemożliwia uruchomienie kolejnych klientów. Jeśli klient nie może przetworzyć żądania, nie robi nic i pozwala innym klientom zdecydować, czy mają je obsłużyć.

Klienty przekształcają dane żądania w co najmniej 1 zdarzenie. Gdy klient ToastMeasure odbierze żądanie, musi je przekształcić w coś, co będzie zrozumiałe dla reszty kontenera. Tym czymś jest zestaw zdarzeń.

Zdarzenia to rzeczy, które się dzieją i które chcesz mierzyć. Mogą to być dowolne zdarzenia, np. start_toasting, finish_toasting lub buy_bread. Istnieją pewne zalecenia dotyczące struktury zdarzeń generowanych przez klienta, ale jedynym wymaganiem jest to, aby były one zrozumiałe dla reszty kontenera.

Klienty uruchamiają kontener. Klient odebrał żądanie i przekształcił je w zdarzenia. Teraz czas na tagi, reguły i zmienne. Klient przekazuje każde zdarzenie do reszty kontenera w celu dalszego przetworzenia.

Klienty pakują wyniki, aby wysłać je z powrotem do urządzenia. Gdy kontener zostanie uruchomiony, czas na odpowiedź do tostera. Odpowiedź może mieć wiele postaci. Być może klient po prostu powie „OK, gotowe”. Być może jeden z tagów będzie chciał przekierować żądanie do innego serwera zbierającego dane. A może jeden z tagów powie lampkom na tosterze, aby zmieniły kolor. Niezależnie od tego, co ma się stać, zadaniem klienta jest spakowanie wyników i wysłanie ich z powrotem do osoby wysyłającej żądanie.

Na szczęście Menedżer tagów zajmuje się większością tych zadań. Kontenery serwera zawierają 2 klienty: Google Analytics i Measurement Protocol. Ci klienci udostępniają narzędzia potrzebne do rozpoczęcia instrumentacji aplikacji zaraz po utworzeniu kontenera.

Krótki przykład

Przyjrzyjmy się krótkiemu przykładowi, aby zobaczyć, jak wszystkie elementy pasują do siebie. W tym przykładzie utworzysz:

  1. prostą witrynę, która używa gtag.js do wysyłania zdarzenia click do kontenera serwera;
  2. klienta Google Analytics, który odbiera zdarzenie;
  3. regułę, która uruchamia się w przypadku zdarzenia click;
  4. tag Google Analytics, który wysyła dane zdarzenia do Google Analytics w celu przetworzenia.

W tym przykładzie założymy, że masz już utworzony i wdrożony kontener serwera.

Konfigurowanie tagu gtag.js

Najpierw skonfiguruj tag gtag.js tak, aby wysyłał dane do kontenera serwera. W przypadku tagu gtag.js wysyłanie danych do kontenera serwera działa tak samo jak wysyłanie danych do Google Analytics, z jedną modyfikacją. Jak w przykładzie strony poniżej, ustaw opcję konfiguracji server_container_url tak, aby wskazywała kontener serwera.

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'TAG_ID', {
    server_container_url: 'https://analytics.example.com',
  });
</script>

Zastąp TAG_ID identyfikatorem tagu ID. Zastąp https://analytics.example.com adresem URL kontenera serwera.

Następnie dodaj funkcję sendEvent() do obsługi zdarzeń click:

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'TAG_ID', {
    server_container_url: 'https://analytics.example.com',
  });

  function sendEvent() {
    gtag('event', 'click');
  }
</script>

<button onclick="javascript:sendEvent()">Send Event</button>

Zastąp TAG_ID identyfikatorem tagu ID. Zastąp https://analytics.example.com adresem URL kontenera serwera.

Dzięki tej konfiguracji moduły obsługi zdarzeń, takie jak funkcja sendEvent() zawarta w tym przykładzie, będą wysyłać zdarzenie click do kontenera serwera.

Klient Google Analytics

Gdy zdarzenie dotrze na serwer, kontener będzie potrzebował klienta, aby je odebrać. Na szczęście kontenery serwera mają wstępnie zainstalowanego klienta Google Analytics, więc ten krok jest już za Tobą.

Reguła kliknięcia

Następnie utwórz regułę, która uruchamia się w przypadku zdarzenia click. Utwórz regułę niestandardową , która uruchamia się, gdy wbudowana zmienna Nazwa zdarzenia jest równa „click”.

konfiguracja aktywatora,

Tag Google Analytics

Na koniec dołącz do reguły tag Google Analytics. Podobnie jak w przypadku klientów, kontener serwera zawiera tag Google Analytics. Po prostu utwórz tag, skonfiguruj ustawienia i gotowe. Klienty Google Analytics i tagi Google Analytics są zaprojektowane do współpracy. Oznacza to, że wystarczy utworzyć tag Google Analytics, a jego konfiguracja zostanie automatycznie pobrana ze zdarzeń pochodzących od klienta.

Wyświetlanie podglądu kontenera

Gdy kontener jest skonfigurowany, kliknij Podgląd. Otwórz swoją witrynę w innym oknie przeglądarki. Gdy żądania i zdarzenia będą wysyłane do kontenera serwera, zobaczysz je po lewej stronie strony podglądu.

Gdy będziesz zadowolony(-a) ze zmian, opublikuj kontener serwera.

Konfigurowanie serwera do trybu produkcyjnego z obsługą własną

Zanim zaczniesz wysyłać ruch produkcyjny do kontenera serwera, zdecydowanie zalecamy zainstalowanie serwera w domenie własnej i uaktualnienie go do trybu produkcyjnego.