Updated 20 October 2026
Jekyll analytics
Privacy-first, cookieless analytics for Jekyll and GitHub Pages: one tag in the head include, no plugin to approve.
In short
- One tag in
_includes/head.html, shown only in the production build. - Nothing to install, so it works on GitHub Pages, where plugins are limited.
- No cookie banner needed in cookieless mode, no IP address stored, and nothing loaded from another company.
Install on Jekyll#
Use your own site id and server address in the code below. On trckable Cloud the address is https://cloud.trckable.com.
Put the tag in the include your layouts use for the head. Wrapping it in the environment check keeps it off jekyll serve:
{% if jekyll.environment == "production" %}
<script
defer
data-site="tkb_a1b2c3d4"
data-domain="example.com"
src="https://stats.example.com/js/tkb_a1b2c3d4.js">
</script>
{% endif %}
Open your site once, then run npx trckable doctor --host https://stats.example.com --site tkb_a1b2c3d4 --url https://example.com. It only reads, and tells you whether the tag is on the page and the server answers.
What to know about Jekyll#
- Jekyll builds in
developmentby default.jekyll servehas no tag until you build withJEKYLL_ENV=production. GitHub Pages builds in production. - Themes keep their own head. With a gem-based theme, copy its
head.htmlinto your_includes/so your copy wins, and your tag survives theme updates. - Nothing runs on a server. The tag is plain HTML in the built pages.
- Use the same
data-domainon a site and a subdomain if you want one visitor to be one visitor across them.
Goals and revenue#
A goal needs no code: put an attribute on the element and each click is counted.
<button data-trckable-goal="signup" data-trckable-goal-plan="pro">Start trial</button>
Connect Stripe, Paddle, Lemon Squeezy, Polar or Dodo Payments with one key, and each payment is credited to the visit that earned it, so revenue shows next to traffic. See revenue attribution.
Questions#
- Does it work on GitHub Pages?
- Yes. A script tag needs no plugin, only an edit to a file in your repository. The script itself is served by your trckable server.
- Do I need a cookie banner on my Jekyll site?
- Not for the counting itself. In cookieless mode (add
data-cookielessto the tag) nothing is stored on the visitor's device and no IP address is kept. Whether your site needs a banner for other reasons is a question for your own situation; the cookie banner guide explains the rules in plain words. - Can ad blockers stop it?
- A blocker can block any script, and trckable does not claim otherwise. Sending events through your own domain removes the separate analytics file a blocklist would match by name, which is the accurate setup. The same-origin proxy guide shows how.
- Is it free for a Jekyll site?
- The server is open source and free to self-host, and the tracker is MIT licensed. If you would rather not run a server, trckable Cloud runs it for you; the plans are on the pricing page.