【发布时间】:2018-01-12 03:36:48
【问题描述】:
我已经在我的 chrome 扩展页面中添加了这个 gtm 代码(由内容脚本和 iframe 注入)
// <!-- Google Tag Manager -->
(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='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','owDataLayer','GTM-XXXXXXX');
// <!-- End Google Tag Manager -->
我确认 gtm.js 文件加载成功。
Request URL:https://www.googletagmanager.com/gtm.js?id=GTM-XXXXXX&l=dataLayer
Request Method:GET
Status Code:200 (from disk cache)
我有一个按钮,下面的代码已附加到按钮的点击事件
dataLayer.push({
'event': 'tab click',
'user id' : 123,
'description' : "Social"
});
当我点击按钮 dataLayer.push 成功但没有发送到https://www.google-analytics.com/r/collect?
开发者工具栏窗口的“网络”标签中没有活动。
谁能帮我解决这个问题?提前致谢!
【问题讨论】:
-
你能分享一下 GTM 中应该在“标签点击”事件中触发的标签的设置吗? (截图会很棒)
-
@Matus,添加了标签设置的屏幕截图。谢谢!
-
谢谢,但我指的是您 GTM 帐户中的标签设置。我不确定你在哪里设置这个“标签”——我以前从未见过这个。在任何情况下,您都需要定义该标签应在“标签点击”事件时触发。基本上,在您的 GTM 帐户中,您需要创建“自定义事件”触发器,然后将代码设置为在此触发器上触发 - 您完成了吗?
-
@Matus,上面的截图是从 tagmanager 仪表板导出的 JSON。是的,我已经正确设置了我的标签,如果我在网站中使用它们,它可以正常工作,但它在 chrome 扩展程序中不起作用。
-
@Matus,仅供参考,我找到了解决问题的方法并在我的答案中发布了相同的内容。感谢您抽出宝贵时间。
标签: google-chrome-extension google-tag-manager google-datalayer