我看了一下包,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 中运行它,您应该会看到一些浏览量。