Google NextJS、会话和点击差异的跟踪代码管理器实现
Google Tag Manager Implementation for NextJS, Session and Click Discrepancy
在尝试实施 Google 跟踪代码管理器时,我们遵循了 NextJS 开发人员在 https://github.com/vercel/next.js/tree/canary/examples/with-google-tag-manager 推荐的实施。
但是,在通过 GTM 连接的某些服务(Google Analytics、Google AdWords、Bing Ads 等)中,我注意到存在差异。最值得注意的是,我的 AdWords 点击次数和 Analytics 会话之间存在很大差异。 Google AdWords 似乎正确地跟踪了所有点击,但 Google Analytics 并未获取所有会话。这个数字相差 ~35-40%。
根据数据,我的 GTM 代码似乎有时没有触发。但是,通过使用多个 Tag Assistant 浏览器扩展以及 Google 标签管理器预览模式,我总是能够在测试时看到我的标签按预期触发。
此外,Google Analytics 偶尔会抛出一组错误通知:
The Ad Destination URL https://www.x from the AdWords account x has accrued a significant number of clicks but a lower-than-expected number of sessions because the page is not tagged with a supported version of the Google Analytics tracking code.
If your pages do not include a supported version of the Analytics tracking code, then Analytics cannot collect data for those pages.
To find the right tracking code for your property, on the Analytics Admin page in the Property column, click Tracking info, then click Tracking Code.
Google Tag Assistant Recordings can help you ensure that your tracking code is sending hits as expected.
当访问通知中提供的链接时,我能够看到我的 GTM + UA 代码在我访问它的任何浏览器或设备上都成功触发。当我建议 Google 使用特定链接“再次检查”时,几天后它们被标记为已解决,并且会出现一组具有不同链接和相同消息的新通知。
我什至联系了 Google 的 GTM 支持,他们报告说他们看不到任何错误,无论是在我网站上的标记中,还是在 Analytics 帐户配置中。
我完全不知所措,如果有任何建议或见解,我将不胜感激。谢谢
我已经为 React 实现了 GTM,这里有一些技巧可以帮助您:
优先触发 GTM 代码
页面加载后立即触发 GTM。很多时候,开发人员可能会等到 dom 准备就绪,这可能会导致很多差异(您可以使用 GTM 中的预览模式检查这一点。查看 UA 相关标签何时触发。如果不是'发生得不是很快,你有问题。)你可以使用 Tag Assistant 伴侣更好地找到线索。
问题最终与内容安全策略有关。某些浏览器(即 Safari)拒绝 GTM 脚本插入,导致它无法在 iOS 和 MacOS 上触发。解决方案是简单地将相关 url 添加到脚本部分的 CSP header 中。如此简单的解决方案让我头疼了好几个星期。
在尝试实施 Google 跟踪代码管理器时,我们遵循了 NextJS 开发人员在 https://github.com/vercel/next.js/tree/canary/examples/with-google-tag-manager 推荐的实施。
但是,在通过 GTM 连接的某些服务(Google Analytics、Google AdWords、Bing Ads 等)中,我注意到存在差异。最值得注意的是,我的 AdWords 点击次数和 Analytics 会话之间存在很大差异。 Google AdWords 似乎正确地跟踪了所有点击,但 Google Analytics 并未获取所有会话。这个数字相差 ~35-40%。
根据数据,我的 GTM 代码似乎有时没有触发。但是,通过使用多个 Tag Assistant 浏览器扩展以及 Google 标签管理器预览模式,我总是能够在测试时看到我的标签按预期触发。
此外,Google Analytics 偶尔会抛出一组错误通知:
The Ad Destination URL https://www.x from the AdWords account x has accrued a significant number of clicks but a lower-than-expected number of sessions because the page is not tagged with a supported version of the Google Analytics tracking code.
If your pages do not include a supported version of the Analytics tracking code, then Analytics cannot collect data for those pages.
To find the right tracking code for your property, on the Analytics Admin page in the Property column, click Tracking info, then click Tracking Code.
Google Tag Assistant Recordings can help you ensure that your tracking code is sending hits as expected.
当访问通知中提供的链接时,我能够看到我的 GTM + UA 代码在我访问它的任何浏览器或设备上都成功触发。当我建议 Google 使用特定链接“再次检查”时,几天后它们被标记为已解决,并且会出现一组具有不同链接和相同消息的新通知。
我什至联系了 Google 的 GTM 支持,他们报告说他们看不到任何错误,无论是在我网站上的标记中,还是在 Analytics 帐户配置中。
我完全不知所措,如果有任何建议或见解,我将不胜感激。谢谢
我已经为 React 实现了 GTM,这里有一些技巧可以帮助您:
优先触发 GTM 代码 页面加载后立即触发 GTM。很多时候,开发人员可能会等到 dom 准备就绪,这可能会导致很多差异(您可以使用 GTM 中的预览模式检查这一点。查看 UA 相关标签何时触发。如果不是'发生得不是很快,你有问题。)你可以使用 Tag Assistant 伴侣更好地找到线索。
问题最终与内容安全策略有关。某些浏览器(即 Safari)拒绝 GTM 脚本插入,导致它无法在 iOS 和 MacOS 上触发。解决方案是简单地将相关 url 添加到脚本部分的 CSP header 中。如此简单的解决方案让我头疼了好几个星期。