How to add analytics to Ghost

Ghost has built-in code injection, so you can add the tracker without touching your theme. It applies to every page and post on the site.

No cookies, no banner ~3 KB script About 2 minutes

Before you start

Create a free Cool Analytics account and add your site. You'll get a site ID — replace YOUR_SITE_ID in the code below with it. The dashboard shows the snippet with your ID already filled in.

Install on Ghost

  1. 1In Ghost Admin, open Settings and find Code injection.
  2. 2Paste the snippet into the Site header field.
  3. 3Save. It's live immediately — no theme upload needed.
Settings → Code injection → Site header
<script defer src="https://coolanalytics.dev/hb.js" data-site="YOUR_SITE_ID"></script>

Check that it works

Open your live site in a new tab, then open your Cool Analytics dashboard. Your visit appears on the live map within seconds — with the page you're on, where you came from and your browser.

Nothing showing up? Make sure you're looking at the published site (not a preview or editor), that an ad blocker isn't blocking the script, and that you're not testing on localhost.

Track signups, purchases and clicks

Pageviews, sources, countries and outbound link clicks are tracked automatically. For the moments that matter to you, send a custom event. Events named like a signup show up as signups, and events with an amount show up as revenue — on the live map and per traffic source.

custom events
// anywhere in your Ghost site's browser code
window.hb?.track("signup");

// with an amount, it shows up as revenue
window.hb?.track("purchase", { amount: 49 });

Ghost tips

  • Track newsletter signups by name: see which posts turn readers into members.
  • Because the snippet lives in settings, switching themes doesn't remove it.

Want to keep your own visits out of the stats? Open your site once with #hb-ignore at the end of the URL. That browser is excluded until you visit with #hb-track.

Ghost analytics FAQ

Does it work on Ghost(Pro)?+

Yes. Site-wide code injection is part of Ghost Admin on Ghost(Pro) and self-hosted Ghost.

Can I add it to only one post?+

Each post also has its own code injection in the post settings, but for analytics you want the site-wide header.

Will it track members separately?+

No — it's anonymous. It counts visits and journeys without knowing who a member is.

See who's on your Ghost site right now.

One line of code. No cookies. 7 days free.