Expand my Community achievements bar.

SOLVED

External JS file reference in DTM

Avatar

Level 4

Hi,

We have a Event based rule that calls a function in an external JS file.  We want to add a reference to that JS file from with in DTM.  Is this possible and if so how/where should we add it?

Thanks in advance.

1 Accepted Solution

Avatar

Correct answer by
Level 2

One solution would be to create a global page load rule that loads your external script at, for example, "Page Bottom". In the "JavaScript/Third Party Tags" section, add a new "Non-Sequential" script. Then use something like the following to append the library to the page:

var script = document.createElement('script'); script.src = 'http://example.com/js.js'; // your script URL script.onload = function () { //this is only necessary if you need to call something directly after the script loads }; document.head.appendChild(script); // adds external script to page

As long as your Event based rule will fire after this is loaded, you should be good to go.

View solution in original post

6 Replies

Avatar

Level 10

Hi,

I'm not sure if it would be possible to reference an external js file within DTM. Alternatively, you could host your js script inside DTM in the third party tag section.

Thanks,
Jantzen

Avatar

Level 4

Thanks for the reply. I did tried like this but it didn't work.

Avatar

Level 10

I'd recommend pulling the code out of the test.js file and placing it into the Third Party Script section directly. This would eliminate the need to reference an external script.

Avatar

Level 10

Hi,

Does my last suggestion solve this issue? If so, would it be acceptable to mark that answer correct?

Thanks,
Jantzen

Avatar

Correct answer by
Level 2

One solution would be to create a global page load rule that loads your external script at, for example, "Page Bottom". In the "JavaScript/Third Party Tags" section, add a new "Non-Sequential" script. Then use something like the following to append the library to the page:

var script = document.createElement('script'); script.src = 'http://example.com/js.js'; // your script URL script.onload = function () { //this is only necessary if you need to call something directly after the script loads }; document.head.appendChild(script); // adds external script to page

As long as your Event based rule will fire after this is loaded, you should be good to go.

Avatar

Level 10

Steven,

Thanks for the answer! Looks like this is what the original poster was looking for.

Cheers,
Jantzen