Instrukcje
Śledzenie między domenami w Google Analytics 4: konfiguracja 2026

Śledzenie między domenami w GA4 pozwala śledzić jedną sesję użytkownika na dwóch lub więcej oddzielnych domenach — na przykład na stronie głównej i zewnętrznym koszyku. Bez tej konfiguracji GA4 liczy każde przejście między domenami jako nową sesję i błędnie przypisuje konwersje. Ten przewodnik opisuje kompletną konfigurację w GA4 Admin i Google Tag Manager na rok 2026.
Czym jest śledzenie między domenami i kiedy jest potrzebne
Śledzenie między domenami to proces utrzymywania ciągłej sesji użytkownika, gdy porusza się on między dwoma lub więcej osobno hostowanymi domenami. Bez tej konfiguracji GA4 traktuje każde przejście między domenami jako nową wizytę z bezpośredniego źródła ruchu.
Typowe sytuacje, w których śledzenie między domenami jest niezbędne:
- Główna strona to
marka.pl, a koszyk działa na zewnętrznej platformie, np.checkout.stripe.comlubsklep.marka.pl. - Prowadzisz produkty SaaS, gdzie strona marketingowa (
firma.pl) i aplikacja (app.firma.pllubapp.firma.io) traktowane są jako oddzielne źródła. - Wydawca mediów hostuje treści na
magazyn.wydawca.pl, a subskrypcje sprzedaje przezwydawca.pl. - Agencja zarządza klientem, którego narzędzie do rezerwacji (
rezerwacje.partner.com) znajduje się poza główną domeną klienta. - Sklep e-commerce używa lokalnej domeny checkout (
sklep.de) obok głównego sklepu international (sklep.com).
We wszystkich tych przypadkach użytkownik, który zaczyna na domenie A i konwertuje na domenie B, pojawi się w GA4 jako dwie niepowiązane sesje — jeśli śledzenie między domenami nie jest skonfigurowane. Efekt: zawyżona liczba sesji, zepsute raporty lejka i błędnie przypisane konwersje.
Uwaga: śledzenie poddomeny (np. blog.example.com → example.com) nie wymaga konfiguracji cross-domain. GA4 obsługuje subdomeny o tym samym rocie automatycznie za pomocą pliku cookie pierwszej strony. Konfiguracja cross-domain jest potrzebna tylko wtedy, gdy zmienia się domena główna.
Jak działa śledzenie między domenami od strony technicznej
GA4 używa parametru URL o nazwie _gl — zwanego też „parametrem linkera” — do przekazywania identyfikatora klienta użytkownika z jednej domeny na drugą.
Techniczny przebieg krok po kroku:
- Odwiedzający trafia na
domena-a.com. GA4 przypisuje muclient_idprzechowywany w pliku cookie_ga. - Odwiedzający klika link prowadzący do
domena-b.com. JavaScript GA4 wykrywa, że link wychodzący kieruje do zadeklarowanego partnera cross-domain. - Przed nawigacją przeglądarka, GA4 dołącza parametr
_gldo docelowego URL-a, kodującclient_idużytkownika, identyfikator sesji i sygnaturę HMAC:
https://domena-b.com/koszyk?_gl=1*abc123*_ga*MTIz...- Gdy
domena-b.comsię ładuje, JavaScript GA4 odczytuje parametr_glz URL-a i wyodrębnia identyfikator klienta. - GA4 zapisuje ten sam plik cookie
_ganadomena-b.comużywając wyodrębnionego client ID, zapewniając ciągłość sesji. - Wszystkie zdarzenia zarejestrowane na
domena-b.comsą teraz przypisane do tego samego użytkownika i sesji co zdarzenia nadomena-a.com.
Dwa ważne ograniczenia techniczne:
- Czas ważności linkera: Parametr
_glma domyślny czas ważności 2 minut. Jeśli użytkownik potrzebuje więcej niż 2 minut, by przejść do drugiej domeny po ozdobioniu linku, linker zostanie odrzucony i sesja zostanie przerwana. Może się to zdarzyć przy powolnych przekierowaniach checkout. - Obie domeny muszą mieć ten sam Measurement ID GA4 (G-XXXXXXX) lub obie muszą korzystać z tego samego kontenera gtag.js / GTM. Śledzenie cross-domain nie działa między dwoma osobnymi właściwościami GA4.

Wymagania przed konfiguracją
Przed otwarciem GA4 Admin upewnij się, że:
- Ten sam Measurement ID jest używany na wszystkich domenach — otwórz kod źródłowy każdej domeny i zweryfikuj, czy ten sam ciąg
G-XXXXXXXpojawia się w tagu GA4. - Masz uprawnienia Edytora lub Administratora do właściwości GA4 — konfiguracja cross-domain wymaga uprawnień do edycji na poziomie właściwości.
- Implementacja tagu jest spójna — wszystkie domeny powinny implementować GA4 tą samą metodą: albo wszystkie przez gtag.js, albo wszystkie przez Google Tag Manager.
- Pliki cookie nie są usuwane przez proxy lub CDN — niektóre warstwy cachingu (np. Cloudflare Workers, proxy Nginx) usuwają lub przepisują parametry URL. Sprawdź, czy parametr
_glprzeżywa cały łańcuch przekierowań. - Consent Mode jest zgodny na wszystkich domenach — jeśli używasz Consent Mode v2, upewnij się, że stan zgody jest odczytywany spójnie na obu domenach.
Konfiguracja krok po kroku w GA4 2026
Natywne podejście przez GA4 Admin jest najszybszą ścieżką, gdy zarządzasz tagiem GA4 bezpośrednio (nie przez GTM). Wystarczy pięć kroków.
Krok 1 — Otwórz Data Streams
Przejdź do GA4 Admin → kolumna Property → Data Streams. Kliknij na strumień danych internetowych obejmujący Twoją główną domenę (np. domena-a.com).

Krok 2 — Otwórz konfigurację tagu
W panelu szczegółów strumienia danych przewiń w dół do sekcji Google tag i kliknij Configure tag settings. Otworzy się panel konfiguracji tagu Google dla tego strumienia.

Krok 3 — Otwórz Configure your domains
W panelu ustawień tagu Google znajdź sekcję Your connections (lub Configure your domains w starszym interfejsie). Kliknij ją, aby rozwinąć listę domen. Tu deklarujesz wszystkie domeny, które powinny współdzielić tę samą sesję.

Krok 4 — Dodaj wszystkie domeny
Kliknij Add condition. Wybierz typ dopasowania — zazwyczaj Contains — i wprowadź domenę główną bez protokołu, np. domena-b.com. Powtórz dla każdej kolejnej domeny. Kliknij Save.
Typy dopasowania i kiedy je stosować:
| Typ dopasowania | Zastosowanie | Przykładowa wartość |
|---|---|---|
| Contains | Obejmuje wszystkie ścieżki i subdomeny domeny głównej | checkout-provider.com |
| Begins with | Obejmuje tylko URL-e zaczynające się od określonego ciągu | checkout-provider.com/pay |
| Exactly matches | Celuje w jeden konkretny URL | checkout-provider.com/pay/step1 |
| Matches regex | Zaawansowane: wiele wzorców w jednej regule | (checkout|pay)\.provider\.com |

Krok 5 — Weryfikacja parametru _gl
Otwórz główną domenę w przeglądarce, otwórz DevTools (F12), przejdź do zakładki Network i kliknij link prowadzący do drugiej domeny. Przed nawigacją zatrzymaj się i sprawdź wychodzący URL w logu sieciowym — powinieneś zobaczyć ?_gl=1*... dołączony do URL-a. Jeśli parametr jest obecny, linker jest aktywny.


Konfiguracja przez Google Tag Manager
Jeśli zarządzasz GA4 przez GTM, konfiguracja znajduje się w ustawieniach tagu GA4 w kontenerze GTM — nie w GA4 Admin. Oto podejście przez GTM:
- Otwórz GTM → Tags i znajdź swój tag konfiguracyjny GA4 (typ tagu: Google Analytics: GA4 Configuration).
- Kliknij tag, aby go edytować.
- Rozwiń Fields to Set i dodaj nowe pole: name =
linker, wartość = obiekt JavaScript (patrz poniżej). - Alternatywnie, użyj pola Cross Domain Linking, które pojawia się w nowszych szablonach tagów GA4 w GTM — wprowadź nazwy domen oddzielone przecinkami.
- Opublikuj kontener GTM.
Dla zaawansowanych konfiguracji GTM używających niestandardowego tagu HTML lub bezpośrednio gtag.js, dodaj konfigurację cross-domain za pomocą polecenia linker:
gtag('config', 'G-XXXXXXX', {
'linker': {
'domains': ['domena-b.com', 'domena-c.com'],
'accept_incoming': true,
'decorate_forms': true
}
});Flaga accept_incoming informuje GA4 na domenie odbierającej, by szukał i akceptował parametr _gl. Flaga decorate_forms rozszerza dekorację na przesyłanie formularzy (dla przepływów checkout używających formularzy POST zamiast standardowych linków kotwicy).
Jak zweryfikować, że śledzenie działa
Użyj wszystkich trzech metod poniżej, aby przeprowadzić pełną weryfikację:
Metoda 1 — Inspekcja URL w przeglądarce
Najedź kursorem na link cross-domain na swojej stronie (lub kliknij prawym przyciskiem i skopiuj). Jeśli śledzenie cross-domain jest aktywne, URL linku będzie zawierał parametr _gl. W niektórych przeglądarkach parametr jest dodawany dopiero w momencie kliknięcia — użyj zakładki Network w DevTools, aby przechwycić wychodzące żądanie.
Metoda 2 — GA4 DebugView
Włącz tryb debugowania dodając ?gtm_debug=1 do URL-a (jeśli używasz GTM) lub dodając debug_mode: true do konfiguracji gtag. Następnie otwórz GA4 → Admin → DebugView i przejdź z domeny A do domeny B. Jeśli obie domeny pojawiają się w DebugView pod tym samym urządzeniem (ta sama linia strumienia, ciągła oś czasu zdarzeń), łączenie sesji działa poprawnie.
Metoda 3 — Raport Explorations w GA4
Zbuduj Funnel Exploration w GA4 z krokami obejmującymi obie domeny. Jeśli użytkownicy przechodzą przez kroki lejka na różnych domenach bez przerwy sesji, ścieżka konwersji pokaże ciągły przepływ. Zepsuta konfiguracja cross-domain typowo pokazuje 100% drop-off dokładnie w punkcie przejścia między domenami.
Typowe błędy i sposoby ich naprawy
| Błąd / Objaw | Przyczyna | Naprawa |
|---|---|---|
| Sesja przerywa się przy granicy domeny mimo konfiguracji | Domena docelowa nie jest wymieniona w ustawieniach cross-domain GA4 lub druga domena używa innego Measurement ID | Dodaj dokładny ciąg domeny do listy cross-domain GA4; sprawdź, czy ten sam G-ID pojawia się na obu domenach |
Parametr _gl nie pojawia się w linkach wychodzących | Skrypt GA4 ładuje się po zdarzeniu kliknięcia lub tag uruchamia się na mniejszej liczbie stron niż oczekiwano | Przesuń tag GA4 do <head>; upewnij się, że tag uruchamia się na wszystkich stronach |
_gl obecny w URL, ale sesja nadal się przerywa | CDN lub proxy usuwa parametry zapytania; accept_incoming nie jest ustawiony na domenie odbierającej | Dodaj _gl do whitelist w CDN; dodaj accept_incoming: true do konfiguracji GA4 na domenie odbierającej |
| Konwersje przypisywane do ruchu bezpośredniego z drugiej domeny | Przesyłanie formularzy (POST) nie jest dekorowane; decorate_forms nie jest włączone | Dodaj decorate_forms: true do konfiguracji GTM lub gtag na domenie wysyłającej |
| Podwójne liczenie: jeden użytkownik pojawia się jako dwie sesje | GA4 jest implementowany dwukrotnie na tej samej domenie (np. przez GTM i snippet gtag.js), tworząc dwa client ID | Usuń duplikat implementacji GA4; używaj tylko GTM lub tylko gtag.js na danej domenie |

Cross-domain vs śledzenie subdomeny — porównanie
Częstym źródłem zamieszania jest to, czy dana konfiguracja wymaga cross-domain, czy GA4 obsługuje to automatycznie. Zasada jest prosta: jeśli zmienia się domena główna, potrzebujesz cross-domain tracking; jeśli zmienia się tylko subdomena, nie potrzebujesz.
| Scenariusz | Typ | Wymaga konfiguracji cross-domain? |
|---|---|---|
example.com → blog.example.com | Subdomena | Nie — GA4 obsługuje to automatycznie |
example.com → sklep.example.com | Subdomena | Nie — ta sama domena główna |
example.com → example.co.uk | Cross-domain | Tak — inna domena główna |
example.com → checkout.stripe.com | Cross-domain | Tak — zupełnie inna domena |
marka.pl → marka-sklep.pl | Cross-domain | Tak — inna domena główna |
app.produkt.io → produkt.io | Subdomena | Nie — ta sama domena główna (produkt.io) |
Przy śledzeniu subdomeny plik cookie _ga GA4 jest ustawiany na poziomie domeny głównej (np. .example.com) i jest dostępny dla wszystkich subdomen. Żadna dodatkowa konfiguracja nie jest potrzebna, chyba że Twój serwer celowo ogranicza zakres pliku cookie do jednej subdomeny.
FAQ
Czy śledzenie cross-domain działa z Consent Mode v2?
Tak, ale z zastrzeżeniami. Gdy użytkownik odmawia plików cookie analitycznych na domenie A, GA4 nie ustawi pliku cookie _ga, co oznacza brak client ID do przekazania przez linker _gl. Na domenie B GA4 będzie traktował użytkownika jako nowego odwiedzającego. Łączenie sesji cross-domain działa tylko wtedy, gdy użytkownik wyraził zgodę na analitykę na domenie źródłowej.
Czy mogę używać cross-domain tracking z zewnętrznym checkoutem jak Shopify lub Stripe?
Częściowo. Możesz skonfigurować GA4, aby dekorował linki wychodzące z Twojej domeny do dostawcy checkout. Jednak dostawca checkout musi też mieć zainstalowany GA4 z tym samym Measurement ID i ustawionym accept_incoming: true. Shopify obsługuje to w swojej natywnej integracji GA4. Stripe nie hostuje Twojego tagu GA4 — nie możesz zainstalować GA4 na stronach płatności hostowanych przez Stripe. W takim przypadku używaj zdarzeń Measurement Protocol po stronie serwera do raportowania konwersji.
Czy śledzenie cross-domain wpłynie na moje SEO lub szybkość ładowania strony?
Nie. Parametr _gl jest dodawany do URL-i dynamicznie przez JavaScript w momencie kliknięcia — nigdy nie jest zapisywany w źródle HTML ani sitemapie. Wyszukiwarki takie jak Google jawnie ignorują parametr _gl przy ocenie kanonicznych URL-i. Szybkość ładowania strony nie jest zagrożona, ponieważ dekoracja linków odbywa się po stronie klienta, po załadowaniu strony.
Ile domen mogę dodać do listy cross-domain?
GA4 nie dokumentuje publicznie twardego limitu liczby domen na liście cross-domain. W praktyce konfiguracje z 10–15 domenami działają niezawodnie. W przypadku bardzo dużych konfiguracji multi-domain (50+ domen) zaleca się centralizację śledzenia przez server-side GTM i przekazywanie danych sesji przez własną infrastrukturę.
Dlaczego mój lejek pokazuje 100% drop-off w kroku cross-domain?
Stuprocentowy drop-off dokładnie w kroku, gdzie użytkownik przechodzi na inną domenę, to klasyczny znak zepsutej konfiguracji cross-domain. Najczęstsze przyczyny: (1) domena docelowa nie jest wymieniona w ustawieniach cross-domain GA4, (2) domena odbierająca używa innego Measurement ID, (3) parametr _gl jest usuwany przez CDN lub przekierowanie. Zacznij od sprawdzenia wychodzącego URL w DevTools — jeśli _gl jest nieobecny, problem leży po stronie wysyłającej.


