Platforms

How to track a Ghost site: readers, members and paid signups

Add a tracking tag to Ghost with code injection, count free and paid member signups, and see which posts, newsletters and links bring members.

On this page

Ghost publishers measure two things: readers and members. Ghost has both built in. Since Ghost 6.0, its native web analytics counts visitors, views, top content and top sources without cookies (Ghost). It also records where each member came from when they sign up or upgrade (Ghost).

An outside tool earns its place when you need what Ghost does not do: one dashboard for a Ghost blog and a separate shop or course site, campaign-level sources for ads and partner links, or sales tied to the visits before them.

Install Sporetag on Ghost

  1. In Sporetag, add your Ghost site's domain and copy the tag from Set up your site.
  2. In Ghost admin, open Settings, then Advanced, then Code injection (Ghost).
  3. Paste the tag into the Site header box.
  4. Click Save.
  5. Open your site in a new tab and click Check my site in Sporetag.

Code in Site header goes into the <head> of every page. On Ghost(Pro), if you do not see code injection, check what your plan includes.

Count member signups

Ghost's signup form (Portal) does its work in a popup, so the page address does not change when someone joins. The clean way to count signups without code is a welcome page:

  1. Create a members-only page, such as /welcome.
  2. Set it as the welcome page on each membership tier. New members are sent there after they click the email confirmation link (Ghost).
  3. In your analytics, make a visit to /welcome the signup goal. Use a different page per tier if you want free and paid signups apart.

The welcome page visit happens after the confirmation email, so it arrives from the email. A tool that remembers the visitor across visits ties it back to the post that made them sign up. A tool that only knows one visit credits the confirmation email.

Count paid subscriptions

Ghost takes payments through a Stripe account you connect (Ghost). Two ways to count them as sales:

  • A paid welcome page. Quick, the same method as above, without the amount.
  • Stripe itself. The payments are in your Stripe account, so a tool that reads Stripe sees each subscription, renewal and cancellation with its amount. Sporetag's Stripe connector does this on paid plans.

Ghost already lets you label sources: a link with ?ref=, ?source= or ?utm_source= records that value as the member's source (Ghost). Use full UTM parameters on links you place elsewhere, such as podcast notes, partner newsletters and social bios, so every tool reads the same source and campaign.

For your own newsletter, tag links back to your site with utm_medium=email and a campaign per issue. See how to track email clicks.

Privacy

Ghost's native analytics uses no cookies or other persistent browser storage (Ghost). If you add another tool, pick one that keeps that promise, or you will need a consent banner where the law asks for one. Sporetag's default Private mode stores nothing on the visitor's device; see cookieless analytics and GDPR.

Common questions

Does Ghost have built-in analytics?

Yes. Since Ghost 6.0, Ghost has cookie-free web analytics with visitors, views, top content, top sources and locations, plus member sources for signups and paid conversions.

Where do I add a tracking code in Ghost?

In Settings, Advanced, Code injection, in the Site header box. It applies to every page of the site.

How do I track Ghost member signups as a conversion?

Set a welcome page on each membership tier, then count a visit to that page as your signup goal.

Can I see which post brought a paid member?

Ghost's member sources show the source at signup and paid conversion. To tie the payment amount to the post, use a tool that reads your Stripe account and remembers the visitor across visits.

Sources

Spotted something wrong or out of date? Email hello@sporetag.com and we will fix it.