Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Promises and JS Timing

michaelk6714623
Level 2
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
jantzen_belliston-Adobe
Correct answer by
Community Manager
Community Manager

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
jantzen_belliston-Adobe
Correct answer by
Community Manager
Community Manager

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