/vue-matomo

Vue plugin for Piwik / Matomo Analytics

Primary LanguageJavaScriptMIT LicenseMIT

VueMatomo

npm vue2 Build Status

Link your Piwik/Matomo installation

Installation

npm install --save vue-matomo

Usage

Bundler (Webpack, Rollup)

import Vue from 'vue'
import VueMatomo from 'vue-matomo'

Vue.use(VueMatomo, {
  // Configure your matomo server and site by providing
  host: 'https://matomo.example.com',
  siteId: 5,

  // Changes the default .js and .php endpoint's filename
  // Default: 'piwik'
  trackerFileName: 'piwik',

  // Overrides the autogenerated tracker endpoint entirely
  // Default: undefined
  // trackerUrl: 'https://example.com/whatever/endpoint/you/have',

  // Enables automatically registering pageviews on the router
  router: router,

  // Enables link tracking on regular links. Note that this won't
  // work for routing links (ie. internal Vue router links)
  // Default: true
  enableLinkTracking: true,

  // Require consent before sending tracking information to matomo
  // Default: false
  requireConsent: false,

  // Whether to track the initial page view
  // Default: true
  trackInitialView: true,

  // Whether or not to log debug information
  // Default: false
  debug: false
});

// Now you can access piwik api in components through
this.$matomo

// or
window._paq.push

// or through
window.Piwik.getTracker

For available operations see the matomo api docs

Ignoring routes

It is possible to ignore routes using the route meta:

{
  path: '/page-2',
  name: 'Page2',
  component: Page2,
  meta: {
  analyticsIgnore: true
  }
}

Browser

<!-- Include after Vue -->
<!-- Local files -->
<script src="vue-matomo/dist/vue-matomo.js"></script>

<!-- From CDN -->
<script src="https://unpkg.com/vue-matomo"></script>

Build

Bundle the js and css of to the dist folder:

npm run build

License

MIT