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 na serwerze korzystają z tych samych modeli tagów, reguł i zmiennych, do których użytkownicy są przyzwyczajeni, a zarazem 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 polega na użyciu na stronie kontenera do wysyłania danych pomiarowych na różne serwery gromadzenia danych. Rysunek 1 przedstawia przykład tego, jak kontener internetowy Menedżera tagów działający w przeglądarce wysyła dane na wiele serwerów.

Schemat witryny z kontenerem internetowym Menedżera tagów Google

Rysunek 1.Schemat witryny z kontenerem internetowym Menedżera tagów Google

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

Schemat przedstawiający witrynę z tagowaniem po stronie serwera za pomocą kontenera.

Ilustracja 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. Dopóki nie zdecydujesz się na wysłanie danych, tylko Ty masz do nich dostęp. Masz pełną kontrolę nad tym, jak dane są formowane i dokąd są kierowane z serwera. Tagi są tworzone za pomocą technologii JavaScript w trybie piaskownicy. Uprawnienia pozwalają Ci sprawdzić, co może robić tag, a zasady umożliwiają określenie granic kontenera.

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

Ten model powoduje pojawienie się 2 ważnych pytań dotyczących kontenerów serwera:

  • Jak dane pomiarowe są przesyłane 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 elementu do stosowania w kontenerach serwera: klient.

Jak działają klienci

Klient to połączenie pomiędzy oprogramowaniem na urządzeniu użytkownika a Twoim kontenerem serwera. Klient otrzymuje dane pomiarowe z urządzenia, przekształca je w co najmniej 1 zdarzenie, kieruje dane do przetwarzania w kontenerze, a potem pakuje wyniki, aby przesłać je do osoby, która je zażądała.

To dużo rzeczy. Przyjrzyjmy się dokładniej każdej części. Rysunek 3 przedstawia dane przepływające do kontenera serwera z przeglądarki użytkownika i z serwera WWW do kontenera serwera.

Schemat przedstawiający witrynę z tagowaniem po stronie serwera za pomocą kontenera.

Rys. 3. Każdy strumień danych obsługuje inny klient.

Klienci otrzymują 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 telefonie z Analytics dla Firebase, a twój toster z zastrzeżonym protokołem o nazwie „ToastMeasure”.

Zwykle instrumentowanie tych 3 urządzeń za pomocą Menedżera tagów Google wymagałoby utworzenia osobnego kontenera dla każdej platformy. Kontener serwera nie działa na urządzeniu, więc ten sam kontener może obsługiwać pomiary analityczne na wszystkich 3 platformach urządzeń. Jest jednak pewien problem. Nie wszystkie urządzenia komunikują się w taki sam sposób. Protokół Google Analytics różni się od protokołu ToastMeasure. Właśnie tutaj do akcji wkraczają klienci.

Zamiast tych 3 kontenerów, kontener serwera ma 3 klientów. Każde żądanie, które trafia do kontenera, będzie przetwarzane przez każdego klienta w kolejności priorytetów, najpierw klient o najwyższym priorytecie. Każdy klient musi najpierw zdecydować, czy wie, jak obsłużyć tego typu żądanie. Jeśli to możliwe, klient „przypisuje” żądanie do siebie i przechodzi do następnego etapu przetwarzania. Odebranie żądania uniemożliwia jego uruchomienie kolejnym klientom. Jeśli klient nie może przetworzyć żądania, nie podejmuje żadnych działań i pozwala innym klientom na podjęcie decyzji, czy mają je przetworzyć.

Klienci przekształcają dane żądania w co najmniej 1 zdarzenie. Gdy klient ToastMeasure zgłosi roszczenie do żądania, musi przekształcić to żądanie w coś, co jest zrozumiałe dla reszty kontenera. To coś to zbiór zdarzeń.

Zdarzenia to zdarzenia, które chcesz mierzyć. Mogą to być dowolne wartości: start_toasting, finish_toasting lub buy_bread. Istnieją pewne zalecenia dotyczące struktury zdarzeń generowanych przez klienta, ale jedynym wymaganiem jest to, aby reszta kontenera je rozumiała.

Kontener jest uruchamiany przez klientów. Klient potwierdził żą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 przetwarzania.

Klienci pakują wyniki, aby wysłać je z powrotem na urządzenie. Po uruchomieniu kontenera nadszedł czas na odpowiedź na prośbę toastera. Odpowiedź może przybierać różne formy. Może klient po prostu powie „OK, gotowe”. Być może jeden z tagów chce przekierować żądanie do innego serwera kolekcji. Może też jeden z tagów powoduje, że światła w piecy do tostów zmieniają kolor. Niezależnie od tego, co ma się wydarzyć, zadaniem klienta jest spakowanie wyników i odesłanie ich do osoby, która wysłała żądanie.

Na szczęście Menedżer tagów załatwia Ci większość tych zadań. Kontenery serwera zawierają 2 klientów: Google Analytics 4 i Measurement Protocol. Te klienty zapewniają narzędzia potrzebne do rozpoczęcia instrumentowania 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 te elementy:

  1. Prosta witryna, która używa tagu gtag.js do wysyłania zdarzenia click do kontenera serwera.
  2. Klient Google Analytics 4, który odbiera zdarzenie.
  3. Aktywator, który działa w przypadku zdarzenia click.
  4. tag Google Analytics 4, który wysyła dane zdarzenia do Google Analytics w celu ich przetworzenia.

W tym przykładzie zakładamy, że kontener serwera został już utworzony i wdrożony.

Konfigurowanie tagu gtag.js

Najpierw skonfiguruj tag gtag.js tak, aby wysyłał dane do kontenera serwera. Dzięki tagowi gtag.js wysyłanie danych do kontenera serwera działa tak samo jak wysyłanie danych do Google Analytics, z jedną modyfikacją. Podobnie jak na przykładowej stronie poniżej ustaw opcję konfiguracji server_container_url, aby wskazywała na 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. 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. Zastąp https://analytics.example.com adresem URL kontenera serwera.

W ramach tej konfiguracji takie przetwarzacze zdarzeń jak funkcja sendEvent() zawarta w tym przykładzie wyślą zdarzenie click do kontenera serwera.

Klient Google Analytics 4

Kontener potrzebuje klienta, który odbierz zdarzenie, gdy dotrze ono do serwera. Na szczęście w kontenerach serwera jest już wstępnie zainstalowany klient Google Analytics 4, więc nie musisz wykonywać tego kroku.

Reguła kliknięcia

Następnie utwórz regułę, która uruchamia się po zdarzeniu click. Utwórz regułę niestandardową, która uruchamia się, gdy wbudowana zmienna Nazwa zdarzenia ma wartość „click” (kliknięcie).

konfiguracja reguły

Tag Google Analytics 4

Na koniec dodaj do niego tag GA4. Podobnie jak w przypadku klientów, kontener serwera zawiera tag GA4. Wystarczy utworzyć tag i skonfigurować ustawienia. Klienci i tagi GA4 są zaprojektowane tak, aby współpracować ze sobą. Oznacza to, że wystarczy utworzyć tag GA4, a jego konfiguracja zostanie automatycznie pobrana ze zdarzeń generowanych przez klienta.

Podgląd kontenera

Po skonfigurowaniu kontenera kliknij Podgląd. Otwórz swoją witrynę w innym oknie przeglądarki. Gdy żądania i zdarzenia są wysyłane do kontenera serwera, możesz je zobaczyć po lewej stronie strony podglądu.

Gdy zmiany będą gotowe, opublikuj kontener serwera.

Konfigurowanie serwera na potrzeby trybu produkcyjnego z usługą własnego udostępniania

Zanim prześlesz ruch produkcyjny do kontenera serwera, zdecydowanie zalecamy zainstalowanie serwera w domenie firmy i uaktualnienie go do trybu produkcyjnego.