CDN Files

All tag configuration and business logic saved in your iQ account/profile is converted to JavaScript code and published to a utag.js JavaScript library specific to your account/profile and hosted on our multi-CDN infrastructure. The CDN is designed to deliver these files to your website as quickly as possible. When the Universal Tag code snippet is executed by your webpage a request is made to the CDN, the file is downloaded into the page and the code is run. As soon as utag.js is loaded on your page it begins executing code to prepare to fire your tags.

Page Data

In addition to the dynamic data that your site will populate into utag_data, the utag.js library will automatically gather other various data values from the page and combine them into one central data object to be made available to your tags and load rules. The following page elements will be captured:

Query String Parameters

First-Party Cookies

JavaScript Variables

Meta Data Elements

The final data object will then be used to power your load rules and tags.

Load Rules

Load Rules are precise conditions that determine when to load a tag. Generally made up of one or more conditions, a load rule has to be satisfied in order to load the tag to which it is applied. The full list of variables from the data object will be used to evaluate the load rules and determine which tags will load on the page.

Load Rules are JavaScript code evaluated client-side, in the browser.

Load Tags

The code needed to load and run a vendor tag is also published to the CDN and stored in a _tag configuration file_ numbered according to the UID of the tag, such as utag.1.js. An HTTP request is made to the CDN from your webpage to retrieve each tag configuration file. While this file contains the settings and configuration for the vendor, it might not contain the vendor’s JavaScript file. If so, an additional HTTP request will be made to fetch the vendor’s code. These requests are made asynchronously to minimize the impact on the time to render the page.

Here is a simple example showing how one tag, Google Analytics, would be loaded into the page:

You can improve page performance by bundling tags into utag.js to reduce the number of HTTP requests coming from your page.

Run Tags

Once all tag files are loaded and the DOM Ready event is reached, the tracking beacons will be triggered. The vendor code runs just as it would outside of Tealium, so the resulting HTTP requests will be easy to identify.

For example, Google Analytics is identified in the network requests by two items: the analytics.js script and the collect image pixel. These same network requests will occur even when Google Analytics is loaded via iQ Tag Management, as seen here: