在我们的应用程序上实施了Google跟踪代码管理器,并且初始页面加载工作正常,如Tag Assistant的下图所示。
现在看起来似乎是3秒之后,没有进一步推动dataLayer变量被跟踪。
标题中我的初始dataLayer和Tag Manager代码。
<script>dataLayer = [];</script>
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-####" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-######');</script>
以下是'timed#'事件的调试代码。
var count = 1;
setInterval(function() {
console.log(count);
dataLayer.push({
'event': 'timed' + count,
'test': count
});
count++;
}, 5000);
这是在控制台中按预期连续循环,但它似乎只向Tag Manager添加了一个事件。
搜索了各种文档和其他问题,但只能找到根本不起作用的情况。虽然这似乎只适用于最初的捕获。
是否有一些可能错过的设置?
答案 0 :(得分:0)
假设您有自定义HTML标记,并且内容是提供的,那么您需要做的就是在函数周围添加:
<script>
var count = 1;
setInterval(function() {
console.log(count);
dataLayer.push({
'event': 'timed' + count,
'test': count
});
count++;
}, 5000);
</script>
我测试了它并且使用脚本它会像你期望的那样触发它。这是因为它是一个自定义HTML标记,而不是Javascript标记,因此您需要声明内容是Javascript。