Stripe and Ghost MRR discrepancies

I’ve been using Ghost for several years, and the MRR number that shows in Ghost has consistently been lower than the one in Stripe (by about 8% or so). As my newsletter grows, this is becoming a more significant difference, and it would be really helpful to know why this is. And is this a universal issue, or just me?

2 Likes

Hi Molly,

Welcome to the community forum. It’s great to see you here :slightly_smiling_face:

You self-host your Ghost, right? If so maybe you can try to check members_stripe_customers_subscriptions table on your DB to check if it has correct row count as your paid members. Because as far as I see, Ghost just shows the sum of mrr column of this table.

Stripe informs Ghost with subscription updates with webhooks. In case your Ghost missed some of them, maybe your DB is out of sync with Stripe.

1 Like

If that’s the case, you probably have members who are paying for a paid account but not getting paid-level access, too. Definitely worth a check.

1 Like

Do you know a command or something else to “sync” Ghost with Stripe?

1 Like

There’s a touch command in the migrate tools

(mod edit: fix url)

3 Likes

Hey Molly! Unfortunately for us, Stripe doesn’t expose MRR via the API, so the figure in Ghost is an estimate we make. In theory, it should be simple multiplication of customers/subscriptions - but in practice there are tons of edges around coupons/discounts/offers/trials. We don’t know Stripe’s exact MRR calculation, so we can’t replicate it perfectly.

If you want more detailed financial metrics, I’d recommend connecting ChartMogul to your Stripe account, which will provide more fine-grained detail:

5 Likes