Tealium iQ

Overview

The CHEQ tag has two components:

  1. The JavaScript invocation tag: the detection engine. This is what you deploy in Tealium iQ.
  2. The noscript fallback: a pixel that captures visitors with JavaScript disabled.

This guide covers deploying the invocation tag through Tealium iQ, plus the validation and consent configuration that determine your coverage.

Read Step 5 before you finish. The noscript fallback cannot be deployed through Tealium and requires a separate step in your page template.

Before you start

Collect three values from your CHEQ account under Account Settings → Tags:

What you needWhere it appears in the tagExample
Tag domainThe host in the src attributepo.example-domain.com
Tag IDThe numeric suffix in the class attribute52475
Noscript URLThe src of the iframe in the noscript blockhttps://its.example-domain.com/ns/XXXX.html?ch=cheq

Your invocation tag looks like this:

<script
  async
  src="https://<YOUR_TAG_DOMAIN>/i/<YOUR_TAG_HASH>.js"
  data-ch="cheq"
  class="ct_clicktrue_<YOUR_TAG_ID>">
</script>

Pull these values from your own account. Values copied from documentation, a demo environment, or another property will not report into your workspace.

A note on placement

CHEQ is a security tag, and security tags work best when nothing can get in front of them.

Hardcoding the tag in the <head> of your page template is the strongest deployment. It guarantees CHEQ initializes before any other script on the page, and it removes the tag manager as a dependency - which matters, because traffic sophisticated enough to block your tag manager would otherwise slip past detection entirely.

Deploying through Tealium iQ is the practical choice for most teams, and it works well when you configure the timing correctly. The steps below do that. If you have the option to hardcode, take it. If you don’t, follow this guide as written.

Step 1: Create the CHEQ Initiator Tag

  1. Go to Tags and click + Add Tag.
  2. Search the Tag Marketplace for Script and select it.
  3. Configure the tag:
FieldValue
TitleCHEQ Initiator Tag
Base URLhttps://<YOUR_TAG_DOMAIN>/i/<YOUR_TAG_HASH>.js

Use the full src value from your invocation tag, including the path. The domain alone returns a 404.

Step 2: Set the vendor configuration

Open the tag’s Vendor Configuration section:

SettingValueWhy
Query String Delimiter?Standard
Parameter Delimiter&Standard
Key/Value Delimiter=Standard
Auto Cache BustDisabledCache busting breaks the tag URL
Request Script OnceEnabledPrevents duplicate loads on single-page apps

Request Script Once is not optional. On a single-page application, every utag.view() call re-fires the tag. Without this setting, you inject the CHEQ script repeatedly into a single page session, which inflates event volume and degrades page performance.

Step 3: Set the load timing

Open Advanced Settings under Publish Settings:

SettingValue
Tag TimingPrioritized
Send FlagOn
Synchronous Load TypeOff
Custom Script Sourcehttps://<YOUR_TAG_DOMAIN>

Then set the Load Rule to Global - All Pages.

Load rule and load timing are separate settings, and both matter. The load rule controls whether the tag fires. Tag Timing controls when. Tealium’s default fires tags at DOM Ready, which can place CHEQ after your ad pixels, chat widget, and form scripts have already run, leaving detection gaps in exactly the sessions you most want visibility into. Prioritized fires CHEQ immediately after load rule evaluation, ahead of your other tags.

Optional: earlier initialization

For the earliest execution Tealium allows, deploy the invocation script through a JavaScript Code extension scoped to Pre Loader instead of as a tag. Pre Loader runs before Tealium processes anything else, including the data layer and load rules.

Use this when you need maximum coverage on high-value conversion paths. Include the guard so the script loads only once:

if (!document.querySelector('.ct_clicktrue_<YOUR_TAG_ID>')) {
  var s = document.createElement('script');
  s.async = true;
  s.src = 'https://<YOUR_TAG_DOMAIN>/i/<YOUR_TAG_HASH>.js';
  s.setAttribute('data-ch', 'cheq');
  s.className = 'ct_clicktrue_<YOUR_TAG_ID>';
  document.head.appendChild(s);
}

Step 4: Configure consent

If you use Tealium’s Consent Manager or a third-party CMP, categorize CHEQ deliberately before you publish.

CHEQ performs fraud prevention and site security. Under GDPR, most organizations classify it as strictly necessary or process it under legitimate interest, alongside other security controls.

Categorizing CHEQ as marketing or analytics suppresses it for every visitor who declines those categories. That removes protection from a large share of European traffic and creates blind spots in your reporting.

Confirm the classification with your privacy or legal team, then document the decision. Someone will ask about it later.

Step 5: Deploy the noscript fallback

The noscript tag cannot be deployed through Tealium iQ. Tealium’s utag.js is JavaScript. When a visitor has JavaScript disabled, it never executes, so no tag it manages can fire - including a noscript pixel.

Add the noscript block directly to your page template, immediately after the opening <body> tag:

<noscript>
  <iframe
    src="https://<YOUR_NOSCRIPT_DOMAIN>/ns/XXXX.html?ch=cheq"
    width="0" height="0" style="display:none;visibility:hidden">
  </iframe>
</noscript>

Skipping this step leaves a detection gap. Some automated traffic runs without JavaScript specifically to evade client-side detection.

Step 6: Validate

Publish to a non-production environment first, then confirm all four:

  1. The script loads. Open your site, then DevTools → Network. Filter for your tag domain. You should see one request to /i/<YOUR_TAG_HASH>.js returning 200.
  2. It loads once. On a single-page app, navigate between several views and confirm the request count stays at one. More than one means Request Script Once is off.
  3. It fires early. In the Network waterfall, confirm the CHEQ request starts before your advertising and analytics tags.
  4. Events reach CHEQ. Open the CHEQ platform and confirm traffic appears for the property. Allow a few minutes for processing.

Publishing is not the finish line. Traffic appearing in the CHEQ platform is.


 

 

 

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request