首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有人能帮助实现Nuxt.js谷歌标签管理器吗?

有人能帮助实现Nuxt.js谷歌标签管理器吗?
EN

Stack Overflow用户
提问于 2018-10-19 02:44:43
回答 1查看 13.8K关注 0票数 17

嘿,我已经构建了一个Nuxt应用程序,并且在软件包@nuxtjs/google-tag-manager包上遇到了麻烦。在下面找到的。文档非常简单,而且我还没有找到很多示例实现。在我的nuxt.config.js中,我有以下设置。

代码语言:javascript
复制
['@nuxtjs/google-tag-manager', {
  id: process.env.GTM_ID,
  layer: 'dataLayer',
  pageTracking: true
}],

不幸的是,..but在Google管理器中没有任何页面视图

有没有人有任何想法或经验,如何最好地实施GTM或什么对他们有效?

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-19 03:01:54

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

代码语言:javascript
复制
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)
  })
}

从这个角度看,数据层看起来如下:

代码语言:javascript
复制
{
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中创建标签。确保它是"pageview“类型,然后选中”启用此标记中的覆盖设置“复选框,在”多个设置>字段“下为字段名设置”type in“页面,并为我们创建的变量"value”引用。如果要使用to.name变量设置页面标题,只需使用" title“字段即可。确保添加nuxt路由触发器以及在“触发”下。

保存和发布所有内容,或者在预览模式中运行它,您将看到一些页面视图。

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52885180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档