@rabota/google-analytics

The most powerful module to work with Google Analytics in your Nuxt.js application
707
Install
npm install @rabota/google-analytics
Latest Version:0.9.2
License:MIT
Last Updated:May 24, 2019
Links: GitHub  ·  npm
Maintainer: gonzales

Google Analytics

npm npm (scoped with tag)

Add Google Analytics to your nuxt.js application.

This plugins automatically sends first page and route change events to Google Analytics.

yarn add @rabota/google-analytics

or

npm install --save @rabota/google-analytics

Table of contents

Features

  • Supports multiple IDs
  • You can pass an async function to provide IDs
  • Easy-to-use API
  • Automatically handling all SPA caveats (spa: true option)
  • gtag API
  • Logging

Note: Google Analytics is disabled in development mode by default. You can set development option to true to run Google Analytics in development mode.

Setup

  • Add @rabota/google-analytics dependency using yarn or npm to your project
  • Add @rabota/google-analytics to modules section of nuxt.config.js
{
  modules: [
    ['@rabota/google-analytics', [
      counter: 'GA_TRACKING_ID', // main tracking ID
      includeCounters: [ 'GA_TRACKING_ID_2', ..., 'GA_TRACKING_ID_3' ], // additional tracking IDs
      options: {
       // google analytics options
      },
      spa: true, // sends new pages to GA in SPA
      logging: true, // logs all events to each counter
      development: true
    }]
  ]
}

Options

counter

{string|Function} Tracking ID

Could be an async function that returns an ID.

includeCounters

{string|Array<string>|Function} Additional tracking IDs

Could be an async function that returns one or array of IDs.

options

{Object} Google Analytics (todo)

spa

{boolean} Sends new pages & pageviews to GA in SPA (default: true).

logging

{boolean} Output all sending events for each counter (default: false).

development

{boolean} set true if you want to run GA in dev mode. By default GA is disabled in dev mode.

Methods

this.$ga - is a Layer Instance.

#pushAll

Same as gtag function of GA. Sends data to all trackers.

#pushTo

The same as gtag function of GA. Sends data to specific tracker.

More information about GA routing: https://developers.google.com/gtagjs/devguide/routing

More methods or properties you can find here: @rabota/analytics-layer/src/layer.js.

Examples

After setup you can access the GA through this.$ga instance in any component you need.

export default {
  mounted () {
    this.$ga.pushAll('event', 'add_to_cart', {
      'items': [
        'id': 'U1234',
        'ecomm_prodid': 'U1234',
        'name': 'Argyle Funky Winklepickers',
        'list': 'Search Results',
        'category': 'Footwear',
        'quantity': 1,
        'ecomm_totalvalue': 123.45,
        'price': 123.45
      ]
    });
  }
}

Send to a specific tracker

export default {
  mounted () {
    this.$ga.pushTo( 'GA_TRACKING_ID', 'event', 'event-name', params );
  }
}

License

MIT

Author

Alexander Belov (c) 2019

Related Packages

@rabota/yandex-metrika

The most powerful module to work with Yandex Metrika in your Nuxt.js application

1,776 5
@rkaliev/nuxt-yandex-metrika

Модуль Nuxt 4 для Яндекс Метрики (Nuxt 4 module for Yandex Metrika)

1,921 20
nuxt-matomo

Matomo analytics for Nuxt.js

18,183 85
@gbbluspark/nuxt-matomo

Matomo analytics for Nuxt.js

2,596 0
nuxt-compress

Runs gzip and brotli compression on static assets during Nuxt build

278,005 103

Version History

Version Released License
0.9.2 MIT
0.9.1 MIT
0.9.0 MIT
0.8.2 MIT
0.8.1 MIT