* Release process start * Move CHANGELOG.md to tracker directory, symlink * Update LICENSE * Restructure symlinks to make sure files are included in `npm pack` * Start with new flows * New workflow for tracker script releasing * Changelog * typo * Fix bump steps naming * Scope commit to tracker/ folder * Step naming |
||
|---|---|---|
| .. | ||
| CHANGELOG.md | ||
| LICENSE.md | ||
| README.md | ||
| package.json | ||
| plausible.d.ts | ||
README.md
Plausible Analytics tracker
Notice: This library is currently under development and will be released as an official library later this year.
Add Plausible Analytics to your website.
Features
- Small package size
- Same features and codebase as the official script, but as an NPM module
- Automatically track page views in your SPA apps
- Track goals and custom events
- Provide manual values that will be bound to the event
- Full typescript support
Package Installation
With npm:
npm install macobo-test-tracker
Usage
To begin tracking events, you must initialize the tracker:
import { init } from 'macobo-test-tracker'
init({
domain: 'my-app.com'
})
Configuration options
See also plausible.d.ts for typescript types.
| Option | Description | Default |
|---|---|---|
domain |
Required Your site's domain, as declared by you in Plausible's settings. | |
endpoint |
The URL of the Plausible API endpoint. See proxying guide at https://plausible.io/docs/proxy/introduction | "https://plausible.io/api/event" |
autoCapturePageviews |
Whether to automatically capture pageviews. | true |
hashBasedRouting |
Whether the page uses hash based routing. Read more at https://plausible.io/docs/hash-based-routing | false |
outboundLinks |
Whether to track outbound link clicks. | false |
fileDownloads |
Whether to track file downloads. | false |
formSubmissions |
Whether to track form submissions. | false |
captureOnLocalhost |
Whether to capture events on localhost. | false |
customProperties |
Object or function that returns custom properties for a given event. | {} |
Using customProperties
To track a custom property with every page view, you can use the customProperties configuration option:
init({
domain: 'my-app.com',
customProperties: { "content_category": "news" }
})
customProperties can also be a dynamic function:
init({
domain: 'my-app.com',
customProperties: (eventName) => ({ "title": document.title })
})
Tracking custom events
To track a custom event, call track and give it the name of the event. Custom properties can be passed as a second argument:
import { track } from 'macobo-test-tracker'
track('signup', { props: { tier: "startup" } })
To mark an event as non-interactive so it would not be counted towards bounce rate calculations, set interactive option:
track('autoplay', { interactive: false })
Revenue tracking
To track an event with revenue information, do:
import { track } from 'macobo-test-tracker'
track('Purchase', { revenue: { amount: 15.99, currency: 'USD' } })
More information can be found in ecommerce revenue tracking docs
Opt out and exclude yourself from the analytics
Since plausible-tracker is bundled with your application code, using an ad-blocker to exclude your visits isn't an option. Fortunately Plausible has an alternative for this scenario: plausible-tracker will not send events if localStorage.plausible_ignore is set to "true".
More information about this method can be found in the Plausible documentation.