How to set up Google Analytics cross-domain tracking?
Answer
Cross-domain tracking in Google Analytics 4 (GA4) ensures accurate user journey measurement across multiple websites by preserving session and client identifiers as visitors move between domains. Without this setup, GA4 treats each domain visit as a separate session, inflating user counts and distorting conversion data. The process requires configuring a shared GA4 property across all domains and specifying the included domains in the Admin interface. While subdomains are automatically tracked, separate domains (like example.com and partner.com) need explicit cross-domain measurement to maintain data continuity.
Key requirements for successful implementation:
- All domains must use the same GA4 Measurement ID (cross-domain tracking cannot work with separate GA accounts) [1][4][6]
- Configuration is done through GA4 Admin > Data Streams > Configure Tag Settings [1][7][10]
- Testing is critical to verify the
_glURL parameter appears on cross-domain links [5][10] - Subdomains (e.g., shop.example.com) do not require cross-domain tracking [1][3][10]
Setting Up Google Analytics 4 Cross-Domain Tracking
Prerequisites and Core Requirements
Before configuring cross-domain tracking, ensure your setup meets GA4鈥檚 technical requirements. The most critical prerequisite is using a single GA4 property across all domains, as cross-domain tracking cannot bridge separate GA accounts or Measurement IDs. This limitation is explicitly confirmed by Google鈥檚 support documentation and community discussions [4][6]. For example, tracking users from a Japanese domain (jp.example.com) to an English domain (en.example.com) requires both sites to share the same GA4 property; otherwise, cross-domain data will be lost [4].
Additional prerequisites include:
- Google Tag Manager (GTM) or gtag.js implementation: While GA4鈥檚 Admin interface simplifies setup, GTM is recommended for advanced configurations [5][7]
- Editor-level access to the GA4 property to modify data streams and domain settings [9]
- List of all domains to be tracked, including variations (e.g.,
example.comandwww.example.com) [7] - Consent for cookie tracking where legally required (e.g., GDPR compliance) [9]
A common misconception is that cross-domain tracking can work with separate GA accounts. Multiple sources explicitly state this is impossible: "Cross-domain tracking typically requires the same GA4 property across both domains" [4], and attempts to track across different Measurement IDs will result in users being recorded as referrals rather than continuous sessions [6]. For businesses requiring separate analytics accounts (e.g., regional teams), alternative solutions like UTM parameters or API-based data merging must be explored, though these won鈥檛 provide true cross-domain session continuity.
Step-by-Step Configuration Process
The setup process for GA4 cross-domain tracking is centralized in the Admin interface, eliminating the need for manual code changes in most cases. Below is the validated sequence based on consensus across all sources:
- Access the GA4 Admin Panel
Navigate to analytics.google.com, select your property, and click Admin (gear icon in the lower-left corner). Under the Property column, select Data Streams [1][7][10].
- Configure Tag Settings - Select the web data stream associated with your primary domain. - Click Configure Tag Settings (or "Tagging Settings" in some interfaces) [1][8]. - Choose Configure Your Domains (or "Cross-Domain Measurement" in older GA4 versions) [7][9].
- Add Domains for Tracking - In the Domains field, enter all domains to include in cross-domain tracking, separated by commas. Examples: -
example.com,partner.com,checkout.example.com- Ensure no spaces between domains [7][10]. - Exclude subdomains unless they are distinct properties (e.g.,blog.example.comis automatically tracked ifexample.comis listed) [1][3]. - Click Save to apply changes.
- Verify the Setup - Test the
_glparameter: After configuration, click a cross-domain link (e.g., fromexample.comtopartner.com). The destination URL should include a_glparameter (e.g.,partner.com/?_gl=1abc123) [5][10]. - Use DebugView: In GA4, enable DebugView (under Admin > DebugView) to confirm cross-domain hits appear as a single session [10]. - Check Real-Time Reports: Navigate between domains while monitoring the Real-Time report to ensure user continuity [7].
Troubleshooting Common Issues:
- Missing
_glparameter: Ensure the GA4 tag is firing on both domains and no ad blockers are interfering [5]. - Session breaks: Verify all domains are listed in the Configure Your Domains field without typos [7].
- Data discrepancies: Cross-domain tracking does not retroactively fix historical data; only new sessions will be unified [9].
For advanced setups (e.g., dynamic domains or non-HTML environments), manual configuration via gtag.js or Google Tag Manager may be required. This involves creating a linker object to pass client IDs between domains, as documented in Google鈥檚 developer guides [2]. However, the Admin interface method is sufficient for 90% of use cases [5].
Sources & References
analyticsmania.com
developers.google.com
support.google.com
simoahava.com
support.teachable.com
measureschool.com
Discussions
Sign in to join the discussion and share your thoughts
Sign InFAQ-specific discussions coming soon...