UNPKG

redux-beacon-matomo-tag-manager

Version:
47 lines (35 loc) 3.3 kB
# redux-beacon-matomo-tag-manager [![npm version](https://badge.fury.io/js/redux-beacon-matomo-tag-manager.svg)](https://npmjs.org/package/redux-beacon-matomo-tag-manager) [![downloads](https://img.shields.io/npm/dw/redux-beacon-matomo-tag-manager.svg)](https://npmjs.org/package/redux-beacon-matomo-tag-manager) [![open issues](https://img.shields.io/github/issues-raw/dbartholomae/redux-beacon-matomo-tag-manager.svg)](https://github.com/dbartholomae/redux-beacon-matomo-tag-manager/issues) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fdbartholomae%2Fredux-beacon-matomo-tag-manager.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fdbartholomae%2Fredux-beacon-matomo-tag-manager?ref=badge_shield) [![build status](https://img.shields.io/circleci/project/github/dbartholomae/redux-beacon-matomo-tag-manager/master.svg?style=flat)](https://circleci.com/gh/dbartholomae/workflows/redux-beacon-matomo-tag-manager/tree/master) [![codecov](https://codecov.io/gh/dbartholomae/redux-beacon-matomo-tag-manager/branch/master/graph/badge.svg)](https://codecov.io/gh/dbartholomae/redux-beacon-matomo-tag-manager) [![dependency status](https://david-dm.org/dbartholomae/redux-beacon-matomo-tag-manager.svg?theme=shields.io)](https://david-dm.org/dbartholomae/redux-beacon-matomo-tag-manager) [![devDependency status](https://david-dm.org/dbartholomae/redux-beacon-matomo-tag-manager/dev-status.svg)](https://david-dm.org/dbartholomae/redux-beacon-matomo-tag-manager?type=dev) [![Greenkeeper](https://badges.greenkeeper.io/dbartholomae/redux-beacon-matomo-tag-manager.svg)](https://greenkeeper.io/) [![semantic release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release#badge) Matomo (formerly Piwik) tag manager integration for [redux-beacon](https://rangle.gitbook.io/redux-beacon/). ## Installation Download node at [nodejs.org](http://nodejs.org) and install it, if you haven't already. ```sh npm install redux-beacon-matomo-tag-manager --save ``` ## Usage 1. Sign up for or install [Matomo Tag Manager](https://matomo.org/docs/tag-manager/) and create a new web container. 2. Add the Matomo Tag Manager container snippet to your site. 3. Install [redux-beacon](https://rangle.gitbook.io/redux-beacon/) in your app 4. Use this library to connect redux-beacon to the tag manager ```typescript import { applyMiddleware, createStore } from 'redux' import { createMiddleware } from 'redux-beacon' import MatomoTagManager from 'redux-beacon-matomo-tag-manager' const ACTION_TYPE = 'ACTION_TYPE' // Set up which actions should trigger which events or variables const eventsMap = { [ACTION_TYPE]: () => ({ event: 'integrationTestEvent' }) } // Create the middleware const matomoTagManager = MatomoTagManager() const matomoTagManagerMiddleware = createMiddleware(eventsMap, matomoTagManager) const store = createStore((state = {}) => state, applyMiddleware(matomoTagManagerMiddleware)) // When you dispatch an action, the middleware will trigger the event store.dispatch({ type: ACTION_TYPE }) ``` ## Thanks Thanks to [Matomo](https://matomo.org) for supporting this project by providing an analytics property for integration testing this library.