A reader cancels their subscription. You check Ghost, refresh the page, log in as them to be sure, and they can still read everything. The cancellation clearly arrived, because you can see it in the log, and it says skipped.
Nothing is broken. What you are looking at is the most common source of “did this work?” in the whole system, and it comes down to one word covering two different events.
Cancelled does not mean ended
When somebody cancels a subscription, almost every provider offers two versions of it:
At the end of the paid period. The reader has paid until the 14th, so they keep access until the 14th. Nothing renews after that. This is the default nearly everywhere, because it is what the customer is entitled to.
Immediately. The subscription stops now, usually with a refund or a credit, and access goes with it.
Both arrive as a cancellation event. The difference is one flag inside it saying whether the subscription runs on until a date.
What PayGlue does with each
| The event says | What happens in Ghost | Log status |
|---|---|---|
| Cancelled, runs until a date | nothing | skipped |
| Cancelled, effective now | access removed | processed |
| The period ran out | access removed | processed |
Skipped is a real outcome and not a failure. It means the event arrived, was understood and deliberately did not change anything. No retry is scheduled, because there is nothing to retry.
Acting on it instead would be worse in a way that reaches your reader directly: somebody who paid through to the 14th and cancelled on the 2nd would lose twelve days they had already paid for, and would be right to complain.
What ends it, then
A second event, when the period actually runs out. Providers name it differently, and PayGlue treats them all the same:
| Provider | The event that ends it |
|---|---|
| Polar | subscription revoked |
| Lemon Squeezy | subscription expired |
| PayPal | subscription expired |
| Gumroad | subscription ended |
| Creem | subscription expired |
| Paddle | the cancellation itself, at the date it takes effect |
You do not need to schedule anything or run a nightly job. The provider knows when the period ends, and it tells you.
Why this looks broken during testing
Because you are testing, which means you are impatient and you are watching.
You cancel your own test subscription, switch to Ghost, and the member is untouched. Then you check the log, see skipped, and skipped reads like a problem. It is the single most common false alarm when somebody sets PayGlue up for the first time.
If you want to see the revocation happen while you are still at the desk, cancel immediately rather than at period end. Most providers put both options in the same dialog. The event arrives within seconds and the access comes off straight away.
Answering the reader who asks
The question you will get is some version of “I cancelled, why can I still read this?”, and it is usually asked nervously, because people expect to be charged again.
The answer is short and it is good news: the subscription is cancelled and will not renew, and they keep access until the date they already paid for. Nobody has to do anything.
The date lives at the provider rather than in Ghost, so that is where to look it up. Ghost has no field for it, because the subscription is not Ghost’s.
When it really is a problem
Two cases, and both are easy to tell apart from the normal one.
The period ended and access is still there. Check whether the end-of-period event arrived at all. If nothing came, the provider either does not send one or the delivery failed. Ko-fi never sends cancellations of any kind, which is worth knowing before you rely on it for recurring access.
The cancellation shows as failed rather than skipped. That is a delivery problem between PayGlue and Ghost, not a cancellation problem. The event log carries the error, and it is usually a Ghost Admin key that expired or was rotated.
Everything else that looks wrong on the day of the cancellation is almost always this article.
