Cross Domain tracking will not work as intended if the ECID is rejected initially (or previously). It will not check the existing IDs that were either passed via URL or previously existed in the cookie, considering those were the IDs when the consent was set to “NO”.
This function lets you share a visitor’s Experience Cloud ID across domains when browsers block third-party cookies. To use this function, you must have implemented the ID service and own the source and destination domains. Available in VisitorAPI.js version 1.7.0 or higher.
Contents:
ID service writes a first- and third-party cookie to the browser when a person visit your site (see Cookies and the Experience Cloud Identity Service ). The first-party cookie contains the MID, a unique ID for that visitor. The third-party cookie contains another ID used by the ID service to generate the MID. When a browser blocks this third-party cookie, the ID service cannot:
To help solve this problem, implement Visitor.appendVisitorIDsTo( *
url*)
. This property lets the ID service track site visitors across multiple domains even when their browsers block third-party cookies. It works like this:
Visitor.appendVisitorIDsTo( *
url*)
appends the MID as a query parameter in the URL redirect from the original domain to the destination domain.See the code sample for details.
The following example code can help you get started with the appendVisitorIDsTo
function:
This code can be placed in the Custom Code editor that’s part of the Adobe Analytics extension or at the top of AppMeasurement.js.
var adbeDomains = ["marketo.com", "figma.com", "workfront.com"];
var visitor = Visitor.getInstance("9E1005A551ED61CA0A490D45@AdobeOrg", {
trackingServer: "sstats.adobe.com",
trackingServerSecure: "sstats.adobe.com",
marketingCloudServer: "sstats.adobe.com",
marketingCloudServerSecure: "sstats.adobe.com"
});
adbeDomains.forEach(function(domain) {
var domainRegex = RegExp(domain);
if (!domainRegex.test(location.hostname)) {
hrefSelector = '[href*="' + domain + '"]';
document.querySelectorAll(hrefSelector).forEach(function(href) {
href.addEventListener('mousedown', function(event) {
var destinationURLWithVisitorIDs = visitor.appendVisitorIDsTo(event.currentTarget.href)
event.currentTarget.href = destinationURLWithVisitorIDs.replace(/MCAID%3D.*%7CMCORGID/, 'MCAID%3D%7CMCORGID');
});
});
}
});