Przejdź do treści

Wysyłaj GA4 z GTM Web przez kontener serwerowy

Twój kontener serwerowy działa, ale nic jeszcze nie wysyła do niego danych. W tej lekcji utworzysz usługę GA4, dodasz Google tag i tagi GA4 Event w kontenerze Web i każesz im wysyłać każde trafienie na Twoją subdomenę zamiast do Google. Przeglądarka rozmawia wtedy tylko z sgtm.example.com, w kontekście first-party, a kontener serwerowy decyduje, dokąd dane trafią dalej.

Średnio zaawansowany 12 min czytania

Czego się nauczysz

  • Utworzysz usługę GA4 i strumień danych z witryny oraz znajdziesz Measurement ID.
  • Dodasz w kontenerze Web Google tag z server_container_url.
  • Wyślesz własne zdarzenia i zdarzenia e-commerce tagami GA4 Event.
  • Potwierdzisz w DevTools, że trafienia idą na Twoją subdomenę.

Zanim zaczniesz

  • Opublikowany kontener Web na Twojej stronie (lekcja 1).
  • Kontener serwerowy, który odpowiada na Twojej subdomenie, na przykład sgtm.example.com (lekcja 2).
  • Uprawnienia edytora na koncie Google Analytics.

01 Utwórz usługę GA4 i strumień danych z witryny

Jeśli masz już usługę GA4, pomiń tę sekcję. Potrzebujesz tylko jej Measurement ID.

  1. 1 Otwórz analytics.google.com, wejdź w Admin i kliknij Create, a potem Property.
  2. 2 Wpisz nazwę usługi, strefę czasową raportowania i walutę, a potem uzupełnij dane firmy.
  3. 3 Gdy GA4 poprosi o rozpoczęcie zbierania danych, wybierz Web, wpisz adres strony i nazwę strumienia, a potem kliknij Create stream.
  4. 4 Skopiuj Measurement ID ze szczegółów strumienia. Wygląda tak: G-XXXXXXXXXX.

02 Dodaj Google tag z adresem serwera

Google tag ładuje GA4 na stronie i wysyła page_view. Jedno ustawienie, server_container_url, zmienia miejsce, do którego trafiają jego dane.

  1. 1 W kontenerze Web wejdź w Tags, kliknij New i jako typ tagu wybierz Google tag.
  2. 2 Wklej swój Measurement ID w pole Tag ID.
  3. 3 W sekcji Configuration settings dodaj wiersz z parametrem i wartością jak poniżej.
  4. 4 Ustaw regułę Initialization - All Pages (albo All Pages), nazwij tag i zapisz.
text
Configuration parameter:  server_container_url
Value:                    https://sgtm.example.com

Wpisz dokładnie adres swojego kontenera serwerowego: z https://, bez ścieżki i bez ukośnika na końcu. Initialization - All Pages uruchamia się przed innymi tagami, więc nawet wczesne zdarzenia wiedzą, dokąd wysłać dane.

03 Wysyłaj zdarzenia tagami GA4 Event

Wyświetlenia stron wysyła Google tag. Cała reszta, na przykład rejestracje i zakupy, wymaga tagu Google Analytics: GA4 Event. Wykorzystaj regułę sign_up z lekcji 1:

  1. 1 Utwórz tag typu Google Analytics: GA4 Event.
  2. 2 W polu Measurement ID wpisz G-XXXXXXXXXX (swój identyfikator). Zdarzenie pójdzie przez Google tag o tym samym ID, razem z jego adresem serwera.
  3. 3 W polu Event Name wpisz sign_up. W sekcji Event Parameters dodaj method ze zmienną Data Layer Variable utworzoną wcześniej.
  4. 4 Wybierz regułę Custom Event sign_up i zapisz.

W e-commerce strona wysyła szczegóły zakupu w obiekcie ecommerce, którego oczekuje GA4. Najpierw wyczyść poprzedni obiekt ecommerce, tak jak w tym przykładzie.

js
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
  event: 'purchase',
  ecommerce: {
    transaction_id: 'T-10293',
    value: 129.90,
    currency: 'EUR',
    items: [{ item_id: 'SKU-1', item_name: 'Shoes', price: 129.90, quantity: 1 }]
  }
});
  1. 1 Utwórz regułę Custom Event dla purchase.
  2. 2 Utwórz tag Google Analytics: GA4 Event z Event Name purchase.
  3. 3 Otwórz More Settings, potem Ecommerce, zaznacz Send Ecommerce data i jako Data source wybierz Data Layer.
  4. 4 Podepnij regułę purchase i zapisz.

04 Co zmienia się w przeglądarce

Bez adresu serwera GA4 wysyła trafienia do google-analytics.com. Z nim te same trafienia idą na Twoją subdomenę, na ścieżkę /g/collect:

text
https://sgtm.example.com/g/collect?v=2&tid=G-XXXXXXXXXX&en=page_view&...
  • Zapytanie zostaje w Twojej domenie, więc dla przeglądarki jest first-party.
  • Mniej blokerów je dopasowuje, bo nie idzie już do znanej domeny analitycznej.
  • Kontener serwerowy widzi każde trafienie, zanim zobaczy je jakikolwiek dostawca, i właśnie tam możesz później filtrować albo wzbogacać dane.

05 Sprawdź i opublikuj

  1. 1 Kliknij Preview w kontenerze Web i połącz się ze stroną. Google tag powinien uruchomić się na Initialization, a tagi GA4 Event na swoich zdarzeniach.
  2. 2 W oknie strony otwórz DevTools, przejdź do karty Network i przefiltruj po collect.
  3. 3 Odśwież stronę. Powinny być widoczne zapytania do https://sgtm.example.com/g/collect ze statusem 200 albo 204 i żadnych do google-analytics.com/g/collect.
  4. 4 Gdy wszystko wygląda dobrze, kliknij Submit i opublikuj kontener Web.
  • Na stronie nie został żaden wpisany na sztywno kod gtag.js dla tego samego ID.
  • Google tag ma server_container_url ustawione na Twoją subdomenę.
  • Zapytania /g/collect idą do sgtm.example.com.
  • Preview kontenera serwerowego pokazuje przychodzące zapytania (lekcja o debugowaniu wyjaśnia, jak je czytać).

Najczęstsze pytania

Czy mogę to ustawić bez GTM, bezpośrednio w gtag.js?

Tak. Dodaj server_container_url do polecenia config, na przykład gtag('config', 'G-XXXXXXXXXX', { server_container_url: 'https://sgtm.example.com' });. Dalsza część kursu zakłada użycie GTM.

Czy potrzebuję też Google taga dla Google Ads?

Nie w tej lekcji. Trafienia GA4 wystarczą, żeby zasilić kontener serwerowy, a tagi serwerowe innych dostawców mogą korzystać z tych samych przychodzących danych.

Zapytania nadal idą do google-analytics.com. Co jest nie tak?

Zwykle zmiana nie jest jeszcze opublikowana, inny Google tag albo wpisany na sztywno kod gtag.js dla tego samego ID ładuje się bez tego ustawienia, albo w nazwie parametru jest literówka. Musi brzmieć dokładnie server_container_url.

Gotowy, żeby przejść do praktyki?

Wdróż kontener server GTM na własnej domenie w kilka minut. Plan darmowy nie wymaga karty.

Załóż darmowe konto