Nothing Plus Modules

    gatsby-goatcounter-analytics-reporter

    0.1.6 • Public • Published

    gatsby-plugin-goatcounter-analytics-reporter

    Queries page views data from goatcounter analytics. Heavily inspired by the gatsby-plugin-google-analytics-reporter.

    How to use

    Install

    Install the package with npm.

    # with npm
    npm i gatsby-plugin-goatcounter-analytics-reporter
    
    # or with yarn
    yarn add gatsby-plugin-goatcounter-analytics-reporter

    Usage

    To use the plugin add it to your gatsby-config.js, make sure you have set up the variables required.

    // gatsby-config.js
    {
      resolve: `gatsby-plugin-goatcounter-analytics-reporter`,
      options: {
        code: process.env.GOATCOUNTER_CODE,
        personalToken: process.env.GOATCOUNTER_PERSONAL_TOKEN,
        daysAgo: `30`,
      }
    },
    Prop Required Type Description
    code true string The goatcounter code used to access your site analytics. i.e https://.goatcounter.com/
    personalToken true string The personal token from your goatcounter account, which will allow us to access the api.
    daysAgo false string The number of days ago to get data from like 30. Defaults to 2020-01-01 .

    Once implemented, you can check that the query work on localhost:8000/__graphql. Here is an example using allPageViews.

    // graphql
    query MyQuery {
      allPageViews(sort: {order: DESC, fields: totalCount}) {
        nodes {
          id
          totalCount
        }
      }
    }
    
    // returns
    {
      "data": {
        "allPageViews": {
          "nodes": [
            {
              "id": "/",
              "totalCount": 703
            },
            {
              "id": "/how-to-set-up-gatsby-typescript-eslint-prettier/",
              "totalCount": 126
            },
            {
              "id": "/react-hooks-vs-redux/",
              "totalCount": 121
            },
          ],
        },
      },
    }

    Here is an example using pageViews.

    // graphql
    query MyQuery {
      pageViews(id: {eq: "/how-to-set-up-gatsby-typescript-eslint-prettier/"}) {
        id
        totalCount
      }
    }
    
    // returns
    {
      "data": {
        "pageViews": {
          "id": "/how-to-set-up-gatsby-typescript-eslint-prettier/",
          "totalCount": 126
        }
      }
    }
    ``
    ## Appendix
    
    - Heavily inspired by [gatsby-plugin-google-analytics-reporter](https://github.com/Kornil/gatsby-plugin-google-analytics-reporter)

    Install

    npm i gatsby-goatcounter-analytics-reporter

    DownloadsWeekly Downloads

    6

    Version

    0.1.6

    License

    MIT

    Unpacked Size

    8.59 kB

    Total Files

    6

    Last publish

    Collaborators

    • hmajid2301