In many situations, there can be a disconnect between your company's web analytics, such as Adobe Analytics, and digital platform engagement strategies. By integrating Adobe Analytics with Exchange, you can bridge the disconnect by sharing the data collected via Adobe with Acoustic and Acoustic Business Partner solutions.
Before you begin
Exchange
- You must have an Exchange account.
- You must be a licensed user of an Exchange or an Exchange Business Partner solution.
- Ensure that Adobe Analytics is registered as an endpoint.
- You must have an Adobe Analytics event-level authentication key.
- Generate the Exchange Capture JavaScript snippet.
If you do not have an Exchange account and are a licensed user of an Exchange solution or an Exchange Business Partner solution, you can request an account.
You can generate the Acoustic Exchange Capture JavaScript snippet but navigating to Acoustic Exchange Capture from the Exchange user interface.
Adobe Analytics prerequisites
- Ensure that you have an Adobe Analytics account.
- Configure your site according to Adobe Analytics' requirements.
For more information about Adobe Analytics requirements, see the Adobe Analytics Implementation user help.
Register Adobe Analytics as an endpoint
By registering Adobe Analytics as an endpoint in Exchange, you can leverage the data that is collected by Adobe Analytics with marketing ecosystems like Acoustic Campaign to re-target customers with timely and relevant offers.
- Log in to Exchange.
- On the Endpoints tab, click Register new endpoint to display the endpoint registration wizard.
- Select Adobe Analytics and click Next, and follow the onscreen instructions to complete the registration.
Where can I find my Adobe Analytics event-level authentication key?
When you register an endpoint in Exchange, an event-level authentication key is generated for the endpoint.
Ensure that Adobe Analytics is registered as an endpoint.
In the Exchange and Adobe Analytics integration, the event-level authentication key is used to provide a secure means of communication between the two platforms. Additionally, the authentication key is required to enable the Exchange Capture JavaScript snippet.
- On the Endpoints tab and select Endpoint details.
- Copy and save the key.
- Paste the event-level authentication key in its assigned field in the Exchange Capture user interface.
Copy the integration JavaScript embed code
To integrate Exchange and Adobe Analytics, you need to use the JavaScript snippet.
- Navigate to Exchange user interface > Tools menu > Acoustic Exchange Capture.
- Copy the Embed code from Exchange Capture. If the Copy embed code screen does not display when you visit Capture, select the copy embed code icon.
- Paste the code into the header of every web page that also contains Adobe Analytics code.
The Adobe-exchange mapper and Capture script is deployed when you deploy the Acoustic Exchange Adobe connector tag.
Enable your platform in Exchange Capture
To activate the Exchange Capture JavaScript snippet that you embedded in you web page, you need enable your application in the Exchange Capture UI.
- Log in to Exchange and navigate to the Tools menu.
- Select Acoustic Exchange Capture.
- In Exchange Capture, find and select your application.
- Follow the instructions on screen to completion.
After a 2-hour activation period, Acoustic Exchange Capture activates the code on your web site and data begins to flow from publisher to subscriber endpoints.
How it works
For a successful integration, you must embed the Acoustic Exchange Capture JavaScript snippet and your own custom mappers in a web page that is configured with Adobe Analytics JavaScript. The JavaScript snippet pulls the Acoustic Exchange UBX.js, AAtoUBXEventMapper.js files into your web page for you.
- An event is registered on a web page.
- The Adobe tracking function sends the event data to Adobe Analytics servers.
- The event data is mapped to the Capture identifier and attribute naming convention, associated with an Acoustic Exchange event, and sent to AAtoUBXEventMapper.js.
- AAtoUBXEventMapper.js passes the event to UBX.js.
- UBX.js pushes the event to Acoustic Exchange.
Common Adobe identifiers and attributes
By implementing v2.0 or later of the Acoustic Exchange-Adobe Analytics integration JavaScript, some of the more common Adobe Analytics identifiers and attributes are already mapped for you. However, if you prefer to map identifiers and attributes on your own, you are free to do so. The Acoustic Exchange-Adobe Analytics integration JavaScript detects your mappings, and reacts accordingly.
The following table shows the identifiers that are supported out of the box.
Acoustic Exchange identifier |
Mapped value |
Description |
adobecookie |
s_fid |
The value for the s_fid Adobe Analytics cookie is mapped to the adobecookie Exchange identifier. |
adobecookie |
s_vi |
The value for the s_vi Adobe Analytics cookie is mapped to the adobecookie identifier. |
googleanalyticscookie |
_ga |
The value for the _ga Google Analytics cookie is mapped to the googleanalyticscookie identifier. |
googleadscookie |
_gads |
The value for the _gads Google Ads cookie is mapped to the googleadscookie identifier. |
ECID |
spUserID |
The Acoustic Campaign URL query parameter spUserID is mapped to the ECID Exchange identifier. |
ECID |
com.silverpop.iMA.uid |
com.silverpop.iMA.uid is an Acoustic Campaign tracking cookie that is mapped to the ECID Exchange identifier. |
ECID |
SP_IDENTITY |
The value for the SP_IDENTITY Acoustic Campaign tracking cookie is mapped to the ECID Exchange identifier. |
DAcookieId |
cmRetrieveUserID |
The value for the cmRetrieveUserID tracking cookie is mapped to the DAcookieId Exchange identifier. |
Some attributes mapped out of the box offer the ability to take advantage of behavioral analytics platforms like Tealeaf. For this integration, when events from the same web or mobile session are published by multiple endpoints, they must have matching interaction IDs to appear in the same customer journey in your behavioral analytics platform.
If you use Tealeaf, then the value of their interaction ID is mapped to the Acoustic Exchange attribute interactionId. If an Acoustic Exchange interactionId is already set and an CXA or Tealeaf interaction ID is detected, the interactionId is overridden by the CXA or Tealeaf interaction ID.
The following table shows the attributes that are supported out of the box.
Acoustic Exchange attribute |
Mapped value |
Description |
interactionId |
WCXSID |
The value for the WCXSID Tealeaf cookie is mapped to the interactionId Exchange attribute. |
interactionId |
TLTSID |
The value for the TLTSID Tealeaf cookie is mapped to the interactionId Exchange attribute. |
eventName |
eventCode |
If the eventName attribute is not defined for an event, then the event is automatically assigned the eventCode value for eventName attribute. |
Map Adobe Analytics attributes to Acoustic Exchange
Before you associate an Acoustic Exchange event type with Adobe Analytics events, you need to first map the identifier data to the Acoustic Exchange identifier naming convention and syntax. Create an identifier mapper object and place it on any web page embedded with Acoustic Exchange and Adobe JavaScript.
Note: Adobe Analytics does not collect any personally identifiable information, in accordance with their terms and conditions.
For example, the Adobe Analytics identifier visitorID can be mapped to the Exchange identifier UserId by creating an array:
identifiersMapper.push({"adobeName":"visitorID", "ubxName":"UserId"});
and calling the mapper object in:
adobe_ubx.sendEventFromJSONPayload
(s, identifiersMapper, "ibmproductView", attributesMapper);
In the example above, the identifiersMapper pulls data from the Adobe s function and associates it with the event ibmproductView.
Note: If identifier is not be recognized by Acoustic Exchange, contact our support to add the unrecognized identifier to the Acoustic Exchange identifier repository.
Use the following code as a template for your identifier mapper object.
var identifiersMapper = [];
identifiersMapper.push({"adobeName":"adobeidentifierField1",
"ubxName":"ubxidentifierField1"});
identifiersMapper.push({"adobeName":"adobeidentifierField2",
"ubxName":"ubxidentifierField2"});
identifiersMapper.push({"adobeName":"adobeidentifierField3",
"ubxName":"ubxidentifierField3"});
identifiersMapper.push({"adobeName":"adobeidentifierField4",
"ubxName":"ubxidentifierField4"});
- Enter the name of the mapper object in the identifiersMapper field.
- Enter the Adobe Analytics identifier names in the adobeidentifierFieldN fields.
- Enter the Acoustic Exchange identifier names in the ubxidentifierFieldN fields.
- Map the identifiers by calling adobe_ubx.sendEventFromJSONPayload(s, <identifiersMapper>, "<event name>", <attributesMapper>);.
Adobe Analytics event identifier data must first be mapped to the Acoustic Exchange identifier naming convention and syntax before it can be associated with an Acoustic Exchange event type.
In the Acoustic Exchange and Adobe Analytics integration, you must map Adobe Analytics identifiers to Acoustic Exchange identifiers so that they can be associated with an Acoustic Exchange event. To do so, you must create an identifier mapper object and place it on any web page that is embedded with Acoustic Exchange and Adobe JavaScript.
visitorID
can be mapped to the identifier UserId
by creating an array:
identifiersMapper.push({"adobeName":"visitorID", "ubxName":"UserId"});
and calling the mapper object in:
adobe_ubx.sendEventFromJSONPayload(s, identifiersMapper, "ibmproductView", attributesMapper);
In the example above, the identifiersMapper
pulls data from the Adobe s
function and associates it with the event ibmproductView
.
Use the following code as a template for your identifier mapper object.
var identifiersMapper = [];
identifiersMapper.push({"adobeName":"adobeidentifierField1",
"ubxName":"ubxidentifierField1"});
identifiersMapper.push({"adobeName":"adobeidentifierField2",
"ubxName":"ubxidentifierField2"});
identifiersMapper.push({"adobeName":"adobeidentifierField3",
"ubxName":"ubxidentifierField3"});
identifiersMapper.push({"adobeName":"adobeidentifierField4",
"ubxName":"ubxidentifierField4"});
- Enter the name of the mapper object in the
identifiersMapper
field. - Enter the Adobe Analytics identifier names in the
adobeidentifierFieldN
fields. - Enter the Acoustic Exchange identifier names in the
ubxidentifierFieldN
fields. - Map the identifiers by calling
adobe_ubx.sendEventFromJSONPayload(s, <identifiersMapper>, "<event name>", <attributesMapper>);
.
Map unrecognized Adobe Analytics identifiers
You can map identifiers that are not recognized by Adobe Analytics to Acoustic Exchange identifiers provided that they are registered in the Acoustic Exchange identifier repository.
There can be some cases where you want to map identifiers, that are unrecognized by Adobe Analytics, to Acoustic Exchange identifiers. These unrecognized Adobe Analytics identifiers usually consist of Personally Identifiable Information (PII), such as an email address.
To map unrecognized Adobe Analytics identifiers to Acoustic Exchange identifiers, you must enter the identifier name into the identifier field name and the identifier value into the identifier value field.
Additionally, unrecognized Adobe Analytics identifiers can be mapped in the same mapper object as recognized Adobe Analytics identifiers by combining the two types of mapper arrays in the same mapper object. See the example for details.
Use the following mapper array as a template for your identifier mapper object.
var identifiersMapper = [];
identifiersMapper.push({"name":"<identifierName1>","value":"<value1>"});
identifiersMapper.push({"name":"<identifierName2>","value":"<value2>"});
identifiersMapper.push({"name":"<identifierName3>","value":"<value3>"});
identifiersMapper.push({"name":"<identifierName4>","value":"<value4>"});
- Enter the name of the mapper object in the identifiersMapper field.
- Enter the identifier name in the identifierNameN field.
- Enter the identifier value in the valueN field.
var identifiersMapper = [];
identifiersMapper.push({"adobeName":"visitorID","ubxName":"aaUserId"});
identifiersMapper.push({"name":"email","value":"CityCool@email.com"});
Map unrecognized Adobe Analytics attributes to Acoustic Exchange
Before Adobe Analytics event attribute data can be associated with an Acoustic Exchange event type, it must first be mapped to the Acoustic Exchange attribute naming convention and syntax.
In the Acoustic Exchange and Adobe Analytics integration, you must map Adobe Analytics attributes to Acoustic Exchange attributes so that they can be associated with an Acoustic Exchange event. To do so, you must create an attribute mapper object and place it on any web page that is embedded with Acoustic Exchange and Adobe JavaScript.
For example, the Adobe Analytics attribute eVar1 can be mapped to the Capture attribute productID by creating an array like attributesMapper.push({"adobeName":"eVar1", "ubxName":"productID"}); and calling the mapper object in adobe_ubx.sendEventFromJSONPayload(s, identifiersMapper, "ibmproductView", attributesMapper);.
In the example above, the attributesMapper pulls data from the Adobe s function and associates it with the event ibmproductView.
Use the following code as a template for your attribute mapper object.
var attributesMapper = [];
attributesMapper.push({"adobeName":"adobeAttributeField1",
"ubxName":"ubxAttributeField1", "type":"string"});
attributesMapper.push({"adobeName":"adobeAttributeField2",
"ubxName":"ubxAttributeField2", "type":"string"});
attributesMapper.push({"adobeName":"adobeAttributeField3",
"ubxName":"ubxAttributeField3", "type":"string"});
attributesMapper.push({"adobeName":"adobeAttributeField4",
"ubxName":"ubxAttributeField4", "type":"number"});
- Enter the name of the mapper object in the attributesMapper field.
- Enter the Adobe Analytics attribute names in the adobeAttributeFieldN fields.
- Enter the Exchange Attribute names in the ubxAttributeFieldN fields.
- Map the attributes by calling adobe_ubx.sendEventFromJSONPayload(s, <identifiersMapper>, "<event name>", <attributesMapper>);.
Map unrecognized Adobe Analytics attributes
You can map attributes that are not recognized by Adobe Analytics to Acoustic Exchange attributes provided that they are registered in the Acoustic Exchange attributes repository.
Acoustic Exchange gives you the flexibility to map attributes that are unrecognized by Adobe Analytics to Acoustic Exchange attributes.
To map unrecognized Adobe Analytics attributes to Acoustic Exchange attributes, you must enter the attribute name, value, data type in their respective fields.
Additionally, unrecognized Adobe Analytics attributes can be mapped in the same mapper object as recognized Adobe Analytics attributes by combining the two types of mapper arrays in the same mapper object. See the example for details.
Use the following mapper array as a template for your attribute mapper object.
var attributesMapper = [];
attributesMapper.push({"name":"<attributeName1>",
"value":"<attributeValue1>", "type":"<attributeType1>"});
attributesMapper.push({"name":"<attributeName2>",
"value":"<attributeValue2>", "type":"<attributeType2>"});
attributesMapper.push({"name":"<attributeName3>",
"value":"<attributeValue3>", "type":"<attributeType3>"});
Procedure
- Enter the name of the mapper object in the attributesMapper field.
- Enter the attribute name in the attributeNameN field.
- Enter the attribute value in the attributeValueN field.
- Enter the attribute data type in the attributeTypeN field.
var attributesMapper = [];
attributesMapper.push({"name":"gender",
"ubxName":"productID", "type":"string"});
attributesMapper.push({"name":"id",
"ubxName":"category", "type":"string"});
attributesMapper.push({"name":"pageURL",
"ubxName":"productURL", "type":"string"});
attributesMapper.push({"name":"productName",
"value":"SleekFit", "type":"string"});
Map Acoustic Exchange events in Adobe Analytics
For Acoustic Exchange to receive event data from Adobe Analytics, Adobe Analytics identifiers and attributes must be mapped to a Acoustic Exchange event.
By mapping Adobe Analytics identifiers and attributes to an Acoustic Exchange event, you can send event data to Exchange.
- Configure an identifier mapper object.
- Configure an attribute mapper object.
- Call the event name in:
adobe_ubx.sendEventFromJSONPayload(s, identifiersMapper,
"<event name>", attributesMapper);
var identifiersMapper = [];
identifiersMapper.push({"adobeName":"visitorID",
"ubxName":"aaUserId"});
identifiersMapper.push({"name":"email",
"value":"CityCool@email.com"});
var attributesMapper = [];
attributesMapper.push({"adobeName":"prop10",
"ubxName":"productID", "type":"string"});
attributesMapper.push({"adobeName":"prop63",
"ubxName":"category", "type":"string"});
attributesMapper.push({"adobeName":"pageURL",
"ubxName":"productURL", "type":"string"});
attributesMapper.push({"adobeName":"prop3",
"ubxName":"productName", "type":"string"});
adobe_ubx.sendEventFromJSONPayload
(s, identifiersMapper, "ibmproductView", attributesMapper);