- TLC Home Home
- Discussions & Ideas Discussions & Ideas
- Product Guides Product Guides
- Knowledge Base Knowledge Base
- Developer Docs Developer Docs
- Education Education
- Blog TLC Blog
- Support Desk Support Desk
This article describes how to set up the Adobe Analytics (Legacy) tag in your iQ Tag Management account.
This is the legacy Adobe tag for the newer (recommended) version, the Adobe AppMeasurement for JavaScript tag, available from the tag marketplace.
In this article:
Adobe Analytics (SiteCatalyst) is Adobe’s Software as a Service (SaaS) application offering Web Analytics.
Consider the following items before you begin:
s_account
to set the report suite based on a variable value. This overrides the default setting and the dynamic account list setting.s_account
, change the Use Dynamic Account configuration setting to Yes.122.2o7.net
).
112.2o7.net
data collection servers, set Server and Server Secure directly.mysite.112.2o7.net
s_code.js
JavaScript file generated from your Adobe account.The name of your JavaScript library file may be different.
First, go to Tealium's tag marketplace and add the Adobe Analytics (Legacy) tag (Learn more about how to add a tag).
After adding the tag, configure the following settings:
s_code.js
library.s_code.js
: s.account
s_code.js
: s.trackingServer
s_code.js
: s.trackingServerSecure
2o7.net
.s_code.js
: s.namespace
s_code.js
: s.linkDownloadFileTypes
s_code.js:
s.linkInternalFilters
s_code.js
: s.currencyCode
s
.s_code.js:
DIL.create()
Load Rules determine when and where to load an instance of this tag on your site.
Recommended load rule for Adobe Analytics: All Pages
Mapping is the process of sending data from a data layer variable to the corresponding destination variable of the vendor tag. For instructions on how to map a variable to a tag destination, see Data Mappings.
Data layer variables (eVars, props, etc) can be mapped using the mapping toolbox.
Multiple props and eVars for the same variable should be separated by a comma (,). Ensure that you use a capital “V” in the eVar to match the expected Adobe syntax.
Variable | Description |
---|---|
pageName | Page name |
channel | Channel |
server | Server |
hier1 through hier3 | heirs |
visitorID | Visitor ID |
s_account | Report Suite Override |
Variable | Description |
---|---|
prodView | prodView |
scOpen | scOpen |
scAdd | scAdd |
scRemove | scRemove |
scView | scView |
scCheckout | scCheckout |
purchase | purchase |
event1 through event1000 | events |
Variable | Description |
---|---|
PRODUCTS_event1 through PRODUCTS_event100 | Products Events |
prop1 through prop75
Variable | Description |
---|---|
campaign | (eVar 0) |
eVar1 through eVar 75 | evars |
contextData.myvar | Context data |
Variable | Description |
---|---|
PRODUCTS_eVar1 through eVar75 | Products eVars |
Variable | Description |
---|---|
purchaseID |
|
transactionID |
|
state |
|
zip |
|
PRODUCTS_id |
|
PRODUCTS_category |
|
PRODUCTS_quantity |
|
PRODUCTS_price |
|
Variable | Description |
---|---|
Link Tracking - doneAction param | (H25 only) |
List 1 through List 3 | Lists |
In order to properly format the Adobe products string and send revenue data to your report suite, you must add and configure the E-Commerce Extension. The variables set in the extension are formatted to the expected syntax by the tag integration automatically.
For example, the variables for product category, product ID, product quantity, and product price are converted into the product string as shown in the following example where multiple products are handled:
s.products= product_category;product_id;product_quantity;product_price;;
Use the Events section of in the mapping toolbox to define when an event should be triggered depending on the value of a certain variable.
When a variable is selected and you click Events in the left sidebar, two fields display, Value and Trigger.
In this example. we configure the Adobe events prodView
and scView
to trigger when the variable page_type
equals product
and cart
, respectively:
In Adobe implementations, attaching an eVar value to the s.products
string allows you to associate an eVar with the products. For example, if you have an array variable named product_discount
that you want associated with each product in the product string, a merchandising eVar mapping will create the s.products
string accordingly.
utag_data.product_id = ["prodA", "prodB"]; utag_data.product_price = ["25.12", "10.99"]; utag_data.product_discount = ["12.34", "1.23"];
Next, if you map product_discount
to merchandising eVar4
, the result is the following s.products
string:
s.products=";prodA;1;25.12;;evar4=12.34,;prodB;1;10.99;;evar4=1.23"
If you map a non-array variable (single value) to a merchandising eVar, that single value is applied to each product.
utag_data.product_id = ["prodA", "prodB"]; utag_data.product_price = ["25.12", "10.99"]; utag_data.product_discount = "1.99";
With the same mapping as above, the resulting s.products
string is:
s.products=";prodA;1;25.12;;evar4=1.99,;prodB;1;10.99;;evar4=1.99"
Product-level events work similarly to merchandising eVars. You can use either a single value to apply the same variable to all products in the product string, or an array of values to apply a different value to each product in the product string.
utag_data.product_id = ["prodA", "prodB"]; utag_data.product_price = ["25.12", "10.99"]; utag_data.order_discount = "12.00";
Next, if you map order_discount
to product event15
, the following s.products
string:
s.products=";prodA;1;25.12;event15=12.00;,;prodB;1;10.99;event15=12.00;"
Notice that both products have the same order discount applied to them.
Mapping arrays for merchandising eVars and product-level events is available in version H.26 and newer.
The following two sections of code in the s_code.js
file need to be copied into extension in your TiQ configuration:
The "Do Plugins" section is always above the "Plugins and Modules" section in the s_code.js
. This section usually starts with the following lines:
/* Plugin Config */ s.usePlugins=true;
Copy everything from these lines down to the line with:
s.doPlugins=s_doPlugins;
Paste this code block into a JavaScript Code extension scoped to the Adobe Analytics tag and name the extension “Do Plugins Section”:
The Plugins and Modules section of the s_code
begins with:
/***********************PLUGINS SECTION ********************/
and ends just before this line:
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
Copy this entire code section and paste it into a second JavaScript Code extension scoped to the Adobe Analytics tag. Name this extension “Plugins and Modules”:
Next, drag the Plugins and Modules JavaScript extension just above the Do Plugins section JavaScript extension so that is displays as shown in the following example:
The section of code beginning with
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
is the core Adobe s_code
library and is loaded through the tag template within TiQ.
Use the followings steps to upgrade to a newer base code for the Adobe tag:
Within the Adobe tag template, Tealium offers a function called u.addEvent()
to assist in setting the s.event
string. This method appends new values to the end of s.events
, which allows you keep all previously set events and simply add another event when needed. To use this method, you need a variable called sc_events
in your configuration.
Use the following steps to customize s.events
using u.addEvent
:
u.addEvent("CUSTOM_EVENT")
CUSTOM_EVENT
is the event you want to append to the s.events
string, such as event10.u.addEvent
, as follows:u.addEvent(["event1","event2","scView"]);
Adobe supports a notation called dynamic variables that reuses values that appear in more than one property to help minimize the size of tracking pixels.
The Adobe tag in TiQ applies this notation automatically when sending the pixel request to Adobe. This means is you might see a value such as v3:D=c2 in one of your variables. In this case, v3 is eVar3 and D=c2 is the value from s.prop2
. Instead of repeating the value of s.prop2, this shortened notation is used as a reference to prop2, which Adobe interprets properly on their servers. The resulting tracking pixels are smaller and faster, which allows for packing the maximum amount of data into one pixel request.
Learn more about SiteCatalyst Dynamic Variables.
Copyright All Rights Reserved © 2008-2021