Integracja subdomeny do serwera tagowania to kolejny krok przenoszący server-side tagging na wyższy poziom zyskując dodatkowe korzyści, w postaci kontekstu first party co oznacza bezpieczniejsze, a przede wszystkim trwalsze ciasteczka. W konsekwencji nasze dane będą dokładniejsze, a nasze reklamy precyzyjniej będą targetować użytkowników co powinno przełożyć się na oszczędności w panelach reklamowych.
Integracja własnej subdomeny do serwera tagowania w Google Cloud Platform (Cloud Run)
Zachęcam do zapoznania się z innymi artykułami z kategorii server-side tracking:
W kwestii samej konfiguracji serwera tagowania instrukcja dostarczona przez Google w moim odczuciu jest wystarczająca: https://developers.google.com/tag-platform/tag-manager/server-side/cloud-run-setup-guide?hl=pl&provisioning=manual , natomiast sama integracja subdomeny w rekomendowany przez Google sposób jest dużo trudniejsza, dlatego przygotowałem ten artykuł.
Wprowadzenie
Konfigurując serwer tagowania w środowisku Google Cloud Platform przy wykorzystaniu Cloud Run uzyskuje on własną standardową domenę, stworzoną na te potrzeby przez Google, na której jest hostowany.
Domena ta jest endpointem, do którego wysyłane są wszystkie żądania (np. zdarzenia Google Analytics 4), które chcemy obsłużyć za pomocą tagowania server-side.
Nazwa tej domeny to połączenie naszej własnej nazwy serwera tagowania, ciągu liczbowego, regionu, w którym skonfigurowalismy serwer oraz stałej części “run.app”, np:
https://server-side-tagging-1015978308997.us-central1.run.app
lub
https://test-732008615078.europe-central2.run.app

Tagowanie w oparciu o domyślną domenę nadal będzie działać prawidłowo, natomiast dopiero integrując z naszym serwerem własną domenę niestandardową zyskamy dodatkowe benefity opisane w pierwszym akapicie.

Proces integracji własnej domeny do serwera tagowania
Od października 2024 Google zmieniła proces integracji subdomeny do Cloud Run na zdecydowanie bardziej skomplikowany niż dotychczas. Dokumentacja w tym przypadku nie jest tak oczywista, dlatego przejdziemy przez cały proces krok po kroku razem.
Według rekomendacji najlepszą metodą integracji własnej domeny do serwera jest skonfigurowanie równoważnika obciążenia.
Żeby do zrobić z menu musimy wybrać Usługi sieciowe → Równoważenie obciążenia

Pamiętajmy, że w naszym projekcie musimy mieć włącznie Compute Engine API

Konfiguracja systemu równoważenia obciążenia
A jak mamy to już zrobione to wybieramy przycisk tworzenie systemu równoważenia obciążenia

Przejdziemy przez najbardziej ogólną i domyślną konfigurację tego systemu, która powinna być odpowiednia dla większości potrzeb wykorzystania w celu tagowanie server-side.
W pierwszym kroku zostawiamy domyślnie wybraną opcję, czyli System równoważenia obciążenia aplikacji (HTTP/HTTPS)

W następnym kroku również bez zmian zostawiamy opcję Publiczny

Kolejny krok znowu bez zmian Najlepszy w przypadku zadań globalnych

W kroku czwartym nadal bez zmian, zostawiamy Globalny zewnętrzny system równoważenia obciążenia aplikacji

I na koniec tego etapu klikamy przycisk skonfiguruj

Konfiguracja frontendu
Do tej pory było to bardzo proste, ale teraz będzie trochę trudniej.
Na początek musimy zadeklarować nazwę dla naszego systemu oraz nazwę dla frontendu.
Następnie wybieramy protokół HTTPS
Musimy utworzyć nowy statyczny adres IP

Wystarczy że zadeklarujemy dla niego nazwę własną i klikniemy przycisk Zarezerwuj

Kolejnym ustawieniem jest certyfikat, który musimy utworzyć

Ponownie deklarujemy nazwę własną i wybieramy Utwórz certyfikat zarządzany przez Google.
W tym miejscu musimy też podać nazwę domeny, którą chcemy zintegrować, a działanie zakańczamy przyciskiem Utwórz.

Za nim przejdziemy do konfiguracji backendu zaznaczmy jeszcze włączenie opcji przekirowania HTTP do HTTPS.

Potwierdzamy przyciskiem gotowe i przechodzimy do konfiguracji backendu
Konfiguracja backendu
Ten etap zaczynamy od wyboru opcji Utwórz usługę backendu

Deklarujemy nazwę naszego backendu, a jako typ wybieramy Bezserwerowa grupa punktów końcowych sieci.

W sekcji Backendy utworzymy taką grupę.

Jak miało to miejsce już pare razy znowu deklarujemy nazwę. Potem wybieramy region - najlepiej wybrać ten sam region, w którym utworzyliśmy nasz serwer tagowania, czyli naszą instancję cloud run.
Typ grupy zaznaczamy na Cloud Run i z rozwijanej listy wybieramy serwer dla którego chcemy przeprowadzić integrację.
Klikamy przycisk utwórz.

A następnie klikamy przycisk utwórz również w oknie konfiguracji całego backendu
Reguł routingu nie będziemy zmieniać dlatego możemy przejść do ostatniej części procesu i utworzyć nasz system.

Stworzenie własnej subdomeny
Nasz system jest już skonfigurowany ale pozostanie nieaktywny do momentu utworzenie domeny, którą chcemy zintegrować.
Tworząc tą domenę musimy dodać do niej rekord DNS typu A z odpowiednim adresem IP.
Żeby sprawdzić ten adres IP musimy otworzyć nasz system równoważenia obciążenia. Znajdziemy go w sekcji Frontend.

Teraz musimy utworzyć domenę, której nazwę zdefiniowaliśmy przy konfiguracji certyfikatu, z rekordem DNS typu A, który odsyła to podanego adresu IP.
Najlepiej zgłosić to administratorowi sieci w naszej firmie, chyba, że sami mamy dostęp do panelu zarządzania hostingiem.
Nasz system stanie się aktywny w momencie, w którym certyfikat będzie aktywny. Może to potrwać nawet kilka godzin od momentu utworzenia domeny i dodania rekrodu DNS.
Status certyfikatu możemy sprawdzić przechodząc do Zabezpieczenia → Menadżer certyfikatów

W tym miejscu musimy mieć włączone Certicate Manager API w naszym projekcie.

W zakładce certyfikaty klasyczne znajdziemy nasz certyfikat

Prawdopodobnie na początku jego stan będzie wyglądał tak:

Natomiast po kilku godzinach powinien się zmienić na:

Dodanie subdomeny do kontenera GTM
Ostatnim i najprostszym krokiem jest dodanie subdomeny do kontenera GTM.
W tym celu wchodzimy w Ustawienia kontenerów w naszym kontenerze server-side i klikamy przycisk Dodaj adres URL. Następnie wprowadzamy naszą subdomenę i w prawym górnym rogu klikamy zapisz.

Od teraz wszystkie nasze tagi GA4 możemy odsyłać do własnej domeny. Robimy to podmieniając wartość parametru server_container_url (w moim przypadku w zmiennej ustawień konfiguracji)
Jeżeli nie wiesz jak zintegrować własną subdomenę samodzielnie na podstawie tego artykułu to zapraszam do kontaktu.
Zachęcam również do przeczytania pozostałych artykułów z serii poświęconej server-side tagging oraz do zapisu do newslettera żeby być na bieżąco.