Highlighted

How can I abort Tealium?

Silver Contributor
Silver Contributor

We have the case that when some (friendly) robots visit our website, we do not want tracking to be executed. We can identify those robots by a URL parameter or a specific cookie value. 

 

Now I ideally would like a pre-loader tag to once check if this is a robot and then deactivate Tealium for the whole page, e.g. also deactivate Tealium for utag.link calls.

 

I know I can create a JS Extension scoped to one or more individual tags (e.g. SiteCatalyst, AdWords) to return false and then these tags are not executed. 

 

That seems to be a bit inefficient for our use case, because each tag will be loaded and started first and then interrupted. Moreover, for each new tag I add I need to make sure it is added to the Extension as well.

 

Using an Extension scoped to All Tags that returns false does not work.

 

So I simply want Tealium to stop operations entirely under some circumstances. How do I do that?

8 REPLIES 8
Highlighted

How can I abort Tealium?

Employee Emeritus

@loldenburg

There are lots of details being left out of your request and I would suggest you reach out to your Tealium Account Manager or open a support request: https://community.tealiumiq.com/t5/custom/page/page-id/support-contact-form

 

Some things to think about:

1) A solution like you suggest will still make a http request to Tealium's Content Delivery Network and count as a session from an accounting point of view.

2) Tealium has load rules which can prevent a tag from loading (which will prevent it from firing) however this is on a tag by tag basis.  You could create a load rule to "Block Tag" and then apply it to each of your Tags in Tealium. 

3) If the bot is not going to take any actions that fire a Tealium utag.view or utag.link then you can apply the noview flag in a Tealium Extension scoped to Pre Loader.  Only downside is Pre Loaders have to be 100% JavaScript and cannot use any Tealium functionality as they execute before any other Tealium Code.

 

Without having more detail, my guess is option 3 will be the easiest to setup (however this is only a guess).  Here is some sample code.

 

Let's assume the robot goes to the page:

http://www.example.com?robot=abc123

 

if(location.search.indexOf('robot=abc123') > -1){
  window.utag_cfg_ovrd = window.utag_cfg_ovrd || {};
  window.utag_cfg_ovrd.noview = true; 
}
Highlighted

How can I abort Tealium?

Employee Emeritus

@loldenburg

I learned today from @adrian_browning that there is a rarely used feature called noload.  Works almost the same as noview, except stops all the loading of utag and therefore all utag.view and utag.link calls will also not load. 

 

So the code would look like: 

if(location.search.indexOf('robot=abc123') > -1){
  window.utag_cfg_ovrd = window.utag_cfg_ovrd || {};
  window.utag_cfg_ovrd.noload = true; 
}
Highlighted

How can I abort Tealium?

Silver Contributor
Silver Contributor

Hi Brian, thanks for your answer. 

Does not surprise me that @adrian_browning knew this. He already won several nobel peace prizes for acquiescing desperate clients or partners... :)

Will try that and post here if it worked. 
Lukas

Highlighted

How can I abort Tealium?

Silver Contributor
Silver Contributor

Officially confirmed that it works. :)

Highlighted

How can I abort Tealium?

Tealium Employee

@loldenburg Glad to hear it worked!

Ask me anything Tealium related or Javascript, or NodeJS.
Please remember to mark solutions as accepted for future searchers.
Highlighted

How can I abort Tealium?

Bronze Contributor
Bronze Contributor

Hi @loldenburg@brian_kranson and @adrian_browning,

 

thanks for this post - I just have a similar situation when debugging side effects in MSIE. I would like to be able to disable all Tealium loading (except the basic request).

 

The

window.utag_cfg_cfg_ovrd.noload = true;

works perfect on "standard" pages. However, it does not block utag.view() and utag.link() calls in an AngularJS environment though the basic utag.js loading is blocked as described.

 

Any idea why?

 

I added an extension as described above which checks for a specific URL parameter and/or cookie. You can test the behaviour here (page is in German - sorry - but source code should be readable ;) )

 

www.tui.com/?tealium=noload

>> works as described

 

http://www.tui.com/pauschalreisen/suchen/hotels/Gran-Canaria/1123?useExtendedFilterDefaultValues=tru...

>> still loads upon a utag.view() call

 

The extensions - scope to pre loader - looks like this:

 

if(window.location.search.toString().toLowerCase().indexOf('tealium=noload') > -1
  || document.cookie.toString().indexOf("tealium_noload=1") > -1)
{
  console.log("Tealium iQ: starting in noload mode");
  
  if(document.cookie.toString().indexOf("tealium_noload=1") < 0)
  {
    document.cookie = "tealium_noload=1";
    console.log("Tealium iQ: saving noload mode to cookie");
  }
 
  window.utag_cfg_ovrd = window.utag_cfg_ovrd || {};
  window.utag_cfg_ovrd.noload = true;
} else
  console.log("Tealium iQ: starting in standard mode");

 

Thanks for your help!

Andreas

Highlighted

How can I abort Tealium?

Tealium Employee

@andreas_bahr

 

Hi Andreas,

 

So looks like there is an other extension setting the utag_cfg_ovrd object, but isn't first checking to make sure it isn't already defined.

 

tui_noload.png

 

If you update that extension, to be how you have defined utag_cfg_ovrd, your extension will work as expected.

 

Adrian

Ask me anything Tealium related or Javascript, or NodeJS.
Please remember to mark solutions as accepted for future searchers.
Highlighted

How can I abort Tealium?

Bronze Contributor
Bronze Contributor
Thanks! That does the trick. Small change, big impact :)