This article describes how to set up the Adobe Analytics (SiteCatalyst) tag within iQ Tag Management.

In this article:

Table of Contents Placeholder


  • Local Copy of s_code.js
    To set up this tag you will need the s_code.js JavaScript file generated from your Adobe account. Sections of that code will be copied into your iQ configuration. Note, the name of your JavaScript library file might be different.
    Learn more about s_code.js.
  • Solution Design Reference (optional)
    This document defines all of the props, eVars, and events that are tracked in your Adobe Analytics solution. This information will be needed to accurately configure the Adobe tag in iQ. 

Supported Versions

  • Versions H.20 - H.27 (H.25 - H.27 with Adobe Audience Manager) 

Tag Configuration

Go to the Tag Marketplace and add the Adobe Analytics tag (learn more about how to add a tag).

After adding the tag, configure the following settings:

  • S-Code Version
    The version of the s_code.js library. Versions 25-27 also have support for Adobe Audience Manager.
  • Report Suite
    The default report suite to use (may change based on value set in Dynamic Acct List)
    Reference s_code.js:  s.account
  • Server
    Data collection server.
    Reference s_code.js: s.trackingServer
  • Server Secure
    The "https" data collection server.
    Reference s_code.js:  s.trackingServerSecure
  • Namespace
    Only applies to 3rd party cookies (when Server and Server Secure end in
    Reference s_code.js:  s.namespace
  • Enterprise Cloud ID
    If using the Visitor API in version H.27 and higher, enter your Enterprise Cloud ID here.
    Learn more about the Adobe Enterprise Cloud ID Service.
  • Auto Link Tracking
    The default selection is "Yes" and is the recommended selection. If you set this to "No", you will have to duplicate all the automatic link tracking via other methods, such as the Link Tracking Extension.
  • Download Types
    List the types of file extensions whose downloads you want to track as download links.
    Reference s_code.js: s.linkDownloadFileTypes 
  • Internal Link Filters
    Used to ensure that link clicks are not reported as exit clicks to Adobe report.
    Reference s_code.js: s.linkInternalFilters
  • Currency Code 
    The three-letter currency code eg. USD
    Reference s_code.js: s.currencyCode
  • Use Dynamic Acct
    Set to "Yes" to be able to send data to different report suites based on the domain or other dynamic value.
  • Dynamic Acct List
    For dynamically setting report suite based on domain or other dynamic value (example:,;
    Learn more about using a dynamic account list in SiteCatalyst
  • S-Object Name
    Default name is s. Set a different name if running multiple instances of Adobe Analytics or AppMeasurement on the page.
  • Clear Vars
    Clears the props, eVars, and events after each tracking call. Default: "No"
  • Partner
    Enter your partner ID for use with Adobe Audience Manager, otherwise leave it blank.
    Reference s_code.js: DIL.create() 

Load Rules

Load Rules determine when and where to load an instance of this tag on your site.

Recommended load rule for Adobe Analytics: All Pages 

Data Mappings

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. Select a variable you want to map and click “Select Variable”. A mapping toolbox will appear like so:

mapping toolbox.png 

You can add additional mappings quickly by clicking in the text box and typing another prop or eVar. Multiple props and eVars for the same variable should be separated by a comma (,). Make sure to use a capital “V” in eVar to match the expected Adobe syntax.

IMPORTANT: eVars and props above 75 have to be mapped as custom destinations because they are not built into the mapping toolbox. To do map a variable higher than 75: 

  1. Map your variable to any eVar or prop destination as usual.
  2. In the text box, type in your custom destination to replace the built-in destination you selected.
  3. Continue mapping other variables or proceed to finish.

    Custom mapping is typically not recommended unless the vendor supports user-defined variables as mapping destinations.

E-Commerce Mapping

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 will be formatted to the expected syntax automatically by the tag integration.

For example, the variables for product category, product ID, product quantity, and product price will be converted into the product string like this (multiple products are handled):

 s.products= product_category;product_id;product_quantity;product_price;; 

Mapping Events

The events tab in the mapping toolbox is where you define when an event should be triggered depending on the value of a certain variable.

When a variable has been selected and you click on the events tab you will see two boxes: Value and Trigger. The Value box is where you define the value of the variable, and the Trigger box is where you select the Adobe event to track. 

In this example we configure the Adobe events prodView and scView to trigger when the variable page_type equals "product" and "cart" respectively:


Merchandising eVars

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"];

Then if you were to map product_discount to merchandising eVar4, you will get the following s.products string:



If you map a non-array variable (single value) to a merchandising eVar, that single value will be 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 would be:


Product Level Events

Product level events work similarly to merchandising eVars. You can use either a single value which will 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";

 Then if you were to map order_discount to product event15, you will get the following s.products string:



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.

Required Extensions for doPlugins

Within the s_code.js file there are two sections of code that will need to be copied into extension in your iQ configuration: "Do Plugins Section" and "Plugins and Modules".

Do Plugins

The "Do Plugins" section is always above the "Plugins and Modules" section in the s_code.js. This section usually starts with the lines:

/* Plugin Config */

You will copy everything from these lines down to the line with:


Paste this code block into a JavaScript Code extension scoped to the Adobe Analytics tag. Name the extension “Do Plugins Section”:


Plugins and Modules

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 ! **************/

You will copy this entire code section and paste into a second JavaScript Code extension scoped to the Adobe Analytics tag. Name this extension “Plugins and Modules”:


Then drag the Plugins and Modules JavaScript Extension just above the Do Plugins Section JavaScript Extension so it appears in the extensions list like so:


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 iQ Tag Management. 

Upgrading to a Newer Version

Use the followings steps to upgrade to a newer base code for the Adobe tag:

  1. Open the tag and click Edit.
  2. In the S-Code Version field select the desired version eg. "H.27"
    A warning modal will appear indicating that the tag template needs to be updated.
  3. Click OK.
  4. Under the Advanced Settings click Edit Templates.
  5. Copy and paste the entire template to a text file as a backup.
  6. Remove the current template by clicking the Trash icon.
  7. Perform a Save.
    The latest tag version is now loaded.

Advanced Configuration


Tealium offers a function named u.addEvent() within the Adobe tag template to assist in setting the s.event string. This method will append new values to the end of This 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 using u.addEvent:

  1. Add a Set Data Values extension.
  2. Set the Scope to the Adobe Analytics tag.
  3. From the Set menu select "sc_events".
  4. From the To menu select "JS Code".
  5. In the text field type : u.addEvent("CUSTOM_EVENT")
    where CUSTOM_EVENT is the event you want to append to the string eg. "event10"
    To add multiple events in one step pass an array to u.addEvent like this:

SiteCatalyst Dynamic Variables

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 within iQ Tag Management will apply 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. This allows for packing the maximum amount of data into one pixel request.

Learn more about SiteCatalyst Dynamic Variables.