如果我们在外部JavaScript中使用dataLayer.push和GTM代码,则不会触发dataLayer.push值
如果我们在HTML中使用dataLayer.push和GTM代码,则dataLayer.push值将按预期触发
下面是我们在外部JavaScript中使用的代码。
请让我们知道是否有任何疑问
$(document).ready(function() {
window.dataLayer = window.dataLayer || [];
function getMetaContent(name) {
name = document.getElementsByTagName('meta')[name];
if (name != undefined) {
name = name.getAttribute("content");
if (name != undefined) {
return name;
}
}
return "";
}
var countryLanguage = getMetaContent('countryLanguage');
var pageType = getMetaContent('pageType');
var audiencePage = getMetaContent('audiencePage');
var userlogin = "";
if (localStorage.getItem("login") !== null) {
userlogin = "identifié";
} else {
userlogin = "Non identifié";
}
console.log("start");
window.dataLayer.push({
'countryLanguage': 'english',
'pageType': pageType
});
console.log("end");
universal_variable = {
"page": window.dataLayer
};
});
尽管您对这篇文章并没有真正问过一个问题,但是我想我可以帮忙,因为我自己也有这个问题。
[我所做的是将我的GTM容器代码段放在单独的.js
文件中,并在相关HTML文件的开头<head>
标签附近引用了该代码。