【问题标题】:How to use gtag.js with nuxt.js?如何将 gtag.js 与 nuxt.js 一起使用?
【发布时间】:2019-05-27 09:00:44
【问题描述】:

我正在尝试将 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
    }
  ])
}

<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>

【问题讨论】:

  • 你不应该在 nuxt 中通过 script 标签添加 vue。

标签: vue.js nuxt.js gtag.js


【解决方案1】:

您可以使用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" },

})

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

plugins: [
    {src: '~/plugins/vue-gtag',}
]

您的应用现在应该开始使用具有以下默认值的 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
}

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

【讨论】:

  • 我已经尝试过了,但仍然无法在任何地方访问 $gtag?
  • 在 plugins/gtag.ts 中:从 'vue' 导入 Vue;从'vue-gtag'导入VueGtag;常量 gid = 'G-123'; Vue.use(VueGtag, { config: { id: gid }, bootstrap: 'true', appName: 'xxx', enabled: true, pageTrackerScreenviewEnabled: true, });
猜你喜欢
  • 2017-09-25
  • 1970-01-01
  • 2020-07-09
  • 2021-04-10
  • 2020-06-28
  • 2018-08-15
  • 1970-01-01
  • 1970-01-01
  • 2020-12-02
相关资源
最近更新 更多