Adobe Analytics Cross-Domain Tracking | OpsBlu Docs

Adobe Analytics Cross-Domain Tracking

How to track users across multiple domains and subdomains with Adobe Analytics. Covers cross-domain configuration, cookie handling, session stitching, and.

Overview

Cross-domain tracking in Adobe Analytics ensures visitor sessions persist when users navigate between different domains you own. Adobe uses the Experience Cloud ID (ECID) Service to maintain visitor identity across domains, combined with proper cookie configuration and identity stitching.

When Cross-Domain Tracking Is Required

  • Multi-domain journeys: Main site on www.example.com, checkout on secure.example.com
  • Third-party payment processors: Redirects to payment gateways that return users to confirmation pages
  • Regional or brand domains: brand.com, brand.co.uk, subbrand.com
  • Mobile app to web: App deep links that open web content on different domains
  • Single sign-on flows: Authentication redirects across identity provider domains
  • Partner integrations: Journeys that span owned and partner domains

ECID Service Configuration

Deploying the Experience Cloud ID Service

The ECID Service is the foundation for cross-domain visitor identification:

// Via Adobe Launch (Tags)
// Deploy the ECID extension with your Organization ID
{
  "name": "Experience Cloud ID",
  "orgId": "YOUR_ORG_ID@AdobeOrg",
  "loadSSL": true,
  "cookieDomain": ".example.com",
  "idSyncContainerID": 0
}

Set the cookie domain to enable subdomain sharing:

// In ECID configuration
Visitor.getInstance("YOUR_ORG_ID@AdobeOrg", {
  trackingServer: "metrics.example.com",
  trackingServerSecure: "smetrics.example.com",
  cookieDomain: ".example.com", // Leading dot for subdomain access
  cookieLifetime: 63072000 // 2 years in seconds
});

First-Party CNAME Implementation

For improved data collection reliability:

  1. Set up CNAME records pointing to Adobe's collection servers:

    • metrics.example.com → Adobe tracking server
    • smetrics.example.com → Adobe secure tracking server
  2. Request SSL certificate from Adobe for your CNAME domains

  3. Configure in Launch/DTM:

    • Tracking Server: metrics.example.com
    • Tracking Server Secure: smetrics.example.com

Cross-Domain ID Sharing

When journeys span entirely different domains (not just subdomains):

// Enable ID sharing via URL parameter
Visitor.getInstance("YOUR_ORG_ID@AdobeOrg", {
  trackingServer: "metrics.example.com",
  idSyncContainerID: 0,
  useCORSOnly: false,
  appendVisitorIDsTo: function(url) {
    // Automatically append ECID to cross-domain links
    return Visitor.appendVisitorIDsTo(url);
  }
});

Decorate cross-domain links:

// Automatically append visitor data to links
var link = "https://partner-domain.com/landing";
var decoratedLink = Visitor.appendVisitorIDsTo(link);
// Result: https://partner-domain.com/landing?adobe_mc=MCMID%3D...

URL Parameter Structure

The adobe_mc parameter contains:

Component Description
MCMID Marketing Cloud Visitor ID
MCAID Analytics Visitor ID
MCORGID Experience Cloud Organization ID
TS Timestamp for validation

Example decorated URL:

https://checkout.example.com/cart?adobe_mc=MCMID%3D12345%7CMCORGID%3DORG%40AdobeOrg%7CTS%3D1234567890

Configure the ECID extension to auto-decorate links:

  1. Open the ECID extension settings in Launch
  2. Enable Automatically request visitor ID
  3. Add domains to Automatically decorate links to these domains
  4. Save and publish

For dynamic or programmatic links:

// Get decorated URL
var destinationUrl = "https://partner.com/page";
var trackedUrl = Visitor.appendVisitorIDsTo(destinationUrl);

// Apply to link element
document.getElementById("partner-link").href = trackedUrl;

Referral Exclusions

Prevent internal domains from appearing as traffic sources:

  1. Go to Admin > Report Suites > Edit Settings > General > Internal URL Filters
  2. Add all internal domains:
    • example.com
    • checkout.example.com
    • secure.example.com

Without referral exclusions, users returning from checkout domains create new visits and lose attribution.

Third-Party Checkout Integration

Payment Provider Flow

example.com → stripe.com → example.com/confirmation
  1. Pre-redirect: Capture ECID and pass to payment provider
  2. Return URL: Include adobe_mc parameter in callback URL
  3. Confirmation page: ECID Service reads parameter and restores identity

Implementation Example

// Before redirecting to payment
var ecid = Visitor.getInstance("YOUR_ORG_ID@AdobeOrg").getMarketingCloudVisitorID();

// Store in session or pass to server
sessionStorage.setItem('adobe_ecid', ecid);

// Configure return URL with ID
var returnUrl = Visitor.appendVisitorIDsTo('https://example.com/order-complete');

On return, the ECID extension automatically reads the adobe_mc parameter.

A/B Testing Integration (Target/A4T)

When using Adobe Target for experimentation across domains:

Consistent Tracking Server Configuration

Ensure all domains use the same:

  • Tracking server configuration
  • Report suite IDs
  • ECID Organization ID

A4T Setup

// Both domains must have matching configuration
Visitor.getInstance("YOUR_ORG_ID@AdobeOrg", {
  trackingServer: "metrics.example.com",
  marketingCloudServer: "YOUR_ORG_ID.tt.omtrdc.net"
});

// Target initialization
adobe.target.init({
  clientCode: "your_client_code",
  serverDomain: "your_client_code.tt.omtrdc.net",
  visitorApiTimeout: 2000
});

Validating A4T Cross-Domain

  1. Open Experience Platform Debugger on both domains
  2. Verify ECID matches across domains
  3. Confirm Target PCID/TNT ID consistency
  4. Check that A4T attribution persists through the journey

Edge Cases and Considerations

Safari ITP Impact

Safari's Intelligent Tracking Prevention affects cross-domain cookies:

Mitigations:

  1. Use server-side cookie setting where possible
  2. Implement FPID (First-Party ID) strategy
  3. Use adobe_mc URL parameter for critical journeys

Cross-domain tracking must respect user consent:

// Check consent before decorating links
if (userHasConsent('analytics')) {
  link.href = Visitor.appendVisitorIDsTo(link.href);
}

iFrame Considerations

For embedded content across domains:

  • Parent and child frames need separate ECID instances
  • Use postMessage to share visitor IDs between frames
  • Consider whether iframe tracking provides actionable insights

Validation and Testing

Adobe Experience Platform Debugger

  1. Install the Experience Platform Debugger extension
  2. Navigate through cross-domain journey
  3. Verify ECID matches on each domain
  4. Confirm report suite and tracking server consistency

Assurance (Griffon)

For mobile and complex implementations:

  1. Create an Assurance session
  2. Connect your devices/browsers
  3. Monitor ECID propagation across domain transitions
  4. Validate hit payloads contain expected identifiers

Network Tab Validation

Check b/ss requests in browser DevTools:

  1. Open Network tab
  2. Filter for requests to your tracking server
  3. Verify mid (Marketing Cloud ID) parameter is consistent
  4. Confirm pageName and pe (event) values are correct

Real-Time Reports

  1. Open Reports > Site Content > Pages (Real-Time if enabled)
  2. Navigate through cross-domain journey
  3. Confirm visits don't split at domain boundaries

Troubleshooting

Symptom Likely Cause Solution
New visit on subdomain Cookie domain misconfigured Add leading dot to cookieDomain
ECID differs across domains URL decoration not working Enable appendVisitorIDsTo
Internal domains as referrers Missing referral exclusion Add to internal URL filters
Safari users losing identity ITP blocking Implement FPID or server-side cookies
A4T data not matching Tracking server mismatch Align configuration across domains
Payment return loses visitor Return URL not decorated Pass adobe_mc in callback URL

Solution Design Considerations

Document cross-domain requirements in your Solution Design Reference:

Element Description
Domains in scope List all domains participating in tracking
CNAME configuration Tracking servers per domain
Cookie domain settings Root domains for cookie sharing
URL decoration rules Which links require ECID appending
Referral exclusions Internal domains to exclude
Fallback strategy Behavior when URL decoration fails