This post is from 2016 and probably the info below is out of date.
This article will help you how to add Google analytics by using Analytics.js into your vue-cli webpack project. This is one way to do it, if you have a better way please let me know 🙂
I assume that you’re also using vue-router
1. Insert the Google analytics script inside your index.html
You might have a better way to add external javascript into your project. At the moment I’ll just show you to connect Google Analytics with Vue.
1. Create your google_analytics.js snippet:
module.exports = { init(){ window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; ga('create', 'UA-80XXXXXX-1', 'auto'); ga('send', 'pageview'); } }
3. Add your file to your main.js
var google_analytics = require('./js/google_analytics.js')
4. Initialize your Google Analytics tracker on your router.start (main.js)
router.start(App,'body', function(){ google_analytics.init() })
5. Send your page info via router.beforeEach hook (main.js)
router.beforeEach(function (transition) { ga('send', { hitType: 'pageview', page: transition.to.path, location: window.location.origin + transition.to.path, title: transition.to.name }); })
Ta dah!. That’s all 🙂
Notes
- – This is just one way to go, you might want to use the function ga(‘send’, … ) and customise these arguments inside each .vue file so you can send different data.
- – transition.to.name might not be the Title of your page but the name of your template.