Cross-Domain Tracking Overview
Cross-domain tracking allows you to follow a visitor's journey across multiple domains or subdomains, treating them as a single session rather than separate visits.
When You Need Cross-Domain Tracking
Common scenarios:
- Main site + checkout domain: example.com → checkout.example-pay.com
- Multiple brand sites: brand-a.com → brand-b.com
- Subdomains: www.example.com → shop.example.com → blog.example.com
- Landing pages: campaign.example.com → www.example.com
Subdomain Tracking
Automatic Subdomain Tracking
Clicky automatically tracks across subdomains of the same root domain. A visitor moving from www.example.com to shop.example.com is tracked as one session.
Ensure your tracking code uses the same Site ID on all subdomains:
<!-- Same code on all subdomains -->
<script>
var clicky_site_ids = clicky_site_ids || [];
clicky_site_ids.push(YOUR_SITE_ID);
</script>
<script async src="//static.getclicky.com/js"></script>
Cookie Domain Configuration
If automatic tracking isn't working across subdomains:
var clicky_custom = clicky_custom || {};
clicky_custom.cookie_domain = '.example.com'; // Note the leading dot
Cross-Domain Tracking (Different Domains)
Link Decoration Method
Pass the visitor ID via URL parameters when linking between domains:
// On source domain
function decorateLink(url) {
if (typeof clicky !== 'undefined' && clicky.visitor_id) {
var separator = url.indexOf('?') !== -1 ? '&' : '?';
return url + separator + '_clicky_visitor=' + clicky.visitor_id();
}
return url;
}
// Apply to cross-domain links
document.querySelectorAll('a[href*="otherdomain.com"]').forEach(function(link) {
link.addEventListener('click', function(e) {
this.href = decorateLink(this.href);
});
});
Reading Decorated Parameters
On the destination domain, Clicky automatically reads the _clicky_visitor parameter and associates the session.
Form Submission
For forms that submit to another domain:
document.getElementById('cross-domain-form').addEventListener('submit', function() {
if (typeof clicky !== 'undefined' && clicky.visitor_id) {
var input = document.createElement('input');
input.type = 'hidden';
input.name = '_clicky_visitor';
input.value = clicky.visitor_id();
this.appendChild(input);
}
});
Multi-Site Tracking
Single Site ID Approach
Track all domains under one Clicky site:
Pros:
- Unified visitor journey
- Single dashboard
- Cross-domain attribution
Cons:
- Can't separate traffic by domain easily
- Harder to compare domain performance
Multiple Site IDs Approach
Use different Site IDs for each domain:
Pros:
- Separate reports per domain
- Cleaner data segmentation
Cons:
- Visitors counted separately per domain
- No cross-domain journey tracking
Hybrid Approach
Track with both a primary Site ID and domain-specific IDs:
var clicky_site_ids = clicky_site_ids || [];
clicky_site_ids.push(PRIMARY_SITE_ID); // All domains
clicky_site_ids.push(DOMAIN_SPECIFIC_ID); // This domain only
Verification
Testing Cross-Domain Tracking
- Start on Domain A and note the visitor ID (use browser console)
- Click a link to Domain B
- On Domain B, verify the visitor ID matches
- Check Clicky's real-time view to confirm single session
Debug Visitor ID
// In browser console
if (typeof clicky !== 'undefined') {
console.log('Visitor ID:', clicky.visitor_id());
}
Troubleshooting
Session Breaking Between Domains
- Verify link decoration is working
- Check that destination domain reads the parameter
- Ensure same Site ID on both domains
Subdomain Issues
- Confirm cookie domain is set correctly
- Check for conflicting cookie settings
- Verify no duplicate tracking codes
Third-Party Cookie Restrictions
Modern browsers restrict third-party cookies. Use:
- First-party tracking mode
- Link decoration for cross-domain
- Server-side tracking where possible