12. júna 2026Analytika

Cross-Domain Tracking v GA4: Kompletny sprievodca

Co cross-domain tracking skutocne robi (a preco sa rozbija)

Minuly kvartal som auditoval B2B SaaS firmu, ktora prevadzkuje marketingovu stranku na www.brand.com a checkout na app.brand.io. Google Ads ukazoval 340 konverzii. GA4 ukazoval 122. Rozdiel nebol sposobeny consentom ani problemom so spustanim tagov. Islo o rozbiteny cross-domain tracking setup, ktory kazdeho navstevnika checkoutu rozdelil do uplne novej session.

Cross-domain tracking riesi jeden konkretny problem: ked pouzivatel prejde z Domeny A na Domenu B, GA4 potrebuje vediet, ze ide o toho isteho cloveka v tej istej session. Bez neho cielova domena vytvori novy client ID a vase reporty ukazu self-referral namiesto povodneho zdroja. Kazda konverzia na Domene B sa nespravne atribuuje.

GA4 to riesi tak, ze k odkazom pripoji parameter _gl. Tento parameter prenesie client ID navstevnika zo zdrojovej domeny na cielovu domenu, takze Google tag na prijimajucej strane moze pokracovat v session namiesto toho, aby zacinaI novu.

Jednoduchy koncept. Krehka implementacia.

Kedy cross-domain tracking skutocne potrebujete

Nie kazdy multi-domenovy setup ho vyzaduje. Tu je rozhodovaci ramec, ktory pouzivam:

ScenarTreba cross-domain?Preco
blog.brand.com + brand.com (subdomeny)NieGA4 sleduje subdomeny rovnakeho root domainu automaticky
brand.com + shop.brand.io (rozne root domeny, rovnaka firma)AnoRozne root domeny znamenaju rozne first-party cookie jars
brand.com + partnersite.com (oddelene firmy)Vacsinou nieSamostatne GA4 property su cistejsie, pokial naozaj nezdielate spolocny funnel
brand.com + vlozeny payments.stripe.com iframeEdge casePozrite sekciu o iframe nizsie

Pravidlo je jednoduche: ak pouzivatel klikne na odkaz z jednej root domeny na inu root domenu a obe domeny patria do vasej property, potrebujete cross-domain tracking. Ak sa domeny navzajom v ramci session neprelinkuju, vynechajte ho --- setup pridava zlozitost bez akejkolvek analytickej hodnoty.

Nastavenie cross-domain tracking v GA4 cez Admin UI

Google presunul konfiguraciu cross-domain trackingu do admin rozhrania a pre vacsinu setupov je to odporucana cesta. Ziadne zmeny v kode nie su potrebne.

  1. Otvorte Admin > Data Streams a vyberte vas web data stream.
  2. Kliknite na Configure tag settings.
  3. Zvolte Configure your domains.
  4. Pridajte kazdu root domenu, ktora ma zdielat session (napr. brand.com, shop.brand.io).
  5. Ulozte.

GA4 teraz bude automaticky dekorovat odchadzajuce odkazy na uvedene domeny parametrom _gl. Taktiez automaticky spravuje vylucenie referralov, takze uz nemusite manualne pridavat domeny do nastavenia "List unwanted referrals" tak, ako ste to robili v Universal Analytics.

Obe domeny musia mat rovnake GA4 measurement ID (rovnaka property, rovnaky data stream). Ak na Domene B nie je tag nainstalovany alebo pouziva ine measurement ID, parameter _gl sa ignoruje a session sa aj tak rozbije.

Cross-Domain Tracking s Google Tag Managerom

Ak spravujete tagy cez GTM --- a vacsina setupov, ktore auditujem, to tak robi --- konfiguracia je mierne odlisna. Cross-domain tracking s Google Tag Managerom zahrnuje nastavenie zoznamu domen na vasom Google Tagu (kedysi GA4 Configuration tag):

  1. V GTM otvorte vas Google Tag (tag s vasiim G-XXXXXXX measurement ID).
  2. V casti Configuration settings pridajte pole s nazvom linker a hodnotou {"domains":["brand.com","shop.brand.io"]}.
  3. Ak sa cross-domain navigacia deje cez odoslanie formulara (napr. vyhladavaci formular, ktoreho action smeruje na inu domenu), pridajte do linker objektu aj "decorate_forms": true.
  4. Publikujte a overte.

Alternativne mozete zoznam domen nastavit v GA4 admin UI podla postupu vyssie a nechat GTM spustat tag bez dalsich linker nastaveni. Dokumentacia od Googlu odporuca pristup cez admin UI pre vacsinu pouzivatelov, ale metoda cez GTM vam dava detailnejsiu kontrolu --- najma ked potrebujete decorate_forms alebo ked spravujete viacero property v jednom kontajneri.

Klucovy bod pri cross-domain tracking GTM setupoch: zoznam domen v GTM a zoznam domen v GA4 Admin sa musia zhodovat. Nezhody su jednym z najcastejsich dovodov, preco cross-domain tracking zlyha pocas tracking auditov.

Overenie, ze to funguje

Nespaliehajte sa len na konfiguraciu. Otestujte ju.

  1. Skontrolujte URL. Kliknite na odkaz z Domeny A na Domenu B. Cielova URL by mala obsahovat parameter _gl=. Ak ho neobsahuje, dekorator sa nespusta.
  2. Skontrolujte client ID. Otvorte konzolu prehliadaca na oboch domenach a spustite document.cookie. Hodnota _ga cookie by po navigacii mala obsahovat rovnake client ID na oboch stranach.
  3. Pouzite DebugView. V GA4 zapnite DebugView a prejdite cross-domain cestou. Oba page_view eventy by sa mali zobrazit pod jednym zariadenim, nie dvoma.
  4. Skontrolujte Realtime report. Prejdite z Domeny A na Domenu B a overte, ze vidite jednu aktivnu session, nie dve.
  5. Skontrolujte zdroje navstevnosti. Po niekolkych dnoch zberu dat otvorte report Traffic Acquisition a vyfiltrujte podla zdroja. Ak vidite shop.brand.io ako referral zdroj, setup je rozbity.

Parameter _gl: Co moze pokazit

Parameter _gl je zakladny pilier GA4 cross-domain trackingu. Ked zlyha on, zlyha vsetko. Tu su najcastejsie sposoby zlyhania, s ktorymi sa stretavam:

Presmerovanie odrezava parameter. Ak landing page Domeny B vykonava 301 alebo 302 presmerovanie (napr. vynucovanie lomitka na konci alebo presmerovanie HTTP na HTTPS), parameter _gl sa casto pocas presmerovania stratí. Riesenie: nastavte server tak, aby zachovaval query parametre pocas presmerovani.

Bezpecnostne pravidla ho blokuju. Web Application Firewalls (WAF) a serverove bezpecnostne pravidla niekedy odmietnu URL obsahujuce neocakavane query parametre. Parameter _gl moze spustit tieto filtre. Riesenie: pridajte _gl na whitelist vo vasom WAF alebo CDN pravidlach.

Navigacia riadena JavaScriptom. Vstavaný dekorator funguje len pri standardnych kliknutiach na <a> tag odkazy. Ak vas web pouziva window.location.href alebo JavaScript router na cross-domain navigaciu, parameter _gl sa automaticky neprida. Riesenie: pouzite utilitu glBridge alebo manualne dekorujte URL pred navigaciou.

Odoslanie formularov. Standardne GA4 nedekoruje action URL formularov. Ak formular na Domene A odosle data na Domenu B, musite v konfiguraci linkera povolit decorate_forms.

Ak vam tieto edge cases prichadzaju zname a nie ste si isti, ci ich vas setup zvlada, mozem auditovat vas tracking a povedat vam presne, co treba opravit.

Iframe cross-domain tracking

Iframe cross-domain tracking je specialny pripad, ktory zabudovane cross-domain meranie GA4 nepokryva. Ked vlozite iframe z inej domeny (napr. widget na rezervacie od tretej strany alebo platobny formular), iframe bezi v samostatnom browsing kontexte s vlastnym cookie jarom. Dekorator _gl sa k nemu nedostane, pretoze medzi rodicovskou strankou a iframe nedochadza ku kliknutiu na odkaz.

Najspolahlivejsi pristup je metoda postMessage:

  1. Do iframe naintalujte lahky script, ktory posiela interakcne eventy na rodicovsku stranku cez window.postMessage.
  2. Na rodicovskej stranke pridajte GTM Custom HTML tag, ktory pocuva tieto spravy a pushuje ich do dataLayer.
  3. Pouzite standardne GA4 event tagy v rodicovskom kontajneri na spustanie eventov z dataLayer.

Tento pristup udrzuje vsetko sledovanie zjednotene pod GA4 session rodicovskej stranky. Samotny iframe nepotrebuje vlastny GA4 tag.

Bezpecnostna poznamka: Vzdy validujte event.origin vo vasom postMessage listeneri. Akceptujte len spravy z konkretnej domeny, ktoru ocakavate.

Pre zlozite iframe tracking scenare --- najma tie, ktore zahrnuju spravovanie consentu a server-side tracking --- implementacia sa rychlo stava nuansovanou. Nespravne nastaveny setup moze bud uplne zmeska eventy, alebo ich zdvojnasobi.

Obmedzenia prehliadacov, ktore ovplyvnuju cross-domain tracking

Aj dokonale nastaveny setup naraza na prekazky zo strany privatnych funkcii prehliadacov.

Safari ITP obmedzuje zivotnost cookies nastavenych JavaScriptom na 7 dni pouzivania Safari bez interakcie. Ak pouzivatel navstivi Domenu A, dostane client ID cookie a nevrati sa 8 dni, cookie je prec. Horsie: ak pouzivatel prisiel cez dekorovany odkaz (obsahujuci tracking parametre ako gclid), ITP obmedzuje cookie na len 24 hodin.

Pre cross-domain tracking je to dolezite, pretoze parameter _gl prenasa client ID nastaveny cez JavaScript. Na Safari moze byt toto client ID uz expirovane, ked sa pouzivatel vrati, co spatne narusuje session stitching.

Firefox Enhanced Tracking Protection rozdeluje cookies podla top-level domeny, co moze narusit scenare zahrnujuce third-party kontexty.

Strategia na zmiernenie je nastavit GA4 cookie na strane servera cez HTTP hlavicku Set-Cookie, ktora je vynata z 7-dnoveho limitu ITP. To je jedna z praktickych vyhod server-side trackingu a dovod, preco ho odporucam popri kazdej cross-domain implementacii pre stranky s vyznamnou navstevnostou zo Safari.

Cross-Domain Tracking a Consent Mode

Ak ste implementovali Google Consent Mode v2, uvedomte si, ako interaguje s cross-domain trackingom.

Ked pouzivatel odmietne analyticky cookies, GA4 funguje v cookieless rezime a nezapisuje client ID cookie. Dekorator _gl moze stale pripojit parameter, ale bez ulozeneho client ID na cielovej domene sa kontinuita session opiera vylucne o modelovane data od Googlu.

V praxi to znamena, ze presnost vasho cross-domain trackingu priamo zavisi od vasich consent ratios. Ak 40 % vasich pouzivatelov odmietne analyticky consent, priblizne 40 % vasich cross-domain ciest nebude deterministicky sledovanych. To je dalsi dovod, preco first-party data strategia je dolezitejsia nez kedykolvek predtym --- spoliehat sa len na client-side cookies zanechava rastuce medzery vo vasich datach.

Debugging checklist

Ked sa cross-domain tracking v Google Analytics rozbije, prechadzam tento checklist:

  1. Je na oboch domenach rovnake measurement ID (G-XXXXXXX)?
  2. Su obe domeny uvedene v Admin > Data Streams > Configure your domains?
  3. Ak pouzivate GTM, zhoduje sa zoznam domen v linkeri s konfiguraciou v GA4 Admin?
  4. Objavi sa parameter _gl v cielovej URL po kliknuti na cross-domain odkaz?
  5. Neorezava cielova stranka query parametre cez presmerovania alebo URL rewrites?
  6. Neblokuje WAF alebo CDN URL obsahujuce parameter _gl?
  7. Su odoslania formularov dekorovane (je povoleny decorate_forms)?
  8. Blokuje consent mode ukladanie cookies pre vyznamny podiel pouzivatelov?
  9. Na Safari --- su cookies nastavovane na strane servera, aby sa obisiel 7-dnovy limit ITP?
  10. Pre iframy --- je postMessage bridge implementovany a validovany voci spravnemu originu?

Ak splnite vsetkych desat bodov a konverzie stale nesedia medzi GA4 a Google Ads, problem moze byt vyssie --- atribucne okna, metody pocitania konverzii alebo podmienky spustania tagov.

FAQ

Co je cross-domain tracking v GA4?

Cross-domain tracking je funkcia GA4, ktora vam umoznuje sledovat jednu session pouzivatela napriec viacerymi root domenami. Funguje tak, ze k URL pripoji parameter _gl, aby cielova domena mohla pokracovat v session namiesto zacinania novej. Bez neho kazda domena vytvori samostatneho pouzivatela a session, co narusuje atribuciu.

Potrebujem cross-domain tracking pre subdomeny?

Nie. GA4 automaticky sleduje subdomeny rovnakeho root domainu ako jednu stranku, pokial zdielaju rovnake measurement ID a data stream. Cross-domain tracking je potrebny len vtedy, ked pouzivatelia naviguju medzi roznymi root domenami, napriklad brand.com a shop.brand.io.

Preco mi cross-domain tracking nefunguje?

Najcastejsie priciny su nezhoda zoznamov domen medzi GTM a GA4 Admin, serverove presmerovania, ktore orezavaju parameter _gl, WAF pravidla blokujuce nezname query parametre a chybajuca instalacia tagu na cielovej domene. Skontrolujte, ci parameter _gl prezije cely redirect chain az po finalnu landing page.

Mozem sledovat pouzivatelov vo vnutri iframe z inej domeny?

Nativny cross-domain tracking v GA4 pre iframy nefunguje, pretoze medzi rodicovskou strankou a iframe nedochadza ku kliknutiu na odkaz. Odporucany pristup je pouzit JavaScript postMessage API na odosielanie eventov z iframe na rodicovsku stranku a nasledne spustat GA4 eventy z rodicovskeho kontajnera. Tym sa sledovanie zjednoti pod jednu session.

Funguje cross-domain tracking, ked pouzivatelia blokuju cookies?

Ked su analyticky cookies blokovane cez odmietnutie consentu, GA4 prejde na cookieless pingy a modelovane data. Parameter _gl sa moze stale pripojit k URL, ale bez ulozeneho client ID na cielovej domene nie je deterministicky session stitching mozny. Presnost vasho cross-domain trackingu bude umerna vasej miere akceptovania consentu.

Nie ste si isti, ci vas cross-domain tracking naozaj funguje? Objednajte si tracking audit --- zmapujem kazdu medzeru a poviem vam presne, co treba opravit.

Pripravený opraviť meranie marketingu?

Vyplniť assessment →