Awesome Open Source
Awesome Open Source

Build Status Maintainability


Webanalytics for Jekyll.

There are many tutorials online to add analytics to Jekyll by extending the template. Jekyll-analytics is here to take care of this. Just install the plugin, configure it and you are done :)

Jekyll-analytics: Webanalytics made easy.



Add this to your Gemfile:

gem 'jekyll-analytics'

Then execute

$ bundle

Or install it yourself

gem install jekyll-analytics


Edit _config.yml to use the plugin:

  - jekyll-analytics

Configure the plugin in _config.yml by adding:

  GoogleAnalytics:          # Add, if you want to track with Google Analytics
    id: UA-123-456          # Required - replace with your tracking id
    anonymizeIp: false      # Optional - Default: false - set to true for anonymized tracking

  Matomo:                   # Add, if you want to track with Matomo (former Piwik Analytics)
    url: # Required - url to Matomo installation without trailing /
    siteId: "1234"          # Required - replace with your Matomo site id (Write id as string)

  Piwik:                    # Add, if you want to track with Piwik
    url:  # Required - url to Piwik installation without trailing /
    siteId: "1234"          # Required - replace with your Piwik site id (Write id as string)

  MPulse:                   # Add if you want to track performance with mPulse
    apikey: XXXXX-YYYYY-ZZZZZ-AAAAA-23456   # Required - replace with your mPulse API key

    domain: ''   # The domain configured in plausible
    source: '' # The source of the javascript


Tracking will be disabled in development mode. To enable production mode set enviroment variable JEKYLL_ENV=production. Github pages automatically sets JEKYLL_ENV to production. For testing use

$ JEKYLL_ENV=production jekyll serve


  1. Fork it ( )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

How to add support for a new tracker:

  1. Create new tracker class in lib/analytics/YourTracker.rb
#initialize and render must be implemented!
class YourTracker
  def initialize(config)
    #validate config

  def render
    return "Tracking code to insert into html > head"
  1. Update

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
ruby (12,901
jekyll (333
analytics (328
jekyll-plugin (29