Cross-domain tracking is essential for Australian businesses that operate across multiple websites, such as a main brand site and a separate booking engine or e-commerce platform. Without it, a single user session is broken into two, leading to inflated visitor counts and making it impossible to see which marketing channel actually drove your sales or leads.
In this guide, we will walk you through the process of configuring cross-domain tracking in Google Analytics 4 (GA4) to ensure your data is accurate and actionable.
Prerequisites: What You’ll Need
Before we start, ensure you have the following ready:- Administrator access to your Google Analytics 4 property.
- Google Tag Manager (GTM) access (recommended) or the ability to edit your website code.
- The Measurement ID for your GA4 data stream (e.g., G-XXXXXXXXXX).
- A list of all domains you wish to link (e.g.,
yourbusiness.com.auandbookings-site.com).
---
Step 1: Identify Your Primary and Secondary Domains
Start by listing every domain where the customer journey takes place. For many Brisbane businesses, this might look like your main WordPress site and a third-party platform like Shopify, Cliniko, or Mindbody. Note: You do not need cross-domain tracking for subdomains (e.g.,blog.yourbusiness.com.au and yourbusiness.com.au). GA4 handles these automatically.
Step 2: Ensure the Same GA4 Property is on Both Sites
For cross-domain tracking to work, both websites must send data to the exact same GA4 Measurement ID. Screenshot Description: Open your website, right-click and select 'View Page Source'. Search (Ctrl+F) for your Measurement ID (G-). Ensure this ID is identical on both Domain A and Domain B.Step 3: Access Data Stream Settings
Log in to your Google Analytics account. Click the Admin (cog icon) in the bottom left corner. Under the Data collection and modification section, click on Data streams. Select the web data stream that corresponds to your primary website.Step 4: Configure Tag Settings
Scroll down to the bottom of the Web stream details page. Under the 'Google tag' section, click on Configure tag settings. This opens a new window where you can manage how the Google tag behaves across your domains.Step 5: Define Your Domains
In the 'Settings' tab of the Google tag configuration, look for the option titled Configure your domains. Click the edit (pencil) icon. This is where the magic happens.Step 6: Add Domain Conditions
Click Add condition.- Under 'Match type', select Contains.
- Under 'Domain', enter your primary domain (e.g.,
localbusiness.com.au). - Click Add condition again.
- Enter your secondary domain (e.g.,
thirdpartybooking.com).
Click Save in the top right corner.
Pro Tip: Only include domains that you actually own or have control over the tracking code for. Including external sites like PayPal or Facebook will not work and can clutter your data.
Step 7: Update Your Referral Exclusion List
By default, GA4 identifies the domains you configured in Step 6 as internal traffic. However, it is good practice to double-check your 'List unwanted referrals' setting.In the same 'Configure tag settings' menu, click Show all to reveal more options. Select List unwanted referrals and ensure your domains are listed here. This prevents a new session from starting when a user clicks back and forth between your sites.
Step 8: Verify via Real-Time Reports
Now it is time to test. Open your website in an Incognito/Private browser window. Click a link that takes you from Domain A to Domain B. What to look for: Look at the URL of Domain B. You should see a URL parameter that looks like?_gl=1xxxxxx.... This is the 'linker' parameter that passes the Client ID between the sites.
Step 9: Check GA4 DebugView
Go back to GA4, click on Admin, then DebugView. If you have the 'Google Analytics Debugger' Chrome extension enabled, you can watch your session in real-time. Ensure that as you move between domains, yourpage_view events are still associated with the same 'page_referrer' and user ID.
---
Common Mistakes to Avoid
- Using Different GA4 Properties: If Domain A uses G-123 and Domain B uses G-456, cross-domain tracking will never work. They must share the same Measurement ID.
- Forgetting Subdomains: While GA4 handles subdomains, some custom setups might break this. Always test
sub.domain.comtodomain.comjust in case. - Manual Linker Overrides: If you are using GTM, ensure you haven't manually set 'allowLinker' to false in your configuration tags.
Troubleshooting
Issue: The _gl parameter isn't appearing in the URL.- Solution: Check if your site uses a redirect. If Domain A links to a URL that redirects before landing on Domain B, the linker parameter might be stripped away. You may need to update the link to point directly to the final destination.
- Solution: It can take up to 24-48 hours for GA4 to fully process cross-domain data in standard reports. Rely on the Real-Time report and the URL parameter check for immediate verification.
- Solution: Tracking inside an iframe (like an embedded booking form) is notoriously difficult. You often need to pass the Client ID into the iframe src attribute using custom JavaScript. If you're stuck here, it's best to contact our technical team.
---
Next Steps
Once your cross-domain tracking is live, your data will be significantly cleaner. You can now:- Set up Conversions: Track a 'Thank You' page on Domain B as a lead for Domain A.
- Analyse User Paths: Use the 'Exploration' tool in GA4 to see how users navigate between your sites.
- Refine Ad Spend: See which Brisbane-targeted Google Ads are actually resulting in bookings on your secondary site.
Need help getting your analytics sorted? Our Brisbane-based team specialises in technical GA4 setups for local businesses. Contact Local Marketing Group today to ensure your data is working as hard as you are.