These instructions are for Analytics customers who want to use the Experience Cloud Identity Service and do not use Data Collection tags. However, we strongly recommend that you use tags to implement the ID service. Tags streamlines the implementation workflow and automatically ensures the correct code placement and sequencing.
Follow these steps to implement the ID Service for Adobe Analytics:
The ID Service requires the VisitorAPI.js
code library. To download this code library:
Go to Admin > Code Manager.
In Code Manager, click either JavaScript (New) or JavaScript (Legacy).
This downloads compressed code libraries.
Decompress the code file and open the VisitorAPI.js
file.
Part 1: Copy the Visitor.getInstance function below
var visitor = Visitor.getInstance("INSERT-MARKETING-CLOUD-ORGANIZATION-ID-HERE", {
trackingServer: "INSERT-TRACKING-SERVER-HERE", // same as s.trackingServer
trackingServerSecure: "INSERT-SECURE-TRACKING-SERVER-HERE", // same as s.trackingServerSecure
// To enable CNAME support, add the following configuration variables
// If you are not using CNAME, DO NOT include these variables
marketingCloudServer: "INSERT-TRACKING-SERVER-HERE",
marketingCloudServerSecure: "INSERT-SECURE-TRACKING-SERVER-HERE" // same as s.trackingServerSecure
});
Part 2: Add function code to the VisitorAPI.js file
Place the Visitor.getInstance
function at the end of the file after the code block. Your edited file should look like this:
/*
========== DO NOT ALTER ANYTHING BELOW THIS LINE ==========
Version and copyright section
*/
// Visitor API code library section
// Put Visitor.getInstance at the end of the file, after the code library
var visitor = Visitor.getInstance("INSERT-MARKETING-CLOUD-ORGANIZATION-ID-HERE", {
trackingServer: "INSERT-TRACKING-SERVER-HERE", // same as s.trackingServer
trackingServerSecure: "INSERT-SECURE-TRACKING-SERVER-HERE", // same as s.trackingServerSecure
// To enable CNAME support, add the following configuration variables
// If you are not using CNAME, DO NOT include these variables
marketingCloudServer: "INSERT-TRACKING-SERVER-HERE",
marketingCloudServerSecure: "INSERT-SECURE-TRACKING-SERVER-HERE" // same as s.trackingServerSecure
});
In the Visitor.getInstance
function, replace INSERT-MARKETING-CLOUD-ORGANIZATION ID-HERE
with your Experience Cloud organization ID. If you do not know your organization ID, you can find it on the Experience Cloud administration page. See also, Administration - Core Services. Your edited function could look similar to the example below.
var visitor = Visitor.getInstance("1234567ABC@AdobeOrg", { ...
Do not change the case of the characters in your organization ID. The ID is case-sensitive and must be used exactly as provided.
Tracking servers are used for Analytics data collection.
Part 1: Find your tracking server URLs
Check your s_code.js
or AppMeasurement.js
files to find the tracking server URLs. You’ll want the URLs specified by these variables:
s.trackingServer
s.trackingServerSecure
Part 2: Set tracking server variables
To determine which tracking server variables to use:
When used, match the Experience Cloud server URLs to their corresponding tracking server URLs like this:
If you’re not sure how to find your tracking server see the FAQ and Correctly Populate the trackingServer and trackingServerSecure variables.
Add this function to your AppMeasurement.js
or s_code.js
file:
s.visitor = Visitor.getInstance("INSERT-MARKETING-CLOUD-ORGANIZATION ID-HERE");
Place the code in the same section that contains configurations such as linkInternalFilters
, charSet
, trackDownloads
, etc.
(Optional but recommended) Create a Custom Prop
Set a custom prop in AppMeasurement.js
or s_code.js
to measure coverage. Add this custom prop to the doPlugins
function of your AppMeasurement.js
or s_code.js
files:
// prop1 is used as an example only. Choose any available prop.
s.prop1 = (typeof(Visitor) != "undefined" ? "VisitorAPI Present" : "VisitorAPI Missing");
Place the VisitorAPI.js
file within the <head>
tags on each page. When you the VisitorAPI.js
file to your page:
<head>
section to it appears before other solution tags.Move this code into production after testing and verification.
If any of these use cases apply to your situation, ask Customer Care to set up a temporary grace period. Grace periods can run for up to 180-days. You can renew a grace period if required.
Partial Implementation
You need a grace period if you have some pages that use the ID service and some pages that do not, and they all report into the same Analytics report suite. This is common if you have a global report suite that reports across domains.
Discontinue the grace period after the ID service is deployed on all your web pages that report into the same report suite.
s_vi Cookie Requirements
You need a grace period if you require new visitors to have an s_vi cookie after migrating to the ID service. This is common if your implementation reads the s_vi cookie and stores it in a variable.
Discontinue the grace period after your implementation can capture the MID instead of reading the s_vi cookie.
See, Cookies and the Experience Cloud Identity Service.
You need a grace period if you send data to an internal system from a Clickstream data feed and that processes uses the visid_high
and visid_low
columns.
Discontinue the grace period after your data ingestion process can use the post_visid_high
and post_visid_low
columns.
See, Clickstream Data Column Reference.
Clickstream Data Ingestion
You can test and deploy as follows.
Test and verify
To test your ID service implementation, check for the:
See, Test and Verify the Experience Cloud Identity Service.
Deploy code
Deploy your code after it passes testing.
If you enabled a grace period in Step 7: