mirror of
https://github.com/kremalicious/gatsby-plugin-matomo.git
synced 2024-12-22 17:23:23 +01:00
Make load tracking configurable
This commit is contained in:
parent
7d0e1d8094
commit
5f610910b9
@ -77,6 +77,7 @@ _NOTE: By default, this plugin only generates output when run in production mode
|
|||||||
| `disableCookies` | (optional) If true, no cookie will be used by Matomo. |
|
| `disableCookies` | (optional) If true, no cookie will be used by Matomo. |
|
||||||
| `cookieDomain` | (optional) Specify cookie domain. |
|
| `cookieDomain` | (optional) Specify cookie domain. |
|
||||||
| `localScript` | (optional) If set, load local `piwik.js` script from the given path, instead of loading it from your `matomoUrl`. |
|
| `localScript` | (optional) If set, load local `piwik.js` script from the given path, instead of loading it from your `matomoUrl`. |
|
||||||
|
| `trackLoad` | (optional) If true, it will track the loading of the matomo library. Defaults to `true`. |
|
||||||
| `dev` | (optional) Activate dev mode by setting to `true`. Will load all scripts despite not running in `production` environment. Ignores your local browser's DNT header too. Outputs some information in console about what it is doing. Useful for local testing but careful: all hits will be send like in production. |
|
| `dev` | (optional) Activate dev mode by setting to `true`. Will load all scripts despite not running in `production` environment. Ignores your local browser's DNT header too. Outputs some information in console about what it is doing. Useful for local testing but careful: all hits will be send like in production. |
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
@ -12,7 +12,7 @@ function getDuration() {
|
|||||||
return difference
|
return difference
|
||||||
}
|
}
|
||||||
|
|
||||||
export const onRouteUpdate = ({ location, prevLocation }) => {
|
export const onRouteUpdate = ({ location, prevLocation }, pluginOptions) => {
|
||||||
if (process.env.NODE_ENV === 'production' || window.dev === true) {
|
if (process.env.NODE_ENV === 'production' || window.dev === true) {
|
||||||
if (!window._paq) return
|
if (!window._paq) return
|
||||||
|
|
||||||
@ -22,6 +22,10 @@ export const onRouteUpdate = ({ location, prevLocation }) => {
|
|||||||
prevLocation &&
|
prevLocation &&
|
||||||
prevLocation.pathname + prevLocation.search + prevLocation.hash
|
prevLocation.pathname + prevLocation.search + prevLocation.hash
|
||||||
|
|
||||||
|
const {
|
||||||
|
trackLoad = true
|
||||||
|
} = pluginOptions
|
||||||
|
|
||||||
// document.title workaround stolen from:
|
// document.title workaround stolen from:
|
||||||
// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-google-analytics/src/gatsby-browser.js
|
// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-google-analytics/src/gatsby-browser.js
|
||||||
const sendPageView = () => {
|
const sendPageView = () => {
|
||||||
@ -45,7 +49,10 @@ export const onRouteUpdate = ({ location, prevLocation }) => {
|
|||||||
|
|
||||||
if (first) {
|
if (first) {
|
||||||
first = false
|
first = false
|
||||||
_paq.push(['trackEvent', 'javascript', 'load', 'duration', getDuration()])
|
|
||||||
|
if (trackLoad) {
|
||||||
|
_paq.push(['trackEvent', 'javascript', 'load', 'duration', getDuration()])
|
||||||
|
}
|
||||||
|
|
||||||
if (dev) {
|
if (dev) {
|
||||||
console.debug(`[Matomo] Tracking duration for: ${url}`)
|
console.debug(`[Matomo] Tracking duration for: ${url}`)
|
||||||
|
Loading…
Reference in New Issue
Block a user