I need help with email analytics for my newsletters?

Hi, I recently moved my Newsletter from Substack to Ghost. I love everything about Ghost except one thing…the lack of meaningful Email Analytics on the Ghost hosted platform

The Dashboard tells me nothing of any importance and I’ve not found a way to get to the data without manually looking at each Member record individually. Luckily I’m only at 700 but this is not sustainable as I continue to grow.

I asked Ghost Support and the answer was to self-host and then I would have access to the mailgun analytics.

But I’m not a techie and the thought of self-hosting fills me with dread.

I really want to build my newsletter on Ghost but, frankly, without email analytics, I don’t see that Ghost is the home for me.

Am I alone on this? Can you help me?

Many thanks, Rick



Could you clarify your requirements a bit? What is your expectation from email analytics? What specific email metrics are you interested in (Cumulative/per member, opens/clicks,…) What kind of output do you need?,etc.


Hi Mark, sure. For a starter I would like to see;

  • when an email is bounced because it is no longer valid
  • who has opened an email
  • who has clicked on any links (a sign that they’ve actually read it)
  • who has not opened an email
  • who has unsubscribed from an email

I dont understand why the bounceback/invalid email messages or the unsubscribed messages dont get reported as standard in Ghost so that they can be taken out.

It seems to me that this data is in the individual member records, but you can only see it by manually looking at each member individually.

I would also like to see the audit trail of all activity from email broadcasts…the Dashboard only shows the latest half dozen or so. I’m not permantently glued to my dashboard so I miss most of what’s happening.

Can you help with any of this?


I felt the same confusion with the analytics and agree with @wisernewsletter. The reasonable data that any blogger/newsletter publisher would want appears to be already in Ghost, on each individual member profile + the activity log. But that data isn’t in Ghost in a useful way: it only shows the 5 most recent activities on the dashboard, and to get any further info you need to click on every individual user account. Oof.

My assumption was that activity reports were cut from scope so that the big membership launch could happen, and reports are follow-through features that would be coming “soonish”. No roadmap to check though, and Ghost Pro support saying to self-host for the full Mailgun analytics is discouraging.

I expected a “View all activity” link at the bottom of the Activity Feed on the dashboard, and an Activity link in the left sidebar. The All Activity page shows subscribes, unsubscribes, email bounces, email opens, email link clicks, member sign in, member purchases, member change plan, member cancel plan, member page views, etc. All the data that is already on each individual member profile page, so this new page would be showing the existing data in a report format. It would share a similar layout to the All Members page and would also have filters along the top to see certain kinds of activity.

Again, it appears that this data is all in Ghost already. Maybe each dashboard load is actually hitting the Mailgun API or something, and can only return the first few results. This would mean the data actually doesn’t live in Ghost. If that’s the case that’s pretty rough for long term implementation of useful analytics and essentially forces us to move off of Ghost Pro, which would be unfortunate.

I also expected some quick filters on the All Members page. We are currently manually adding labels for unsubscribed members to track them. This value is a field available on the individual profile, and should be a filter.

Unrelated, but the ‘Open Rate’ column on the All Members page is blank on Ghost Pro, even though the Sort by Open Rate appears to work.


@wisernewsletter Mail Flagger?

1 Like

Hi Dana, spot on! You have written that so much better than I did, and I agree 1000% with you.

The point is that we can see that the data is already there!

The issue is that it is very difficult/near impossible to access.

I assume that this is because the data is written back into each individual record and there isn’t a data warehouse that pulls it all back together. However, given this is an open source platform, surely someone has the skills to write a routine that can pull all the data out of each individual member record and present it as a View All facility.

Fingers crossed that a solution will come!

P.S. the open rates on the dashboard are not working for me. I asked support about it and they said that each member needs to have received 5 emails before the open rates start reporting correctly. Why this is the case is also beyond my comprehension…but that’s what they said.

1 Like

Sounds great if it will this work on a Ghost hosted website…do you know?

Based on network trace from the browser, members email data from Admin console seems to come from this call : /ghost/api/canary/admin/members/{MEMBER_ID}/?include=email_recipients%2Cproducts when one clicks on the member link

Also this API call /ghost/api/canary/admin/members (api.members.browse in admin client) , does a browse on the members and gets all email metrics as part of members data (by default it is paginated with 15 per page but can be adjusted with limit and page (?limit=10&page=2 , etc.) .
It returns a JSON object which some email metrics are returned as :

   "email_count": 0,
            "email_opened_count": 0,
            "email_open_rate": null,

So yes, it is possible to capture this data and present it in a single page, a table or some other report. But only what is provided by Ghost, not Mailgun API.

As mentioned before, Ghost Pro does not provide a Mailgun API key. I am guessing they use a single Mailgun service (or at least some clients grouped together), so it would be exposing other clients mail data if a common api key is provided to anyone on the platform.

All Substack analytical features should definitely be added to Ghost. Ability to filter through a database by specific criteria.

For me, it’d be great to see who has been a member for X amount of time & never opened an email, and then just delete/ export all of thoses members.


That is encouraging to know…I only I wish i had the skills to do something about it!

Has there been an update on this, or a response from Ghost? I’m in the exact some situation and came here to ask the same question.

I just moved from Revue and I LOVE everything about Ghost, but the lack of analytics is surprising and I agree with @wisernewsletter that the current implementation is not sustainable long-term. I’m all in with Ghost, just paid for the year, so would love to see this on the roadmap. I will even take basic stats to start off with like clicked % per email (which is vital imho), unsubscribed per email, who has opened an email. Revue is free and offers all of this plus more.

1 Like

Hi, I’m glad you asked because at the moment, email analytics is NOT WORKING on my self-hosted ghost site.

I have followed the instructions as best I can but i get ZERO data back into the Ghost dashboard about email opens. It is extremely frustrating.

I have enlisted the help of an expert @kose_mark who is looking into it for me.

It seems to me that I’m caught between the devil and the deep blue sea. I want to see how my emails perform, which means Ghost(Pro) is not good…but when I go the self-hosting route, it’s temperamental and difficult to fathom without technical knowledge.

Having said that, I wouldn’t go back to Substack (or Revue) for my primary newsletter. I still use both of them for side projects and they are only good if you want a simple newsletter operation (IMHO).

BTW, have your looked at ghostboard? It’s a great dashboard to monitor activity on your site. It needs a mailgun API key to capture the email analytics, but for everything else it should work with ghost(pro).

1 Like

Yeah, I’ve looked at Ghostboard, but I just need email analytics. I’m using Fathom for site analytics. It’s bizarre to me that Ghost(Pro) doesn’t offer some basic email analytics. What’s on the Dashboard right now is nice, love it, but need a bit more there. Hoping that it’s a sign that more data will be surfaced on the Dashboard.

My understanding is the reason for the email analytics being limited in ghost(pro) is because they use a shared mailgun API…the specific tracking for your emails is lumped together with everyone else’s, which means that they cant split it out. It’s the reason I moved to self-hosting and dealing with mailgun directly.

If that’s the case then how are they able to parse and display open rates per email and member? Why can’t the same be done for click rates?

I’m not interested in self-hosting. If I’m forced to move to self-hosting to get analytics then I will just move to Substack.

It’s hard for me to understand why basic analytics would be left out of an MVP of any type of newsletter platform.


I posted a feature request for this so vote for it if you want this feature.

Have you enabled open rates tracking on Mailgun? It’s disabled by default so it might be causing the problem

Ghost originally wasn’t a newsletter platform. Yet, I agree click tracking could’ve (should?) been added before. Mostly because Mailgun can track that and Ghost only needs to show that data in the dashboard

I’m on the hosted Ghost(Pro) plan. My understanding is I don’t get access to these Mailgun features.

@aisleone Hi there! If you’re having any issue with a Ghost(Pro) site, please drop us an email on support@ghost.org and we’ll be more than happy to give you a hand directly :slight_smile:

1 Like