npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

automatic-analytics-trigger

v1.1.0

Published

Automatically trigger events and mutations for analytics

Downloads

29

Readme

npm npm bundle size

automatic-analytics-trigger

Automatically trigger on events and mutations for sending analytics

Installation

Install with npm:

npm i automatic-analytics-trigger -save

Or with yarn:

yarn add automatic-analytics-trigger

Or you can use the UMD build version in dist/automatic-analytics-trigger.min.js if you don't use a module bundler

https://unpkg.com/browse/automatic-analytics-trigger/dist/

and then add it to your html:

<script src="https://unpkg.com/automatic-analytics-trigger/dist/automatic-analytics-trigger.min.js"></script>

To use a fixed version, see https://unpkg.com/

Usage

Instantiate a new AutomaticAnalyticsTrigger passing a callback function that will be called each time a data event is dispatched. I suggest to use the callback to increment your dataLayer :)

import AutomaticAnalyticsTrigger from 'automatic-analytics-trigger';

dataLayer = [];
const automaticAnalyticsTrigger = new AutomaticAnalyticsTrigger((dataEvent) => dataLayer.push(dataEvent));

automaticAnalyticsTrigger.init();

And add the analytics data attributes to the elements you want to watch:

<button
    data-analytics-click 
    data-analytics-event="my-page-click"
    data-analytics-event-category="my-application:my-page"
    data-analytics-event-action="click:my-button"
    data-analytics-event-label="my-label-button"
    data-analytics-screen-name="my-page"
    data-analytics-dimension-22="my-dimension-value"
>
    Click to trigger
</button>

See the demo

If you will use Google Analytics and you don't know how to configure it, see https://developers.google.com/tag-manager/quickstart.

Configuration

You can use a custom configuration to change the target, events and mutations that will trigger your callback:

  • events: any javascript event and custom event.
    Default value: ['click']
  • mutations: a DOM mutation type, at this moment, show is the only mutation implemented and it occurs when the element is displayed.
    Default value: ['show']
  • target: the element you want to listen events and mutations.
    Default value: documentElement
const callback = (dataEvent) => dataLayer.push(dataEvent);
const config = { events: ['click', 'focus'], target: document.getElementById('my-form')}

const myFormAnalyticsTrigger = new AutomaticAnalyticsTrigger(callback, config);
myFormAnalyticsTrigger.init();