微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在开发中使用 gatsby-plugin-google-tagmanager

如何解决在开发中使用 gatsby-plugin-google-tagmanager

我的 gatsby-config.ts 中有一个 gatsby 项目设置和 gatsby-plugin-google-tagmanager 设置,使用以下配置:

    ...
    {
        resolve: 'gatsby-plugin-google-tagmanager',// @see https://www.gatsbyjs.com/plugins/gatsby-plugin-google-tagmanager/
        options: {
            id: gtm.id,includeInDevelopment: true,defaultDataLayer: function () {
                return {
                    env: gtm.env
                }
            },routeChangeEventName: "page_vue",}
    },...

在开发模式下工作时,dataLayer 脚本被注入到 <head><body> 中,但对数据层的推送似乎没有效果,并且在未发出插件配置。

我已尝试使用 tagassistant.google.com 网站、dataSlayertag assistant legacy chrome 插件,但它们都表现得好像数据层未激活或未初始化。当站点在我们的开发服务器上运行时,这些事件会被触发并起作用。

解决方法

所以看来我是这个问题的一部分。看起来尽管禁用了我的广告拦截器等,但在开发模式下,某些 chrome 功能(或我这边的 getby 配置错误)仍然阻止了 dataLayer 在开发模式下的初始化(在生产中一切正常) .

在 chrome 上使用隐身模式允许初始化前者并将点击发送到 gtm 女巫确实回答了这个问题,但仍然使测试变得非常不切实际。

另请注意,我没有设法让 devmode 在 Firefox 上工作(即使在禁用跟踪保护的私人窗口中)。 我将在 gatsby github 存储库上填写问题,并在/每当我收到有关此事的回复时更新此回复。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。