Expand my Community achievements bar.

SOLVED

Promises and JS Timing

Avatar

Level 2

Hi All

I have an issue in my implementation where the pageview is being called before my datalayer is populated, throwing up an error. I have implemented a custom code to fire rather than using the standard implementation within DTM.

What are my options to delay the timing of the pageload call? Can DTM handle Javascript Promises? If not, what other options can I use? I want the pageview to be fired after the datalayer has been populated.

1 Accepted Solution

Avatar

Correct answer by
Level 10

Hi Michael,

DTM should be able to handle anything that you load prior to DTM loading. For example, if you loaded jQuery before DTM, you should be able to use jQuery. 

As for the data layer, it is best to split it with all the static data (ex: product data on the product page) available during page build coming before DTM and all data coming via ajax can be added after page body load (ex: pricing data on product page).

Additionally, I'd suggest a look through the load order documentation. There may be various events that you can utilize to accomplish your goals. If all else fails, you could use direct call rules to fire the beacons from the page.

 

Cheers,
Jantzen

View solution in original post

1 Reply

Avatar

Correct answer by
Level 10

Hi Michael,

DTM should be able to handle anything that you load prior to DTM loading. For example, if you loaded jQuery before DTM, you should be able to use jQuery. 

As for the data layer, it is best to split it with all the static data (ex: product data on the product page) available during page build coming before DTM and all data coming via ajax can be added after page body load (ex: pricing data on product page).

Additionally, I'd suggest a look through the load order documentation. There may be various events that you can utilize to accomplish your goals. If all else fails, you could use direct call rules to fire the beacons from the page.

 

Cheers,
Jantzen