Home/Blog/Implementation
Implementation7 min read

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.

GA4, cross-domain, tracking, sessions

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

  1. Go to Admin → Data Streams → Select your stream
  2. Click "Configure tag settings"
  3. Click "Configure your domains"
  4. 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