Need Tealium Custom Container processing to be sequential

Bronze Contributor
Bronze Contributor

We have an existing JS reporting library that we want to use inside of Tealium.  During a track call, we currently have two tags: our library (we'll call it Foo) inside of a Tealium Custom Container and the vendor provided Adobe tag.  Everything worked great implementing the Adobe tag and now I'm trying to implement our Foo tag.  The client app is an Angular 1.x app.  I'm making good use of console.log and I'm noticing some concerning behavior.  My app is submitting track calls to Tealium in the proper order (start is called first and complete is called second).  However, inside of the Tealium Custom Container, when logging calls in the u.send() block, I'm noticing that sometimes the calls are coming through in the correct order and sometimes the calls are coming through in reverse order.  I only have the two calls so I couldn't say if the order was reversed or random.

 

I need the calls to my custom tag to come through in the order the calls are received by Tealium.  Is this possible?  Is there a way to enforce sequentiality inside of a Tealium tag?

1 REPLY 1

Need Tealium Custom Container processing to be sequential

Tealium Employee

Hi @mjohnsonaz74

 

So the explicit answer to your question is no. You can not sequentially load tags.
However this feature is coming in the next major release of utag.js (no release date as of yet).

 

For your example thought it sounds like you can fix your issue, by bundling the tags inside the utag.js file. As the issue you described, sounds exactly like a network request race condition. Where the tags will be called for in order, however they will be processed in order that they return.

When they are bundled, as they are already there, there is no network race condition, so they will be called in order that you have configured in the UI.

 

Hopefully that makes sense, and will help with your timing issue.

 

Adrian

Ask me anything Tealium related or TypeScript/JavaScript, or NodeJS.
Please remember to mark solutions as accepted for future searchers.
Public