在 nuxt.js 中设置 Google Analytics 4

gvo*_*n79 19 google-analytics nuxt.js google-analytics-4

我在使用 Nuxt 设置新的 Google Analytics 4 (GA4) 帐户时遇到问题。根据教程,一切似乎都配置好了,但是我的流量没有显示在 GA(开发和生产)中

在 nuxt.config.js 我有以下内容

  buildModules: [
    '@nuxtjs/tailwindcss','@nuxtjs/google-analytics'
  ],
  googleAnalytics: {
    id: 'G-HWW3B1GM6W'
  },
Run Code Online (Sandbox Code Playgroud)

google id 是我的生产网站的 GA4 数据流 id。我尝试了 2 个不同的流,有 www 和没有 www,但流量没有出现在 GA4 中。

Mic*_*ani 25

[更新]

如果您想使用 GA4 属性(即具有 G-XXXXXXXXXX 格式的 id),您可以尝试通过创建插件来使用vue-gtag包:

import Vue from 'vue'
import VueGtag from 'vue-gtag'

Vue.use(VueGtag, {
  config: { id: 'G-XXXXXXXXXX' }
})
Run Code Online (Sandbox Code Playgroud)

在 nuxtconfig.js 中添加这个

plugins: ['@/plugins/gtag']
Run Code Online (Sandbox Code Playgroud)

关于您的消息中指出的问题,您提到的插件适用于 Google Analytics 的通用版本(即格式为 id 的内容UA-XXXXXXXXX-X),如链接中的示例:

 buildModules: [
   '@nuxtjs/tailwindcss','@nuxtjs/google-analytics'
 ],
 googleAnalytics: {
   id: 'UA-XXXXXXXX-X'
 },
Run Code Online (Sandbox Code Playgroud)

您在示例中输入的代码G-HWW3B1GM6W,指的是新的 Google Analytics 4,它与之前的系统不同,并且(尚)无法与该插件配合使用。

因此,我建议您创建一个 Universal Analytics 类型的媒体资源,并在您指定的插件中使用其 ID (UA-XXXXX-X)。您可以通过单击Show advanced options(创建新属性时)找到它:

在此处输入图片说明

  • 如果你使用的是 Nuxt v2,你可以安装 vue-gtag v1 并且它工作得很好... `npm install vue-gtag@1 --save` (8认同)
  • vue-gtag 对 Vue3 有硬性要求,但在 Nuxtjs 的稳定版本中尚不可用。如果您使用 Nuxt v2,此方法将不起作用。 (4认同)
  • 由于这主要只在客户端(在生产中)需要,您可以在插件中检查 `if (process.env.NODE_ENV === "生产")` 并在插件数组中配置 `mode` 插件选项`nuxt.config.js` as `{ src: "@/plugins/g-analytics.js", mode: "client" }` (2认同)

agm*_*984 25

我遇到了同样的问题,我通过使用普通 JavaScript 解决了它:

/static/js/ga.js

window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());

gtag('config', 'G-XXXXXXXXXX');
Run Code Online (Sandbox Code Playgroud)

/nuxt.config.js

export default {
    head: {
        script: [
            {
                src: "https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX",
                async: true,
            },
            {
                src: "js/ga.js",
            }
        ]
    },
}
Run Code Online (Sandbox Code Playgroud)

  • 如果您不想使用和管理另一个第三方插件,这是一个很好的解决方案。为我的网站工作。 (4认同)
  • 考虑到所有这些 vue ga 包不断被弃用,这个解决方案最有效 (3认同)
  • /static/js/ga.js 中的代码只需添加为脚本的回调:选项,无需单独的文件 (2认同)

小智 20

您可以通过创建插件来使用vue-gtag

import Vue from 'vue'
import VueGtag from 'vue-gtag'

Vue.use(VueGtag, {
  config: { id: 'G-XXXXXXXXXX' }
})
Run Code Online (Sandbox Code Playgroud)

记得在nuxtconfig.js中添加

plugins: ['@/plugins/gtag']
Run Code Online (Sandbox Code Playgroud)

  • @ihorbond - 不是“启用”,而不是“启用”吗?https://matteo-gabriele.gitbook.io/vue-gtag/plugin-options (3认同)
  • 谢谢你!不要忘记禁用本地主机上的标签 (2认同)
  • ^ 对于产品,仅传递 { enable: process.env.NODE_ENV === '生产' } (2认同)