Setup Steps
- Adobe Advertising Cloud relies on Adobe Experience Cloud ID Service (ECID) for cross-domain visitor identification.
- Implement ECID on all domains where users interact before conversion to maintain visitor continuity.
- For cross-domain scenarios (e.g., main site to checkout subdomain or third-party payment processor), ensure ECID is passed and preserved.
- Configure ECID service with all domains in the visitor API configuration for automatic ID sharing.
- Implement server-side conversion tracking via API for domains where client-side tags cannot fire.
- Verify domain ownership and SSL certificates on all domains to prevent tracking interruptions.
Adobe Experience Cloud ID (ECID) Cross-Domain Setup
Implement ECID service on all domains to enable automatic cross-domain tracking:
// Initialize ECID on Domain A (main site)
var visitor = Visitor.getInstance("YOUR_ORG_ID@AdobeOrg", {
trackingServer: "YOUR_TRACKING_SERVER",
trackingServerSecure: "YOUR_SECURE_TRACKING_SERVER",
marketingCloudServer: "YOUR_TRACKING_SERVER",
marketingCloudServerSecure: "YOUR_SECURE_TRACKING_SERVER"
});
// Initialize ECID on Domain B (checkout site)
var visitor = Visitor.getInstance("YOUR_ORG_ID@AdobeOrg", {
trackingServer: "YOUR_TRACKING_SERVER",
trackingServerSecure: "YOUR_SECURE_TRACKING_SERVER",
marketingCloudServer: "YOUR_TRACKING_SERVER",
marketingCloudServerSecure: "YOUR_SECURE_TRACKING_SERVER"
});
When ECID is properly implemented on both domains:
- Visitor ID is automatically maintained across domains using URL parameters.
- ECID service appends adobe_mc parameter to cross-domain links.
- Conversion attribution is preserved even when transaction completes on different domain.
Passing ECID Between Domains
For manual cross-domain linking or when automatic passing is not possible:
URL Parameter Method: Append ECID as query parameter when redirecting to another domain:
// Get ECID from visitor service var ecid = visitor.getMarketingCloudVisitorID(); // Append to cross-domain link var crossDomainURL = "https://checkout.example.com?ecid=" + ecid;Server Session Method: Store ECID in server-side session when user initiates checkout, then retrieve on destination domain.
Form Field Method: Include ECID as hidden form field when submitting to external payment processor:
<input type="hidden" name="ecid" value="MCMID|12345678901234567890" />
Third-Party Payment Providers & Embedded Checkouts
- If using Stripe, PayPal, or other embedded checkout solutions, confirm they allow URL parameter passthrough or postMessage communication.
- For providers that redirect to external domains, pass ECID, AMO ID, and transaction ID via URL parameters or secure tokens.
- Use Adobe Advertising Cloud Conversion API to send server-side conversions when payment provider confirms transaction, including original ECID for attribution.
- Test the full checkout flow using Adobe Experience Cloud Debugger to confirm ECID persists throughout journey.
Subdomains & Cookie Sharing
- ECID service automatically works across subdomains when properly configured (e.g., www.example.com and checkout.example.com).
- Verify the ECID cookie domain setting allows sharing across subdomains (should be set to .example.com).
- For completely different domains (example.com to partner-checkout.com), use URL parameter passing or server-side API approach.
AMO ID and Click Attribution
Adobe Media Optimizer ID (AMO ID, also known as s_kwcid) tracks advertising click attribution:
- AMO ID is automatically appended to landing page URLs from Adobe Advertising Cloud campaigns.
- Preserve AMO ID throughout user session using cookies, session storage, or hidden form fields.
- Pass AMO ID to conversion tags or API calls to enable proper campaign attribution.
- When crossing domains, include AMO ID in URL parameters or server-side session data.
Example AMO ID preservation:
// Capture AMO ID from landing page URL
var amoID = getURLParameter('s_kwcid');
// Store in session storage
sessionStorage.setItem('amo_id', amoID);
// Retrieve on conversion page
var storedAMOID = sessionStorage.getItem('amo_id');
// Pass to conversion tag
var ev_amo_id = storedAMOID;
Edge Cases
- When using iframes for embedded content, ECID may not pass if third-party cookies are blocked; use server-side API as fallback.
- For mobile app-to-web transitions, use app SDK to pass ECID or customer ID to web session for continuity.
- If user moves between devices, ECID enables cross-device tracking when user authenticates and customer ID is synced.
- For offline-to-online journeys (store visit followed by online purchase), use customer ID matching via server-side API.
Validation
- Use Adobe Experience Cloud Debugger to check that ECID is present on all domains in user journey.
- Review Adobe Advertising Cloud conversion reports to confirm cross-domain conversions attribute correctly.
- Test cross-domain flows in incognito/private mode to simulate new user sessions and verify ECID passing.
- Check Adobe Analytics reports to ensure visitor continuity across domains (same visitor ID).
- Monitor conversion API logs for errors related to missing ECID or attribution data.
Recommended Approach
For best results, implement a comprehensive cross-domain strategy:
- ECID on all domains: Deploy Adobe Experience Cloud ID Service on every domain in user journey.
- Automatic URL passing: Let ECID service automatically append adobe_mc parameter to cross-domain links.
- Manual passthrough for external sites: Use URL parameters to pass ECID to third-party checkout or payment providers.
- Server-side API backup: Implement conversion API for cases where client-side tags cannot fire.
- AMO ID preservation: Maintain advertising click attribution data throughout session across all domains.
- Testing and validation: Use Adobe Experience Cloud Debugger and test all cross-domain paths before production.