Extensions provide a variety of ways to customize your implementation by offering a simple configuration interface to add complex logic without the need for coding.

In this article:

Table of Contents Placeholder


Extensions have many purposes, from setting and updating data layer variables, to adding advanced event tracking to your site. The available extensions are presented in the Extensions Marketplace where they are grouped by category with brief descriptions of their functionality.

The extensions categories are:

  • Standard Data
    Set and modify data layer variables and cookies in a variety of ways.
  • Advanced
    Extensions that require some knowledge of JavaScript and/or advanced marketing strategies.
  • Events
    Extensions related to event tracking, either using jQuery, built-in tracking, or mapping the standard Tealium events.
  • Tag Specific
    Extended functionality for use with certain tags, such as Adobe Test & Target, or tags that require currency conversion.
  • Privacy
    Extensions to offer opt-in/opt-out, Do Not Track, or tracking preferences for your users.

Use the search box to find an extension across any tab.


The extension marketplace is like a toolbox filled with a variety of different tools to help you with tag management. We encourage you to familiarize yourself with all of the available extensions so that you'll know exactly how to solve your next tag management challenge.

Check out the master list of extensions.

How It Works

When an extension is added to your configuration, then saved and published, the logic in the extension is converted to JavaScript code that then runs in the utag files that load on your website.  The timing of the extension depends on several factors, including: the scope setting, the execution order setting, and the position of the extension in the list.

Understanding Scope

When adding an extension it is important to understand the scope setting. The scope determines which utag file the extension is published in and when the extension runs. Extensions within the same scope will run in the order that they appear in the user interface. The following scope options are available:

  • Pre Loader – runs before the data layer is processed and changes are applied globally (code appears in utag.js).
  • All Tags – runs after the data layer is processed and changes are applied globally (code appears in utag.js). See Execution Order for more information about exact timing.
  • Tag Scope – runs only when the specified tag(s) run and changes are only applied for that tag (code appears in tag-specific utag.#.js). Any data layer values modified in this scope will not affect other tags.
  • DOM Ready – runs once, at the DOMContentLoaded browser event (code appears in utag.js).

The scopes Pre Loader, All Tags (except for After Tags execution order), and Tag Scope are guaranteed to run in that order, but DOM Ready extensions will execute independently from the other three. In most standard implementations the DOM Ready scope likely occurs sequentially after the other three, but this timing should not be assumed.

Some extensions (like E-Commerce, Pathname Tokenizer, jQuery onHandler 1.7, etc.) have a pre-set scope that cannot be changed.

Understanding Execution Order

The execution setting offers more granular control of the timing of an All Tags extension.

The following options are available:

  • Before Load Rules  runs after the data layer is processed, for example after Pre Loader but prior to evaluating load rules.
  • After Load Rules (default) – runs after load rules are evaluated.
  • After Tags – runs after tags have been triggered.

Get a detailed overview of the overall order of operations.


Some extensions support conditions. Conditions are like load rules, but only applied to extensions. A condition applied to an extension will determine if the extension should run within the given scope and execution order.

Managing Extensions

Adding an Extension

Use the following steps to add an extension:

  1. In the sidebar, click iQ Tag Management >  Extensions.
  2. Click + Add Extension.
  3. Browse the extension categories using the multi-tab menu and click + Add next to the extension you want to use. 
  4. Enter a Title to identify the extension.
  5. (Optional) Click Apply Labels on the left to add a label to categorize the extension.
  6. Under Scope, click Edit.
    The Load Order dialog displays.
  7. Click the vertical ellipsis () and select one of the following from the drop-down list to set the execution order:
    • Move to Section Top
    • Move to Section Bottom
    • Before Load Rules
    • After Tags Extension
    • Specific Tag Scope
  8. Click Apply.
  9. Configure additional settings pertinent to the extension.

Editing an Extension

Extensions are editable directly from the extensions view. Expand an extension and adjust the configuration. As changes are detected the Save/Publish button will turn orange to indicate unsaved changes exist.

Reordering Extensions

There are two ways to change the order in which your extensions execute: by scope (and execution) and by position. 

  • By Scope (and execution)
    Changing the scope or execution of an extension will affect the order of its execution. For example, an extension can be made to execute sooner by changing the scope from All Tags to the Pre Loader or by changing the execution from After Load Rules to Before Load Rules.
  • By Position
    Click and drag an extension up or down to the desired location. This method only affects extensions within the same scope. In other words, changing the position of an extension scoped to Pre Loader only has effects if it also changes the position of other Pre Loader extensions.

Learn more about order of operations.

Duplicating an Extension

An easy way create an extension is by copying an existing one that has similar functionality.

Use the following steps to copy an extension:

  1. Expand an extension.
  2. In the left side panel, click Duplicate.
    A copy of the original extension is added to the bottom of the extension list.
  3. Adjust the configuration of the new extension as needed.

Deactivating an Extension

To turn off an extension and still keep it in your account for later use, use the on/off switch. This is usually a better option than permanently deleting the extension because you will not lose the effort of the initial configuration.

Use the following steps to deactivate an extension:

  1. Click the On/Off toggle next to the extension to deactivate.
    A confirmation dialog displays.
  2. Click Deactivate to confirm your action.

Deleting an Extension

If an extension is no longer needed, it can be deleted permanently from the configuration.

Use the following steps to delete an extension:

  1. Expand an extension.
  2. In the left side panel click Delete.
    A confirmation dialog displays.
  3. Click Drop Extension to confirm the action.

If you accidentally delete an extension and have not saved the profile, you can reload the browser to return to the original state of your extensions.

View Filters

WhiteUI_TiQ_Extensions_FilterView.pngThe list of extensions can quickly grow to a large number, making viewing them all at once difficult to find what you need. You can use the Filter drop-down list to filter your view.

The following filters are available:

  • Display Inactive Items
    Uncheck this box to hide extensions that have been turned off (default is checked).
  • Scope
    Filter extensions by scope, including those scoped to a specific tag.
  • Label
    Filter extensions by label.

Publish Locations

WhiteUI_TiQ_Extensions_PublishLocations.pngThe publish location settings control which environments the extension will be published to. If you uncheck a publish location, the extension will not be published to that location. For example, if you uncheck Prod for an extension, and then publish to Prod, that extension will be omitted from the files in the Prod environment.

The following publish locations options are available:

  • Dev
    The development (Dev) environment is a non-production environment intended for sandbox configuration.
  • QA
    The Quality Assurance (QA) environment is a non-production environment intended for testing prior to releasing to production.
  • Prod
    The Production (Prod) environment is the environment you intend to load on your live website.  
  • Custom
    Optional. The Custom Environments selection only displays if previously configured using Custom Environments.

Publish locations can be used to prevent extensions that are in development from accidentally being published to Prod.  For example, you may be working on a new extension and need it active for your QA environment, but do not want it to be included in any publishes to Prod. In this case, you simply uncheck the Prod publish location and the extension can remain active and not affect your Prod environment.