Cross-Domain Tracking in GA4: Setup & Troubleshooting
How to configure cross-domain tracking in GA4 so sessions persist across multiple domains. Includes common issues and debugging tips.
If your users navigate between multiple domains (e.g., your marketing site and a separate checkout or app domain), you need cross-domain tracking. Without it, GA4 treats each domain transition as a new session, breaking your funnel data.
When You Need Cross-Domain Tracking
- Marketing site on `yoursite.com`, checkout on `checkout.yoursite.com` (subdomains are usually automatic, but verify)
- Main site on `yoursite.com`, booking on `booking-platform.com`
- Blog on `blog.yoursite.com`, app on `app.yoursite.com`
Note: Subdomains of the same root domain usually share cookies automatically. Cross-domain tracking is primarily for different root domains.
Setup in GA4
- Go to Admin → Data Streams → Select your stream
- Click "Configure tag settings"
- Click "Configure your domains"
- Add all domains that should share sessions
GA4 will automatically append a _gl parameter to links between configured domains, passing the client ID.
Setup in GTM
If using GTM, configure cross-domain tracking in your GA4 Configuration tag:
1. Open your GA4 Config tag
2. Under "Fields to Set," add linker parameter
3. Set domains in the linker configuration
Troubleshooting Common Issues
Self-Referrals
If your own domain appears as a referral source in traffic reports:
- Verify all domains are added to the cross-domain list
- Check for redirects that strip the _gl parameter
- Ensure all pages on both domains have the GA4 tag
Session Breaking
If sessions are still splitting at domain boundaries:
- Look for intermediate redirect pages that don't have GA4 installed
- Check if a WAF or CDN is stripping URL parameters
- Verify the _gl parameter is present on cross-domain links
Cookie Consent Interference
Some consent tools block cookies before consent, which prevents the _gl parameter from being read. Ensure your consent tool allows the GA4 linker to function for essential analytics.
Validation
Test cross-domain tracking by:
1. Opening GA4 DebugView on both domains
2. Starting a session on Domain A
3. Clicking a link to Domain B
4. Verifying the same client_id appears in both DebugView streams
Verify your cross-domain setup — run a free audit →
Check your GA4 implementation
Run a free AI-powered audit to see how your tracking stacks up.
Start Free Audit