【问题标题】:Can anyone help implementing Nuxt.js Google Tag Manager?任何人都可以帮助实施 Nuxt.js 谷歌标签管理器吗?
【发布时间】:2018-10-19 02:44:43
【问题描述】:

嘿,我已经构建了一个 Nuxt 应用程序,但在使用包 @nuxtjs/google-tag-manager 包时遇到了问题。在下面找到。文档很简单,我还没有找到很多示例实现。在我的nuxt.config.js 中,我有以下设置。

['@nuxtjs/google-tag-manager', {
  id: process.env.GTM_ID,
  layer: 'dataLayer',
  pageTracking: true
}],

..但不幸的是,在 Google 跟踪代码管理器中没有获得任何 页面浏览量

在如何最好地实施 GTM 或什么对他们有用方面,是否有人有任何想法或经验?

提前致谢

【问题讨论】:

  • 您在 GTM 中是否正确配置了 GA 标签?

标签: vue.js google-tag-manager nuxt.js


【解决方案1】:

我看了一下包,https://github.com/nuxt-community/gtm-module/blob/master/lib/defaults.js里面有这段代码:

function startPageTracking(ctx) {
  ctx.app.router.afterEach((to) => {
    setTimeout(() => {
      ctx.$gtm.push(to.gtm || {
        routeName: to.name,
        pageType: 'PageView',
        pageUrl: '<%= options.routerBase %>' + to.fullPath,
        pageTitle: (typeof document !== 'undefined' && document.title) || '',
        event: '<%= options.pageViewEventName %>'
      })
    }, 250)
  })
}

由此看来,数据层看起来像这样:

{
routeName: to.name,
pageType: 'PageView',
pageUrl: '<%= options.routerBase %>' + to.fullPath,
pageTitle: (typeof document !== 'undefined' && document.title) || '',
event: '<%= options.pageViewEventName %>' //default is 'nuxtRoute'
}

事件的默认名称是“nuxtRoute”。因此,在 GTM 中,您将定义一个自定义事件触发器来触发“nuxtRoute”事件。像这样:

然后您想在 GTM 中创建两个 DataLayer 变量,它们将捕获 pageUrl(请注意骆驼大小写) 可能还有 routeName,我说 routeName 是可选的,取决于您是否是否更改/更新文档。

然后在 GTM 中创建您的 Google Analytics(分析)代码。确保它是“pageview”类型,然后选中“enable overriding settings in this tag”复选框,在“more settings > fields to set”下输入“page”作为字段名,“value”引用我们创建的变量。如果您想使用 to.name 变量设置页面标题,只需使用“title”字段。确保在“触发”下也添加了 nuxt 路由触发器。

保存并发布所有内容或在preview mode 中运行它,您应该会看到一些浏览量。

【讨论】:

  • 感谢@XTOTHEL 的详细回复,非常感谢您抽出宝贵时间整理这些内容。我正在与之合作的营销团队希望将触发器设置为“页面视图”而不是自定义事件,但目前页面视图没有通过。一定有办法!
  • 按照说明进行设置时。它将以页面视图的形式出现。数据层中的事件只是页面浏览的触发事件。
  • 因为您使用的是 vue,所以我假设这是在 SPA 中,在 SPA 中,只有在加载应用程序时才会出现传统意义上的“页面浏览量”。这就是你使用 nuxt 的原因,当你在 SPA 中路由时,它会提供一个“事件”来向 GTM 发出信号,表明有一个新的“屏幕”视图。然后,GTM 获取屏幕视图事件,获取 URL、标题等周围的数据层变量,并将该数据发送到 GA。
  • Xhothel 的回答很到位,只是您似乎没有完全意识到 GTM 事件和 GA 事件之间的区别。以上内容将在 Analytics 中显示为页面视图。触发器类型与跟踪数据无关 - 只要 Analytics 标记显示“综合浏览量”,无论是哪个 GTM 事件触发,您都会在 GA 中获得(虚拟)综合浏览量。
  • 如果您使用的是@nuxtjs/gtm,则pageURL 参数现在命名为pageUrl
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-28
  • 2015-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多