如何在 nuxt.js 中使用 gtag.js?

Vla*_*nin 5 vue.js nuxt.js gtag.js

我正在尝试将 gtag.js 库与 nuxt.js 一起使用。为此,我安装了插件https://github.com/nuxt-community/google-gtag,但它对我不起作用

//nuxt.config
if(APP_ENV.gtag !== '') {
  m.modules.push([
    '@nuxtjs/google-gtag',{
    id: APP_ENV.gtag,
    config: {
      'send_page_view': false,
      'anonymize_ip': true
    },
    debug: false,
    disableAutoPageTrack: false
    }
  ])
}
Run Code Online (Sandbox Code Playgroud)

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<a  href="#" @click.stop.prevent="onAddCartItem(false), $gtag('event','add_to_cart',{items: [{id: 'P12345'}, {name: 'P12345'}, {list_name: 'Search Results'}, {brand: 'Google'}, {category: 'Apparel/T-Shirts'}]})">? ???????</a>
Run Code Online (Sandbox Code Playgroud)

Isa*_*utu 10

您可以使用vue-gtag并创建一个自定义插件来在 nuxt 中激活它,如下所示:

npm 添加 vue-gtag

在你的插件文件夹中创建一个空文件 vue-gtag.js

import Vue from "vue";
import VueGtag from "vue-gtag";

Vue.use(VueGtag, {
  config: { id: "UA-174146361-1" },

})
Run Code Online (Sandbox Code Playgroud)

配置您的 nuxt.config.js 以使用 Vue-Gtag

plugins: [
    {src: '~/plugins/vue-gtag',}
]
Run Code Online (Sandbox Code Playgroud)

您的应用现在应该开始使用 vue-gtag 并具有以下默认值:

{
  pageTrackerTemplate: () => {},
  onBeforeTrack: () => {},
  onAfterTrack: () => {},
  onReady: () => {},
  enabled: true,
  disableScriptLoad: false,
  bootstrap: true,
  globalObjectName: "gtag",
  globalDataLayerName: "dataLayer",
  pageTrackerEnabled: true,
  pageTrackerScreenviewEnabled: false,
  pageTrackerSkipSamePath: true,
  defaultGroupName: "default",
  includes: null,
  config: null
}
Run Code Online (Sandbox Code Playgroud)

在此处从 Vue-Gtag 文档中找到更多细节:https ://matteo-gabriele.gitbook.io/vue-gtag/