Migrate to Netlify Today

Netlify announces the next evolution of Gatsby Cloud. Learn more

ContactSign Up
Community Plugin
View plugin on GitHub

Gatsby Source Matomo

Load page data as source nodes


  • Page URL information including visits, hits, bounce rate etc.


Although the Matomo API claims to be ‘restful’, it is far from that. For the initial implementation of this plugin, only page information is retrieved by via default method Action.getPageUrls api reference

This can be overridden to your liking with the apiOptions option

To Use

  • Install npm install --save @bcgov/gatsby-source-matomo
  • Add to your gatsby config
  resolve: 'gatsby-source-matomo',
  options: {
    matomoApiToken: '...',
    matomoUrl: '...',
    siteId: '...'
    apiOptions:  {...}, // overrides for the matomo api


  • matomoApiToken: this is the access token
  • matomoUrl: the path to your Matomo instance (https://my-matomo-site.com)
  • siteId: the site id you want to get information from
  • apiOptions: an object to override the query to the matomo api.
resolve: 'gatsby-source-matomo',
options: {
  apiOptions: {
    period: '..',
    date: '..',
    method: 'foo'
    // etc

Road Map

The initial implementation default to getting page urls, this plus the overridability with the apiOptions field makes this plugin fairly flexible. I am happy to take PR’s on extending the capability of this plugin

  • add support to recurse through page urls. Matomo only provides page urls one section at a time. At this time we only support 1 level nested page paths.

  • https://mysite.com/path1/path2/path3 > will not get path3 stats

Disclaimer when overriding with ApiOptions

There is no implementation detail to change the Node Type during an override so be careful with that!

© 2023 Gatsby, Inc.