Giter Site home page Giter Site logo

inputobjects / wideangle-vuejs Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 37 KB

Wide Angle Analytics web analytics plugin for Vue.js

Home Page: https://wideangle.co

License: Apache License 2.0

JavaScript 100.00%
vue-plugin vue3 vuejs webanalytics privacy web-analytics google-analytics

wideangle-vuejs's Introduction

Wide Angle Analytics for Vue.js

License Latest Downloads Wide Angle

full_logo_color_light_transparent

Enable privacy-friendly web analytics in your Vue.js 3.x application with our official plugin.

Wide Angle Analytics is powerful, strictly-GDPR compliant Google Analytics alternative.

How to get started

You can enable Wide Angle Analytics in your Vue.js projects in just few steps. No complex configuration needed as our sane defaults give you reliable and privacy centric deployment out of the box.

  1. Go to Wide Angle website, create an account. You can create free 14-day trail. No Credit Card is required. Learn more.
  2. Create new Site and activate it.
  3. Install wideangle-vuejs plugin in your Vue application.

npm install wideangle-vuejs

  1. Enable and configure plugin.
import WideAnglePlugin from 'wideangle-vuejs'

app.use(WideAnglePlugin)

Configuring Wide Angle Analytics plugin

The Wide Angle Analytics plugin must be initialized with configuration object as there are required settings without defaults.

option description required default example
siteId The Site ID from Wide Angle Site settings none 8D27G3B9ACA01F4241
domain Domain hosting the script, can be found in Wide Angle Analytics Site settings none stats.wideangle.co
fingerprint Should script use browser fingerprinting; this might require collecting consent depeing on the applicable laws false true
supressDnt Should script ingore Do Not Track browser setting. If not enabled, not events will be sent if user's browser has DNT enabled false true
includeParams An array of query parameters that can be passed as part of tracking event. By default only utm_* and ref parameters are passed in the event [] ['sessionId', 'offset']
excludePaths An array of URL paths that should not trigger default events such as page view, page leave [] ['^/wp-admin/.*', ]
ignoreHash If enabled, change in the URL fragment will not trigger page view event false true

You will find more details about these settings in Wide Angle Analytics documentation.

Example:

import WideAngle from 'wideangle-vue'

const app = createApp(App);

app.use(WideAngle, {
  siteId: "8D27G3B9ACA01F4241",
  domain: "stats.example.com",
  fingerprint: true,
  supressDnt: true
});

Usage

The Wide Angle Analytics provides an instance of waa which can be then injected to your component.

import { inject } from 'vue'
const waa = inject('waa');

You will find a fully functional example in this repository.

Tracking Pageviews

No action necessary. The tracker script automatically issues Page View and Page Leave events.

Tracking Events

Wide Angle supports three specialized events:

  • clicks
  • downloads
  • custom actions

Site has to have these event enable in Wide Angle Analytics configuration prior to usage. Otherwise the tracker script will not sent these events. Consult official documentation regarding how to enable event handling.

Tracking Clicks

Currently Click Events are emitted automatically based on element data attributes.

Tracking Downloads

Depending on the configured mode, the Download Event will fire automatically when either:

  • a file with recognized extension is being downloaded, or
  • when a link is marked with data-waa-name attribute.

Tracking Custom Actions

Custom action are the most flexible and can be triggered directly from Vue components. As such their usage is not limitted due to Shadow DOM.

Example:

<template>
  <button @click="sendEvent()">Send Event</button>    
</template>

<script setup>
import { inject } from 'vue'
const waa = inject('waa');
const sendEvent = async () => {
  const params = {
    session: 'cjhw92nf9aq',
    cohort: 'c1233'
  }  
  waa.value.dispatchEvent('interest', params);  
}
</script>

wideangle-vuejs's People

Contributors

jrozanski avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.