npm package: @aaromp/gatsby-plugin-plausible
Description: A Gatsby plugin for adding Plausible analytics to your Gatsby site
Author: Aquil.io
Latest version: 1.0.0

# gatsby-plugin-plausible

[![npm package](https://flat.badgen.net/npm/v/gatsby-plugin-plausible)](https://badgen.net/npm/v/gatsby-plugin-plausible)
[![Maintainability](https://flat.badgen.net/codeclimate/maintainability/Aquilio/gatsby-plugin-plausible)](https://codeclimate.com/github/Aquilio/gatsby-plugin-plausible/maintainability)
![Dependabot](https://flat.badgen.net/dependabot/thepracticaldev/dev.to?icon=dependabot)

A Gatsby plugin for adding [Plausible](https://plausible.io/) analytics to your Gatsby site.

The plugin includes the Plausible tracking script. It supports using a custom domain and excluding specific paths from recording page views.

---

- [Install](#install)
  - [Manual](#manual)
  - [Gatsby Recipe](#gatsby-recipe)
- [How to use](#how-to-use)
  - [Options](#options)
  - [Pageview events](#pageview-events)
  - [Triggering custom events](#triggering-custom-events)
- [Changelog](#changelog)
- [License](#license)

## Install

### Manual

1. Install `gatsby-plugin-plausible`

   `npm install --save gatsby-plugin-plausible`

2. Add plugin to `gatsby-config.js`

   ```javascript
   // In your gatsby-config.js
   module.exports = {
     plugins: [
       // The only required option is the domain
       {
         resolve: `gatsby-plugin-plausible`,
         options: {
           domain: `aquil.io`,
         },
       },
     ],
   };
   ```

### Gatsby Recipe

This will install `gatsby-plugin-plausible` and add a sample configuration.

1. Upgrade gatsby-cli and gatsby to the latest version:

   `npm install -g gatsby-cli@latest`
   `npm install gatsby@latest`

2. Run the recipe
   `gatsby recipes https://raw.githubusercontent.com/Aquilio/gatsby-plugin-plausible/master/gatsby-recipe-plausible.mdx`

3. Update `gatsby-config.js` [options](#options).

To read more about recipes check out the [announcement](https://www.gatsbyjs.org/blog/2020-04-15-announcing-gatsby-recipes/).

## How to use

_NOTE: By default, this plugin only generates output when run in production mode. To test your tracking code, run `gatsby build && gatsby serve`_.

### Options

| Option         | Explanation                                            |
| -------------- | ------------------------------------------------------ |
| `domain`       | The domain configured in Plausible (required)          |
| `customDomain` | Custom domain (if configured in Plausible's dashboard) |
| `excludePaths` | Array of pathnames where page views will not be sent   |

### Pageview events

Pageviews are sent automatically when a user changes routes, including the initial load of your site.

### Triggering custom events

To track goals and conversions you have to trigger custom events first.

```js
window.plausible('Signup', {
  callback: () => console.info('Sent Signup event'),
});
```

The event name can be anything. The second argument is an object with options. The only supported option is `callback` that is called once the event has been sent.

_NOTE: Custom events will not show up right away. You have to configure a goal in your Plausible dashboard_.

## Changelog

See [CHANGELOG.md](CHANGELOG.md).

## License

[MIT](https://github.com/Aquilio/gatsby-plugin-plausible/blob/master/LICENSE) © [Aquil.io](https://aquil.io)