Skip to main content
Yes, you can send an existing paid subscriber a special offer to move them to a different tier or billing cycle (for example, monthly to annual, or a standard tier to a premium one). To do it, attach the offer to an Outpost email and link to it with %OFFER_URL%. Your Ghost Offers work for this, and emails in the Basic Autoresponder can also use an Outpost Promotion.

How Outpost sends offers to existing subscribers

Ghost Portal only shows offers to free or logged-out visitors. Someone who already has a paid plan never sees a Ghost offer there, because Ghost treats anyone redeeming an offer as signing up for the first time. Outpost handles this when it sends the offer for you. Attach the offer to the email and link to it with %OFFER_URL%, and Outpost builds each reader their own link: an existing subscriber gets a direct checkout that changes the subscription they already have, while a free reader goes through Ghost Portal. Your Ghost Offers work for this, so you don’t need to rebuild them: campaigns and flows list your Ghost Offers, and Basic Autoresponder emails can use an Outpost Promotion too. A Ghost Offer link you paste in yourself is the same for every reader, so it only works for readers who don’t have a subscription yet. This works the same way wherever you attach an offer: a retention or upgrade email, an email campaign, or a step in an Advanced Autoresponder flow. Campaigns and flows that send to readers who already have a subscription show a reminder of this above the email list, and a campaign that sends to those readers asks you to confirm before it is turned on. See Ghost Offers vs Outpost Promotions for the full comparison.

How an upgrade checks out

When an existing subscriber clicks an upgrade offer, Outpost looks at their current subscription and decides whether the change can happen right away. The rule is simple: a plan change never results in credit or money back to the subscriber. A change goes through immediately only when the subscriber pays the difference today. Any change that would end up in credit back for the subscriber isn’t applied immediately. Instead it gets scheduled for their renewal date. This includes moving to a cheaper plan on the same billing cycle, moving to a shorter billing cycle (for example annual to monthly), or any change where a discount would leave the subscriber owed money for the time left on their current plan. Here are the two paths:

Outcome 1: Switch right away, prorated

When the change costs money today, Outpost shows a confirmation page with:
  • Current Subscription, the plan they are on now
  • Current Subscription Ends, the date the current subscription runs to
  • Changing To, the new plan, with the offer discount if there is one
  • The next renewal, with its date and the price that will be charged then
  • When a Multiple Months discount is still running at that renewal, a further dated line for the first renewal charged at full price
  • A note that the unused time on the current plan is credited toward today’s charge
  • Amount due today, the prorated amount they pay now, using their existing subscription as credit for the new one
When the subscriber confirms, Outpost moves their existing subscription onto the new tier or billing cycle right away. They’re credited for the unused time on the old plan and charged the difference for the new one. There’s only ever one subscription, so nothing looks out of place in Ghost Portal. A subscriber whose subscription is already canceled and running out the time they’ve paid for sees the same page, worded for their situation. It opens with “We’ll start you on the new plan immediately,” and the button reads Yes, continue subscribing. A subscriber whose plan is still renewing sees “You’re continuing your subscription” and a button reading Yes, continue my subscription. Both see the same date line, Current Subscription Ends, followed by the date the current subscription runs to. This path sends the autoresponder email “Thank a subscriber for using a retention offer (with proration)”.

Outcome 2: Schedule the new plan to start when the current one ends

When the change must wait, the subscriber sees a Scheduled Plan Change screen instead of a charge. It shows the current plan and the date it runs until, the new plan and the date it starts, and the line “You will not be charged today. Your first charge of [amount] will be on [date].” Below that, the screen adds a line for the renewal that follows the first charge, with its date and the price that will be charged then. When a Multiple Months discount is still running at that renewal, a further line gives the date of the first renewal charged at full price. When the subscriber confirms, the current plan stops renewing and the new plan begins the moment it ends. Outpost checks the numbers again at the moment of the change, so a stale checkout page cannot turn a scheduled change into an instant one. The subscriber is not double-charged: the new plan doesn’t bill until the old one ends. But between now and the current plan’s renewal date, they’ll have two subscriptions on file: one winding down, and one waiting to start. There is no limit on how much time can be left on the current plan. The new plan waits until the current one ends, whether that is a few days or most of a year away. If the current plan ends today or has already ended, the new subscription starts and bills right away. Only one plan change can be waiting at a time. While a scheduled change is waiting for the renewal date, the subscriber can’t make another change, immediate or scheduled: checkout tells them their change takes effect on their renewal date, and that they can make another change after that.
Subscribers billed by emailed invoice (typically institutions) can’t take this scheduled path. When their plan change would need to wait for renewal, checkout stops and asks them to write to you instead: a scheduled change works by starting a card-billed subscription when the current plan ends, and an invoice-billed subscriber has no card on file to charge. Handle those plan changes directly.
This path sends the autoresponder email “Thank a subscriber for using a retention offer where the new subscription starts after the existing one ends”. Turning it on is strongly recommended: see below.
When Outpost stops the old subscription as part of the change, the subscriber doesn’t get the cancellation emails from the Retention and Renewal tab, and your staff don’t get the Subscriber cancelled auto-renewal alert.

The “Previous Plan Still Active” prompt

When the subscriber confirms the scheduled option, Outpost creates the new subscription and sets the current one to stop renewing, both in the same step. Usually that is the whole story and the subscriber never sees an extra screen. But when Outpost can’t cancel the current subscription itself (usually because it was created outside Outpost), the subscriber sees this message after the new subscription is created:
Previous Plan Still Active Your new plan is set up, but your previous plan is still active. To avoid being charged twice, cancel your previous plan now.
It shows their current plan and next renewal date, with two buttons:
“Proceed Without Canceling” is the path that can leave a member temporarily paying for two subscriptions. Pairing your upgrade offers with the confirmation email (below) helps members understand what just happened.
If the subscriber’s current subscription is already canceled and just running out the time they’ve paid for, the cancellation prompt is skipped: there’s nothing to cancel.

If the offer is for the plan they already have

A Ghost Offer applies its discount to its tier’s regular price. When a subscriber whose plan is still renewing clicks a Ghost Offer for the price they already pay, which usually means the same tier and billing cycle, checkout finds nothing to change and tells them “You already have an active subscription to this plan.” Two situations are different:
  • The subscriber has turned off auto-renew. Taking the offer keeps them subscribed with the discount, right away or from the end of their current term, following the rules above. This is why a discount on a subscriber’s own plan works well in a cancellation email.
  • The offer is an Outpost Promotion you created, attached to a Basic Autoresponder email. A Promotion you create has its own price, even when the amount matches the tier’s, so it’s handled like any other plan change, following the rules above:
    • For a subscription billed through Outpost: when the subscriber pays something today, the change goes through today and their billing date moves to today. If the Promotion’s price is lower than what they pay now, or the discount would leave them owed money for the time left on their current plan, it waits for their renewal date instead.
    • A subscription created outside Outpost, including one from Ghost Portal, always waits for the end of its current term.
The Outpost Promotions tab of the offer picker also lists your tiers’ own full-price plans. Choosing the plan a subscriber already pays for gets the same refusal as a Ghost Offer. Campaigns and flows list Ghost Offers only, so a campaign or flow can’t give subscribers who are still renewing a discount on the plan they’re already on. Offer them a different plan instead, such as a higher tier or a move from monthly to annual.

If the offer is a free trial

A Ghost Offer that is a free trial is for new readers only. When a reader who already has a subscription, including one who has turned off auto-renew, follows it from an email, checkout refuses it and tells them: “This free trial is for new subscribers only. As an existing subscriber, you can manage your plan in your account settings.” Free members can still start the trial, and so can the other readers checkout treats as a new signup (see The moves at a glance). To give current subscribers something, attach a discount offer instead.

If the subscriber pays for a group subscription

A group owner, the member who pays for a group subscription, can’t use an offer to change their subscription. Their subscription is what keeps everyone in the group covered, so checkout refuses the change, explains that switching plans would end coverage for everyone in their group, and asks them to contact you.

If the old subscription was created outside Outpost

Some subscribers have a subscription Outpost cannot manage, for example one created through Ghost Portal’s own checkout, one created directly in Stripe, or one carried over from a previous platform. They can still make the change. The new subscription is created as normal, and it doesn’t bill until the old plan’s term ends. Because Outpost can’t cancel the old subscription itself, choosing Cancel Current & Proceed instead brings up an Open Billing Portal button. It opens the Stripe billing portal in a new tab, already pointed at the old subscription, so the subscriber can cancel it themselves. The checkout page watches for the cancellation and confirms once it goes through. Choosing Proceed Without Canceling works as usual: the subscriber can cancel later, and Outpost warns them the old subscription keeps billing until they do.

Planned improvements

Today, a subscription created outside Outpost always gets scheduled, even when the subscriber is moving up, because Outpost cannot change that subscription in place. A planned improvement will let these subscribers, including everyone who signed up through Ghost Portal, switch immediately and pay the difference today, the same way subscribers billed through Outpost already do, without needing to cancel the old subscription themselves. There is no ETA for this yet.

Scenarios

These examples show how the rules work. The tier names and prices below are made up.

The moves at a glance

Straight upgrades: the subscriber pays the difference today

Maya pays $8/month for Supporter and clicks a newsletter offer for Patron monthly at $15/month. Same billing cycle, higher price. Maya sees her current plan, her renewal date, the new plan, and one number: the amount due today, which is the price difference for the rest of her current month. One click confirms. She is on Patron immediately, her card is charged the difference today, and her billing anniversary resets to today. Sam pays $8/month for Supporter and takes an annual offer at $80/year. The annual plan works out cheaper per day, but moving to a longer billing cycle is never a downgrade. Sam switches today, pays the annual price minus the unused slice of the month already paid, and the next renewal is one year from today. This is the move upgrade-to-annual campaigns produce. Priya canceled last month, and her plan still runs to the 28th. Today she clicks an offer for the same plan. Taking the offer quietly revives her: the scheduled cancellation is lifted, she switches (or stays) immediately, and her subscription renews normally again. The screen is worded for her situation: it opens by telling her the new plan starts immediately, and her button reads Yes, continue subscribing. This is what makes retention offers to canceled members work.

Downgrades and shorter billing cycles: the subscriber keeps what they paid for

Jordan pays $15/month for Patron and takes a Supporter offer at $8/month. Same billing cycle, lower price: a downgrade. Jordan sees the Scheduled Plan Change screen: current plan until the renewal date, new plan starting on it, and the line “You will not be charged today. Your first charge of $8.00 will be on September 12.” Jordan keeps Patron, already paid for, until the term ends, then moves to Supporter. No refund, no credit, no lost access. Alex pays $80/year and wants to switch to monthly at $8/month. The monthly plan costs more per day, but a move to a shorter billing cycle always waits for renewal. Switching an annual member to monthly mid-year would leave months of unused annual value with no fair way to settle it on the spot, so Alex gets the Scheduled Plan Change screen and starts paying monthly when the annual year ends. Rosa has an annual plan and clicks a deep-sale offer: a higher tier, 60% off for the first year. The sale price means the change would work out in Rosa’s favor mid-term, so it is scheduled for her renewal date: a plan change never results in credit back. The sale terms lock in when Rosa confirms and are honored when the change happens. One nuance: a Multiple Months discount runs on calendar time from the day she confirms, so a long wait can outlive it, and the confirmation screen shows the price that will actually be charged. Jordan, a week later, tries a second offer while the first change is still pending. Checkout refuses: they already have a plan change scheduled, it takes effect on their renewal date, and they can make another change after that. There is no member-facing way for a subscriber to undo a scheduled change; handle those by support request.

Subscribers billed outside Outpost, including Ghost Portal

Chen subscribed years ago through Ghost Portal and clicks an upgrade offer. Outpost cannot change that subscription in place, so checkout offers the new plan instead: “Your current plan runs until [date]. Your new plan starts automatically when your current one ends, and you will not be charged until then.” Chen confirms with Yes, start my new plan. Nothing is charged today, and the new plan starts when the current term ends. The flow then helps Chen cancel the old subscription through the billing portal, already pointed at the right subscription, and confirms once the cancellation goes through. Choosing Proceed Without Canceling keeps the old subscription billing until someone cancels it, and the screen says so. Chen’s neighbor, also billed through Ghost Portal, takes a cheaper offer instead. Downgrades are decided before Outpost ever touches the subscription, so this subscriber sees the normal Scheduled Plan Change screen first, and the billing-portal step to cancel the old subscription comes after. The end state matches a normal downgrade: old plan until term end, new plan after, nothing charged today.

Subscribers who are not billed at all

Nia has a one-year gift subscription. Six months in, she clicks a paid offer because she wants to support the site herself. Nia isn’t billed, so checkout treats her as a new signup: full offer terms, charged today. Her paid subscription takes over from her gift. The same goes for a member with a complimentary subscription. A reader with a seat in someone else’s group subscription, or covered by an institutional subscription, is told they already have access.

Two edge cases worth knowing

Tomás is mid-way through a 30-day free trial and clicks a different offer. A subscription still in its trial cannot be switched in place, so trial members take the scheduled route: the new subscription is created and starts when the trial ends, and the trial stops on its own. A trial member has paid nothing, so there is nothing to credit or lose. A university library pays by invoice, and the librarian clicks an offer. An invoice-billed subscriber has no card on file, so any change that would need to be scheduled is refused with its own message, and the subscriber is asked to contact you instead (see the note above). A change that costs money today still works normally.

Turn on the upgrade confirmation email

If you plan to offer upgrades to existing subscribers, turn on the autoresponder email “Thank a subscriber for using a retention offer where the new subscription starts after the existing one ends”. You’ll find it in Autoresponder → Basic, on the Retention and Renewal tab under Handling Cancellations with Retention Offers; it’s the companion to the prorate thank-you just above it. Why it matters: when an upgrade schedules a second subscription, the member briefly has two subscriptions at once, and Ghost Portal may not show the one that’s waiting to start. A member who checks their account might not see the change they just made. This email tells them, in plain language, that their new plan starts when the current one ends, which heads off confusion, support tickets, and chargebacks. The immediate-switch path has a companion email too: “Thank a subscriber for using a retention offer (with proration)”. Turn on both, and every kind of upgrade ends with a clear confirmation.

Frequently asked questions

Yes. Attach an offer to the email and link to it with %OFFER_URL%. This works in a retention or upgrade autoresponder email, an email campaign, or an Advanced Autoresponder flow. Your Ghost Offers work in all three, and Basic Autoresponder emails can also use an Outpost Promotion. Outpost sends each existing subscriber to a checkout that changes their tier or billing cycle. A Ghost Offer link you paste into the email yourself only works for readers without a subscription, because Ghost Portal only shows offers to free or logged-out visitors.
When an existing subscriber redeems the offer, Outpost either (1) switches their current subscription to the new plan right away, prorated, or (2) schedules the new plan to begin when the current one ends. Which one happens depends on the direction of the change: a move up, to a pricier plan or a longer billing cycle, switches right away, while a move to a cheaper plan or a shorter billing cycle waits for the renewal date. Any change that would otherwise leave the subscriber owed money back also waits, so a plan change never results in credit back. See How an upgrade checks out. An offer for the plan the subscriber already pays for works differently: see If the offer is for the plan they already have.
Yes, in two cases: when the subscriber has turned off auto-renew, or when the offer is an Outpost Promotion you created, attached to a Basic Autoresponder email. A Ghost Offer for the price a subscriber already pays, which usually means the same tier and billing cycle, doesn’t apply while their plan is still renewing: checkout tells them they already have an active subscription to this plan. A Promotion you create has its own price, so it’s handled as a plan change instead. For a subscription billed through Outpost, when the subscriber pays something today, it goes through today; otherwise it starts on their renewal date. A subscription created outside Outpost, including one from Ghost Portal, always starts the new plan when its current term ends. Campaigns and flows list Ghost Offers only, so in a campaign or flow, offer a different plan instead. See If the offer is for the plan they already have.
Ghost Offers are built for free-to-paid signups, so Ghost Portal only shows them to visitors who don’t already have a subscription. To use one with existing subscribers, attach it to an email and link to it with %OFFER_URL%. Outpost then sends each existing subscriber to a direct checkout with the discount applied, while free readers still go through Ghost Portal. A Ghost Offer link you share yourself, including one pasted into an email, always goes through Ghost Portal.
Not on the prorated path (one subscription throughout) and not on the scheduled-second-subscription path (the new plan doesn’t bill until the old one ends). Outpost handles the old subscription automatically: the prorated path changes the existing subscription in place, and the scheduled path cancels the old one so it stops renewing on its own. The one exception is a subscription that was created outside Outpost, which Outpost cannot cancel for the member. In that case they’re asked to cancel it themselves through the Stripe billing portal, and skipping that step, including choosing “Proceed Without Canceling”, leaves the old subscription billing alongside the new one until they cancel it.
Because that upgrade path briefly leaves the member with two subscriptions, and Ghost Portal may not show the one that’s waiting to start. The member could log in and not see the change they just made. The email tells them, in plain language, that their new plan starts when the current one ends, heading off confusion, support tickets, and chargebacks. See Turn on the upgrade confirmation email.
There’s no time limit. Outpost schedules the new plan however far off the current plan’s end date is, and the confirmation screen shows the date and amount of the first charge before the subscriber confirms. The amount shown is what the subscriber will pay: if the offer uses a Multiple Months discount that would run out before the new plan starts, the screen already reflects the full price.
Mostly yes. A One Time Discount or a Recurring Discount is applied on both the prorated switch and the scheduled second subscription. A Multiple Months discount runs on calendar time from the day the subscriber confirms, not from the day the new plan starts, so if the scheduled subscription begins after those months have passed, its first charge is at full price. Either way, the checkout screen shows the exact amount of the first charge before the subscriber confirms.A discount the subscriber already has on their current plan doesn’t move to the new plan. After the change they pay the new plan’s price, less the offer’s discount if the offer has one.When a Multiple Months discount is still running at the subscriber’s first renewal, the screen adds a second dated line for the first renewal the discount no longer covers, charged at full price, so the subscriber sees the date the full price returns before they confirm. Neither a One Time Discount nor a Recurring Discount produces that line: the first is spent on the opening charge, and the second never ends. It is left out only when the discount is long enough to outlast the twelve renewals the screen looks ahead, which on a monthly plan means a discount of about fourteen months or more, because the screen names a date only when it can be sure of one.
No, that’s the correct behavior, and it’s the same screen described in How an upgrade checks out. A member who “cancelled” has really only turned off auto-renew; they’re still a paid subscriber until their time runs out. You can’t send them to a plain new-signup checkout, because that would start a second subscription. Instead, %OFFER_URL% takes them to an Outpost checkout page that shows their current plan, the new plan, and the prorated amount, then completes the change through Stripe when they confirm. The Stripe charge still happens; the Outpost page is the step that switches their existing subscription cleanly instead of duplicating it.This also means a member who has already canceled stays a subscriber when they take the offer. On the immediate prorated switch, paying lifts the pending cancellation, and the subscription renews normally on the new plan. On a scheduled change, the confirmation screen tells them their current subscription is already canceled and runs until its end date, and the new plan starts right after that, so their access never lapses.
It’s locked on purpose. Cancellation and retention emails are sent to existing paid subscribers, and Ghost Offers never render for them (Ghost only shows offers to free or unknown visitors). If you could paste a Ghost offer link here, the button would lead those subscribers to a dead end, or risk creating a duplicate subscription. Keeping the button on %OFFER_URL% lets Outpost generate the right personalized link for each recipient and route existing subscribers through the proration/switch checkout. To change where the button goes, change the offer attached in the action’s Offer dropdown; you don’t edit the link itself.
No. You can attach either a Ghost Offer or an Outpost Promotion to a retention or cancellation action, and campaigns and flows use your Ghost Offers directly. When the recipient is an existing subscriber, Outpost turns a Ghost Offer into an equivalent direct checkout automatically, so the discount works even though Ghost Portal never handles that checkout. Building the offer as an Outpost Promotion from the start is a little cleaner, but attaching an existing Ghost Offer works too. The one exception is an offer for the plan a subscriber already pays for while it’s still renewing, for example in a renewal reminder: see If the offer is for the plan they already have.

Promotions

Outpost’s own offer system, with prices of its own and checkout on an Outpost page

Offers & Discounts

Ghost Offers vs Outpost Promotions, and when each one applies

Autoresponder

Attach upgrade offers to retention emails and enable the confirmation emails

Subscription Schedules

Intro pricing that transitions to a standard renewal rate