vuejs - 谷歌标签管理器

时间:2017-11-01 00:03:13

标签: javascript google-analytics vuejs2 google-tag-manager

我有一个包含各种页面的vuejs项目:

  • study.vue
  • result.vue

我的客户希望我添加Google Tag Manager代码,以便他们可以使用Google Analytics进行跟踪。我应该在.vue文件中添加代码?或者我应该将其添加到index.html

Update01

这是我到目前为止所做的事情:

  1. 我将Google Tag Manager代码添加到index.html

  2. 我安装了vue-gtm

  3. 我有app.jsbootstrap.js。基本上,bootstrap.js将添加我所有其他js框架。像lodash.js或'jquery.js'。我将示例代码从vue-gtm添加到bootstrap.js

    window._ = require('lodash'); window.moment = require('moment');

    window.Vue = require('vue');

    从'vue-router'导入VueRouter; Vue.use(VueRouter)

    从'vue-gtm'导入VueGtm; Vue.use(VueGtm,{   debug:true })

  4. 在所有vue文件中,我添加了以下代码:

    这个。$ ua.trackView('Sample','samplepath');

  5. 但是我收到了错误:

      

    TypeError:无法读取未定义的属性'trackView'

    什么似乎是错误?

1 个答案:

答案 0 :(得分:2)

我假设您在谈论创建帐户时获得的脚本?

HTML中应该包含两个脚本,一个包含(noscript)的评论和一个不包含的脚本。两者都应该放在index.html文件中(无论哪个文件都包含<head><body>标记)。 拥有 noscript的那个应该在 <body>标记之后立即的那个有noscript应该靠近<head>部分的顶部。

如果您询问如何触发事件,例如当用户与其中一个Vue元素交互时,则触发事件的代码应该放在Vue组件中。

更新1:我调查了它并设置我自己的Laravel安装进行测试(因为这似乎是你正在使用的)并进行了测试。问题是$uaVue Analytics的一部分,因此如果您想使用$ua,您还需要安装vue-ua模块并将其添加到Vue。我不知道为什么Tag Manager模块的文档显示如何使用Analytics模块而不参考它,也许您应该在Tag Manager GitHub上提出问题以使文档更清晰!

总而言之,您应该将$ua替换为$gtm。我对其进行了测试,并且$gtm具有trackView功能,因此它可能会达到您想要的效果,但我不知道如何使用Google跟踪代码管理器,因此您必须对其进行测试出去了。