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:
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:
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.
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 UI. The following scope options are available:
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.
The execution setting offers more granular control of the timing of an All Tags extension. The following options are available:
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).
Follow these steps to add an extension:
Extensions are editable directly from the extensions tab. Expand an extension and adjust the configuration. As changes are detected the Save/Publish button will turn orange to indicate unsaved changes exist.
Extension run in the order they appear in the UI (within the same scope). To change the order, click and drag an extension up or down in the order to the desired location.
An easy way create an extension is by copying an existing one that has similar functionality.
To copy an extension:
To turn off an extension, but 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.
If an extension is no longer needed, it can be deleted permanently from the configuration.
To delete an extension:
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.
The list of extensions can quickly grow to a very large number and viewing them all at once can make it difficult to find what you need. The Filter menu at the top of the extensions screen offers a few ways to filter the view of the extensions.
The following filters are available:
The publich 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:
Publish locations can be used to prevent extensions that are in development from accidentally being published to Prod. You might 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.