{"_id":"@antoine-giret/matomo-tracker-js","_rev":"1-b82a6e96ad570a5f9f11bb331099fa8d","name":"@antoine-giret/matomo-tracker-js","dist-tags":{"latest":"0.5.2"},"versions":{"0.5.2":{"name":"@antoine-giret/matomo-tracker-js","version":"0.5.2","description":"Matomo tracker for frontend projects","main":"lib/index.js","module":"es/index.js","license":"MPL-2.0","author":{"name":"Datapunt Amsterdam"},"homepage":"https://github.com/Amsterdam/matomo-tracker#readme","repository":{"type":"git","url":"git+https://github.com/Amsterdam/matomo-tracker.git","directory":"packages/js"},"bugs":{"url":"https://github.com/Amsterdam/matomo-tracker/issues"},"sideEffects":false,"contributors":[{"name":"Chris van Mook","email":"chrisvanmook@gmail.com"},{"name":"Jon Koops","email":"jonkoops@gmail.com"}],"keywords":["matomo","piwik","tracking","analytics","client"],"publishConfig":{"access":"public"},"gitHead":"fa836495e5a7e0686787edb7e3dfb8da914069e3","_id":"@antoine-giret/matomo-tracker-js@0.5.2","_nodeVersion":"16.13.2","_npmVersion":"lerna/4.0.0/node@v16.13.2+arm64 (darwin)","dist":{"integrity":"sha512-zo9mpCXYJPevykyiYzbgak6XjlzbEbFcv1qpW5P9T/fRUkDFn4uw+bMmdqEu+FowTeWfnbsb1YqUwr2nV2TRtQ==","shasum":"584b76951edc3614d0aebb8fee763ba9166da14a","tarball":"https://registry.npmjs.org/@antoine-giret/matomo-tracker-js/-/matomo-tracker-js-0.5.2.tgz","fileCount":40,"unpackedSize":94433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFlyZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmow7Q//S2jI91eVqVVUj5sh65Ow1aoVseQnEv2XDTg+O5B3F5Fofs4f\r\nQKBsTo2gJbwedaRxoYyi6O34e5/FLe1j6u/5zebGmZzCxMY1AYnAhC59ocaK\r\nJoOKvh20JzsRrQSX7cFJUPOrv2zQXIj5y7+h16uHJEfdvbnK1pwTXjORL9Z4\r\nroKvS8tNkYXfQw8/0IIA6mf3RpDApOZtUu6qcgnOwaOQWkigb6VgW6hREaO8\r\nOhFyq7bbDz4hXXD3VzDct7OLCF4kKDsv6qLoRwuWjiIweR6JPwblJQLrkxq3\r\nmIgW2rTdTKTpsJDocdeLEoT/Cp1ibKsaTta43TwcDtyU7t28BacMae+FEfCJ\r\nf8zen7S46utIggFvxXxaj2PJPfCAvPPzhbkZDBLmjJmO9oIRqasaMkdKJses\r\nvk6t7Nu1P3tvt3585FnO1dcwcPM2pP8gXrDBiPln4I/rtKrrRpdRHMdTyRXQ\r\nly071A/bCnBgajt5g4Ek1X33kOl48xu+j+Fs5dU05Ur86JSvlBpihXMq0NGQ\r\nFu3UhwwmNgeE3J85irImaih89t2qKEih4+QOKENe//fe7yKo7D+cdpyOJcHr\r\nkeAZ3PAR2oWULXwATIGoHJ7NqjRGLCULiNnJf1DpxyPx50KryT7BCoo6sU4t\r\ngp94tB20l7y00mCL0rSM8zGiiF+NZrpOyHs=\r\n=s/cQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBH9dssUbwNxOhEeMr9+9ZPh8Va6SZf0qc4wjnSJcXnKAiEA+HwL+3k7Xd8e99U73xr1/OUKpc96X+RKVWd0nWifiN8="}]},"_npmUser":{"name":"antoine-giret","email":"ant.giret@gmail.com"},"directories":{},"maintainers":[{"name":"antoine-giret","email":"ant.giret@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/matomo-tracker-js_0.5.2_1645632665789_0.7300784497435977"},"_hasShrinkwrap":false}},"time":{"created":"2022-02-23T16:11:05.744Z","0.5.2":"2022-02-23T16:11:05.951Z","modified":"2022-04-04T14:22:48.780Z"},"maintainers":[{"name":"antoine-giret","email":"ant.giret@gmail.com"}],"description":"Matomo tracker for frontend projects","homepage":"https://github.com/Amsterdam/matomo-tracker#readme","keywords":["matomo","piwik","tracking","analytics","client"],"repository":{"type":"git","url":"git+https://github.com/Amsterdam/matomo-tracker.git","directory":"packages/js"},"contributors":[{"name":"Chris van Mook","email":"chrisvanmook@gmail.com"},{"name":"Jon Koops","email":"jonkoops@gmail.com"}],"author":{"name":"Datapunt Amsterdam"},"bugs":{"url":"https://github.com/Amsterdam/matomo-tracker/issues"},"license":"MPL-2.0","readme":"# Matomo Tracker (JavaScript)\n\nStand alone library for using Matamo tracking in frontend projects\n\n## Installation\n\n```sh\nnpm install @datapunt/matomo-tracker-js\n```\n\n## Usage\n\nBefore you're able to use this Matomo Tracker you need to initialize Matomo with your project specific details.\n\n**Initialize:**\n\n```ts\nimport MatomoTracker from '@datapunt/matomo-tracker-js'\n\nconst tracker = new MatomoTracker({\n  urlBase: 'https://LINK.TO.DOMAIN',\n  siteId: 3,\n  userId: 'UID76903202', // optional, default value: `undefined`.\n  trackerUrl: 'https://LINK.TO.DOMAIN/tracking.php', // optional, default value: `${urlBase}matomo.php`\n  srcUrl: 'https://LINK.TO.DOMAIN/tracking.js', // optional, default value: `${urlBase}matomo.js`\n  disabled: false, // optional, false by default. Makes all tracking calls no-ops if set to true.\n  heartBeat: { // optional, enabled by default\n    active: true, // optional, default value: true\n    seconds: 10 // optional, default value: `15\n  },\n  linkTracking: false, // optional, default value: true\n  configurations: { // optional, default value: {}\n    // any valid matomo configuration, all below are optional\n    disableCookies: true,\n    setSecureCookie: true,\n    setRequestMethod: 'POST'\n  }\n})\n```\n\nAfter initialization you can use the Matomo Tracker to track events and page views like this:\n\n```ts\nimport MatomoTracker from '@datapunt/matomo-tracker-js'\n\nconst tracker = new MatomoTracker({\n  /* setup */\n})\n\ntracker.trackPageView()\n\ntracker.trackEvent({\n  category: 'sample-page',\n  action: 'click-event',\n  name: 'test', // optional\n  value: 123, // optional, numerical value\n})\n\ntracker.trackLink({\n  href: 'https://link-to-other-website.org',\n})\n```\n\n## Advanced usage\n\nBy default the Matomo Tracker will send the window's document title and location, but you're able to send your own values. Also, [custom dimensions](https://matomo.org/docs/custom-dimensions/) can be used:\n\n```ts\nimport MatomoTracker from '@datapunt/matomo-tracker-js'\n\nconst tracker = new MatomoTracker({\n  /* setup */\n})\n\ntracker.trackPageView({\n  documentTitle: 'Page title', // optional\n  href: 'https://LINK.TO.PAGE', // optional\n  customDimensions: [\n    {\n      id: 1,\n      value: 'loggedIn',\n    },\n  ], // optional\n})\n\ntracker.trackEvent({\n  category: 'sample-page',\n  action: 'click-event',\n  name: 'test', // optional\n  value: 123, // optional, numerical value\n  documentTitle: 'Page title', // optional\n  href: 'https://LINK.TO.PAGE', // optional\n  customDimensions: [\n    {\n      id: 1,\n      value: 'loggedIn',\n    },\n  ], // optional\n})\n\ntracker.trackLink({\n  href: 'https://link-to-your-file.pdf',\n  linkType: 'download', // optional, default value 'link'\n})\n```\n\nNext to the tracking of events, this project also supports tracking site searches:\n\n```ts\nimport MatomoTracker from '@datapunt/matomo-tracker-js'\n\nconst tracker = new MatomoTracker({\n  /* setup */\n})\n\ntracker.trackSiteSearch({\n  keyword: 'test',\n  category: 'blog', // optional\n  count: 4, // optional\n  documentTitle: 'Page title', // optional\n  href: 'https://LINK.TO.PAGE', // optional\n  customDimensions: [\n    {\n      id: 1,\n      value: 'loggedIn',\n    },\n  ], // optional\n})\n```\n\nOr if you want to stay away from inline JavaScript events, this project can be used to track events from buttons with data attributes:\n\n**HTML5 data-attributes**\n\n```html\n<button\n  data-matomo-event=\"click\"\n  data-matomo-category=\"sample-page\"\n  data-matomo-action=\"click-event\"\n  data-matomo-name=\"test\" // optional\n  data-matomo-value=\"123\" // optional, numerical value\n  type=\"button\">\n  Track me!\n</button>\n```\n\n```ts\nimport MatomoTracker from '@datapunt/matomo-tracker-js'\n\nconst tracker = new MatomoTracker({\n  /* setup */\n})\n\n// Load the event listeners\ntracker.trackEvents()\n\n// Track page views\ntracker.trackPageView()\n```\n\n## References\n\n- [Matomo JavaScript Tracking Guide](https://developer.matomo.org/guides/tracking-javascript-guide)\n","readmeFilename":"README.md"}