Your dashboard says the connection is fine. Events are arriving, nothing is red, the last delivery was minutes ago.
None of that tells you a buyer got access. Those are two questions, they fail independently, and the second one is the one your customers notice.
Three things that can be true separately
A connection card tells you the credentials work and the provider can reach us. A delivery figure tells you that purchases and cancellations arrived and were handled. Between them they cover the plumbing rather well.
Neither of them tells you that a purchase turned into a member who can read something. Nothing on a dashboard reports that directly, and it is the only one of the three your buyer would recognise as working.
The failure with no symptoms
Here is the one worth understanding, because it produces no error anywhere.
An event arrives for a product that has no rule. Maybe you added a tier at the provider and did not map it, or a product id changed. PayGlue receives it, looks for a rule, finds none, and finishes. The event is marked processed and the log is green.
Nothing was granted. The buyer paid and got nothing, and the first you hear about it is an email from them.
Processed means handled, not applied. Handling can legitimately mean doing nothing, and a cancellation at the end of a paid period is a case where doing nothing is exactly right. The status alone cannot tell you which kind you are looking at.
What a delivery warning counts
The window is seven days, so only recent failures count. A delivery that broke during setup in June does not still colour the card in August. That sounds obvious and was not always true here: counting every failure ever recorded meant most connections wore a permanent warning, and a warning that is always on has stopped being one.
The other distinction is between a failure that will be retried and one that will not. A retry means the problem may resolve itself, usually because Ghost was briefly unreachable. Dead-lettered means the retries are exhausted and nothing further happens without you. Only the second kind is genuinely waiting for a person, and counting the two together produces a number that overstates the problem until nobody reads it.
| What you see | What it means | Do you act |
|---|---|---|
| Connected, no warning | credentials fine, nothing failed recently | no |
| Deliveries retrying | transient, usually Ghost being briefly unreachable | watch |
| Deliveries gave up | retries exhausted | yes |
| Connected, purchases silent | probably a missing product rule | yes |
The check that actually proves it
Buy something from yourself, in the provider’s sandbox, and watch it become a member.
That is the only test that crosses every boundary: the provider’s webhook, the signature check, the product rule, the Ghost Admin API, the member record, and the paywall. Every other check tests one link and assumes the rest.
Do it after any of these:
- Adding or renaming a product at the provider
- Changing a price or creating a new tier
- Rotating a Ghost Admin API key
- Changing your Ghost domain
- Restoring anything from a backup
There is a whole article on testing before launch, and the same routine works as a periodic check rather than only a first-time one.
A three minute review
Look at your connections. Anything asking for attention, open it. The card tells you whether it is credentials or deliveries.
Look for gave-up deliveries. Those are the ones nothing will retry. The event carries its own error, and it is usually an expired Ghost Admin key.
Compare two numbers. Active subscribers at the provider, against members carrying the active label in Ghost. They will not match exactly, because of trials and timing, but they should be close. A gap that grows is the missing-rule failure showing up in the only place it is visible.
That last one is worth more than the first two, because it is the only one of the three that can catch the silent case.
When the numbers disagree
If the provider has more active subscribers than Ghost has active members, purchases are not granting, and a product without a rule is the first thing to check.
If Ghost has more, cancellations are not arriving. Check whether that provider reports them at all before assuming something is broken: Ko-fi sends no cancellation of any kind, so a Ko-fi audience drifts this way permanently and by design.
A stable gap with both numbers moving is usually nothing. Trials, grace periods and the timing of when each side updates produce a constant offset that never closes and does not need to.
