A subscriber clicks your Black Friday email, picks the coffee plan at 30% off and reaches checkout. Under the order total, Shopify prints the recurring charge: full price, every month. Your discount is applied to the first order. The recurring line just doesn’t show it. She closes the tab.
Merchants have been reporting this recurring-subtotal display in the Shopify Community since 2023, and it is one of a handful of problems that only subscription stores hit at peak. A one-time store has a checkout. A subscription store also has selling plans, renewals, a customer portal and a dunning schedule, and each of them can fail on November 27 in a way a normal Black Friday checklist never tests.
2026 adds one more. Shopify Scripts stopped running on June 30, 2026, so any Plus store that ran last year’s sale logic in Scripts now has to run it through Shopify Functions, against subscription prices it has never been tested with.
This checklist is for subscription stores only. It runs in phases from now until December 1, and every item names the setting and where to find it in Recharge, Appstle and Shopify’s native Subscriptions app. For store-wide preparation such as site speed, ad accounts and fulfilment staffing, Shopify’s own Black Friday checklist does the job well, so it isn’t repeated here.
| Phase | Finish by | What you are doing |
|---|---|---|
| First | As soon as possible | Configure the offer: prices, discount codes, existing subscribers |
| Two weeks before | Nov 13 | Portal rules, product pages and a full test order |
| One week before | Nov 20 | Failed payments, inventory, automation and the freeze |
| Black Friday week | Nov 24–30 | What to watch each day, and what to do if something breaks |
| Hand-off | Dec 1 | Switch from selling to keeping the new subscribers |
Black Friday is November 27 and Cyber Monday is November 30, 2026.
First: set up your offer (as soon as possible)
By now you should know what you are offering: a discount on the first order, a lower price for the first few orders, a lower price for as long as they stay, or a prepaid term. For coffee roasters, the choice usually comes down to a handful of Black Friday coffee promotion ideas such as step-down discounts, prepaid gifts or a limited holiday roast. This phase is about making the store do exactly what you decided, on the first order and on every renewal after it.
1. Put a multi-order price in the selling plan, not in a discount code
If the Black Friday price should last longer than the first order, set it in the subscription plan’s own pricing. A discount code can be honoured at billing and still be missing from the recurring line at checkout, which is the problem in the opening. A plan price is shown correctly because it is the price.
- Recharge: set the discount on the product’s subscription plan. Recharge applies plan changes to new subscriptions only; existing ones keep their price
- Appstle: Subscription Plans → your plan → Percentage or Fixed discount. To step the price by order number (Black Friday price on order one, your standard rate from order three), use Subscription Rewards.
- Shopify native: a selling plan can hold a fixed price for the introductory period and a recurring pricing policy that takes over after a set number of cycles.
2. If you use a discount code, decide how many orders it covers
For a first-order-only promotion, a code is fine. What matters is its duration, and each app asks for it differently.
- Recharge: Discounts → Create discount code → Set discount duration: one charge only, a specific number of charges, or all charges. Turn on Limit to first-time subscribers only and Limit to one subscription per customer if the offer is for new customers, otherwise the same code can start a second subscription.
- Shopify native: on the discount, set the purchase type to subscription (or both), then choose whether it applies to the first payment, a set number of payments or every payment.
- Appstle: use the plan’s reward ladder for anything beyond the first order.
One rule applies everywhere: the terms are fixed when the subscription is created. Changing a code’s duration next week does not change the subscriptions you sold this week.
3. On Recharge, create every code in Shopify and in Recharge
On Shopify Checkout, Recharge brings a Shopify code across only if its type is supported. Recharge’s import documentation lists what isn’t: Buy X Get Y, codes limited to several products or collections, minimum-quantity rules, codes limited to some variants of a product, and free-shipping codes with a rate cap or country limit. Recharge’s own holiday preparation guide recommends creating each code in Shopify with identical settings. Do that for every Black Friday code, then test it on a renewal, not just at checkout.
4. Check how your discounts combine
Shopify sorts discounts into product, order and shipping classes, and you choose on each discount which classes it may combine with. It allows up to 25 active automatic discounts, including ones created by apps, and up to five product or order codes plus one shipping code on an order.
- Open each Black Friday discount and set Combinations deliberately.
- Count your active automatic discounts against the limit of 25, including the ones your apps created.
- On Recharge, an automatic discount and a discount code don’t stack; the higher one applies.
5. Plus stores: rebuild anything that ran in Scripts
If last year’s sale pricing ran in Shopify Scripts, it doesn’t run any more. Rebuild it as automatic discounts with start and end dates, using Shopify Functions where you need custom logic. Don’t expect Launchpad to move subscription prices: Shopify’s Launchpad documentation lists product prices, publishing, inventory and themes, and says nothing about selling plans. Rules the admin can’t express, such as tiered subscriber pricing or custom bundle discounts, need Shopify Plus development with Functions, and are far easier to build in October than to patch on the day.
6. Decide what your existing subscribers get, and set it up now
If the best price is only for new customers, some loyal subscribers will cancel and sign up again to get it. Pick one policy before the offer goes public: match the price for one renewal, give early access, offer the deal only to lapsed subscribers, or exclude current subscribers and say so plainly on the offer page. Then set it up:
- Recharge: existing subscriptions don’t pick up new plan prices, so a price change for them needs a bulk update. Recharge’s holiday guide asks for bulk-update requests at least five business days ahead and notes they aren’t run at weekends. Submit by Thursday, November 19 at the latest.
- Appstle: Subscription Rewards apply to existing subscribers according to how many orders each one has completed, so a reward added now reaches them on their next qualifying order.
- Shopify native: a discount can’t be attached to subscriptions that already exist from the discount settings. It needs an app that updates the subscription contract.
7. Build an “active subscriber” list for early access
Early access needs a list that removes people when they cancel.
- Shopify native: in Shopify Flow, use the subscription-created trigger to tag the customer, build a customer segment from the tag, and limit the early-access discount to that segment.
- Recharge: Shopify customer-segment discounts now import into Recharge (Recharge changelog), and an Automate flow can add or remove customer tags on each processed order.
- Appstle: Tag Settings can apply a dynamic tag such as
subscriber_plan_{selling_plan_name}when a subscription is created and on every renewal.
Before you move on, you should have: the Black Friday price set in the plan, or a code with the right duration; every Recharge code created in both systems; combinations checked; any Scripts logic rebuilt; the existing-subscriber policy decided and, on Recharge, queued; and the subscriber list built.
Two weeks before: portal, product pages and a test order (by November 13)
The offer is configured. This phase makes sure customers can buy it, manage it and see the right price everywhere they look.
8. Set the portal rules for the sale period
Holiday travel and gifting give subscribers reasons to skip, swap and pause, and a portal that lets them swap into a sold-out product or skip past your fulfilment cut-off creates support tickets on your busiest days.
- Recharge: Storefront → Customer portal. Limit add and swap to a collection of in-stock products, decide whether customers may enter discount codes in the portal during the sale, and check who may cancel and when (Recharge: customer portal settings).
- Appstle: Retention Management → Advanced Configuration. Timing restrictions can block portal changes within a set number of days of the next order, and you can lock subscriptions until a minimum number of orders (Appstle: advanced configuration).
- Shopify native: customers can pause, resume, skip, cancel and update payment and address details from their account, and Shopify emails them three days before each recurring charge (Shopify: customer experience). There is no product swap, so plan your messaging around that.
Stores whose subscribers adjust orders more often than they cancel should get the pause, skip and swap rules right before December, not after.
9. Hide “Buy it now” on subscription product pages
The dynamic checkout button can send a customer to checkout without the subscription plan attached. On a subscription-only product, they then see the error “Variant can only be purchased with a selling plan”, which Recharge explains in its help article on the selling-plan error. For the sale, turn off dynamic checkout buttons on subscription product templates.
10. Check that every landing page sends the plan to the cart
Black Friday landing pages and bundle pages are often custom-built, and a custom add-to-cart that doesn’t pass the selling plan puts the product in the cart at the one-time price. Open each campaign page, add the subscription, and confirm the cart shows the plan and the subscriber price.
11. Show the renewal price wherever the promo price appears
A subscriber who joined at a discount should never meet the full price for the first time on their bank statement. Put the renewal price next to the promo price on the product page, in the plan selector and in the order confirmation (“$22 today, then $32 every month”). This also covers the checkout display problem from the opening, because the customer has already seen the full picture. Shopify’s native app adds a subscription policy that customers accept at checkout (Shopify: Subscriptions setup); make sure its wording matches your offer, within the limits of what Shopify lets you customise at checkout.
12. Run a full test order on a real subscription
Admin screens tell you what you set. Only an order tells you what customers get. Run this once per stack, on mobile, with a 100% test code or a low-priced test product:
| # | Do this | Pass if |
|---|---|---|
| 1 | Subscribe from a Black Friday landing page | Cart shows the plan and the subscriber price |
| 2 | Apply the Black Friday code at checkout | Discount appears; renewal price is stated on the page |
| 3 | Complete the order | Order is tagged as a subscription; customer tag or segment is applied |
| 4 | Open the subscription in the app admin | Next charge date and next charge price are what you intended |
| 5 | Log in to the customer portal | Customer can see and manage the subscription |
| 6 | Skip the next order | New date respects your fulfilment cut-off |
| 7 | Swap a product | Only in-stock products are offered |
| 8 | Pause, then resume | Next charge date recalculates correctly |
| 9 | Start a cancellation | Your pause or retention offer appears first |
| 10 | Re-subscribe with the same email | First-time-subscriber limits block the code if they should |
| 11 | Trigger a failed payment with a test card | Retry is scheduled and the customer email sends |
| 12 | Set a subscription product to zero stock | Renewal behaves as your inventory setting says |
By November 13 you should have: portal rules set, Buy it now off on subscription products, every landing page checked, renewal prices visible, and all twelve test steps passed on each stack you run.
One week before: payments, stock and automation (by November 20)
Black Friday brings in a cohort of new subscribers who joined on a discount. For a monthly plan, their first renewal lands in late December, in the middle of holiday spending. This phase makes sure the store can collect from them and keeps working when stock runs low.
13. Set failed-payment retries for December, not for a normal month
The most important choice is what happens after the last retry. Cancelling a subscriber in late December because a card bounced is the most expensive default you can leave switched on.
- Recharge: Churn tools → Failed Payment Recovery. Recharge uses smart retry timing, with a recovery period of 120 days by default, and cancels the subscription when the maximum retries are reached. Strategies can’t be edited once active, so duplicate and adjust rather than editing. If you use a third-party dunning tool, switch Recharge’s own recovery off so the two don’t compete.
- Appstle: Failed Payment Recovery. Total payment attempts can be set from 2 to 10, and that count includes the original charge, so 8 means 7 retries. Days between attempts run from 1 to 10. Under If every attempt fails, choose skip, pause or cancel; Appstle recommends keeping the subscription active and skipping the order.
- Shopify native: Apps → Subscriptions → Settings → Billing attempts. Set the number of retries, the days between them and the action when all retries fail (skip, pause or cancel), separately for payment failures and for not-enough-inventory failures.
For this cohort, choose skip or pause over cancel at least until the end of January, because failed payments and expired cards cause churn that never shows up as a cancellation, and Black Friday subscribers are the newest cards on your books.
14. Don’t retry charges by hand on renewal day
Appstle allows one billing attempt per subscription in 24 hours and silently skips a second one (Appstle: billing attempt skipped). Manual re-charges on a busy day also fight with your automatic retries. Let the retry schedule work, and don’t bulk-move hundreds of renewals onto the same day to “catch up”.
15. Decide what happens when a subscription product sells out
A hero product that sells out on Black Friday will also fail its renewals.
- Recharge: Settings → Order Processing. Choose between create order always (and reduce inventory) and create order only if inventory is available. Out-of-stock orders are retried daily, and partial order fulfilment can ship the rest of the order without the missing item (Recharge: inventory settings). Turn on the out-of-stock customer email.
- Appstle: the out-of-stock email template is under Email Settings; inventory behaviour follows your Shopify inventory settings, so test it with the zero-stock step in the test order above.
- Shopify native: the Billing attempts settings have a separate retry rule for not enough inventory, and you choose whether subscription products track inventory at all.
Perishable products make this harder, because a stock-out also disrupts cold-chain fulfilment for kombucha and delivery timing for pet food subscribers.
16. Ship two automations
Two Shopify Flow workflows earn their keep in Black Friday week.
- Tag the Black Friday cohort. On Shopify native, trigger on subscription created and add a tag such as
bfcm-2026. On Recharge, an Automate flow can filter on the Black Friday discount code and update customer tags. On Appstle, its Shopify Flow triggers include subscription created. You will need this tag on December 1. - Alert on failed payments. Shopify’s subscription billing attempt failure trigger can tag the customer or send a message to your team. Appstle’s billing-failure trigger includes the attempt count, so you can act differently on the third failure than on the first.
17. Send every request to your subscription app by November 19
Recharge’s holiday guide asks for bulk updates and anticipated support requests well before Black Friday, and bulk updates need five business days. If you also need Recharge to raise your API limit (2 requests per second per token by default, per the Recharge API documentation) or change your order processing time, ask now.
18. Freeze the theme from November 20
Theme changes can remove the subscription widget from product pages or the subscription link from customer accounts, and Recharge’s holiday guide warns that theme changes may require reinstalling the widget. Make your last theme change by November 20, check the widget and the portal link on live product and account pages, and then leave it alone until December.
By November 20 you should have: retries set to skip or pause, an inventory policy for every subscription product, the cohort tag and failure alert live, every app request submitted, and the theme frozen.
Black Friday week: what to watch and how to fix it (November 24 to 30)
Check these every morning from November 24:
- Renewals created versus renewals due. A renewal that was never attempted leaves no failed charge to retry. Compare yesterday’s expected renewals with the orders actually created.
- Failed payments. Your Flow alert from step 16, read once a day, not every five minutes.
- Checkout errors and discount complaints in your support inbox.
- Your subscription app’s status page, before you assume a problem is yours.
Plan for support being thinner than usual. Recharge’s holiday guide notes reduced live chat over Black Friday and says outages and broken checkouts are prioritised over discount-code setup questions.
If something breaks:
| Symptom | Likely cause | First fix |
|---|---|---|
| Black Friday code works at checkout but not on renewals (Recharge) | Unsupported Shopify discount type, or the code exists only in Shopify | Create the same code in Recharge; for affected subscriptions, apply it from the merchant portal |
| Checkout shows the full price on the recurring line | Discount set as a code rather than a plan price | Expected display; make sure the renewal price is stated on the page. Move the price into the plan for next year |
| “Variant can only be purchased with a selling plan” | Buy it now or a custom add-to-cart skipping the plan | Turn off dynamic checkout buttons; fix the landing page’s add-to-cart |
| Product page shows no subscription option | Widget lost after a theme change | Re-add the subscription app block to the product template |
| Customers can’t find their subscription | Account link lost after a theme change | Re-add the subscription management link or block to customer accounts |
| Renewals failing for one product | Product out of stock | Restock, or switch the swap collection to an alternative; check partial fulfilment |
| Second charge skipped (Appstle) | One billing attempt per 24 hours | Wait for the next scheduled retry; don’t re-charge by hand |
Freeze means freeze. A fix in Black Friday week should change one setting, be tested on one order and be written down.
December 1: shift to keeping new subscribers
On December 1 the sale is over and the real test begins: the first renewal for your Black Friday subscribers, at full price, in late December. Before you switch focus:
- Export the cohort using the
bfcm-2026tag: how many joined, on which plan, and when each first renewal falls. - Make sure pause-before-cancel is on (Recharge: pause subscription; Appstle: pause settings).
- Set up a cancellation offer for subscribers who give price as the reason. On Appstle, set a duration on any retention discount; left unset, it never ends. On Recharge, note that cancellation prevention swaps don’t work on prepaid subscriptions.
- Email the cohort before their first full-price charge, not after it.
- Expire any Black Friday-only discounts and plans so nobody joins on them in January.
Frequently asked questions
Will my Black Friday discount code apply to every renewal or just the first order?
It depends on the duration you set when you create it: one charge, a set number of charges, or all charges on Recharge; first payment, a set number of payments or every payment on Shopify. The duration is fixed when each subscription is created, so set it before the sale starts.
Why does checkout show the full price for future orders when my code is applied?
Shopify’s recurring line shows the subscription’s base price for future orders and doesn’t reflect discount codes. If the lower price should continue, set it in the subscription plan instead, and state the renewal price on your product page either way.
Why isn’t my automatic discount applying to subscription products?
Some discounts and discount apps don’t apply to products sold with a selling plan, and older apps that use draft orders don’t work with subscription checkout. Use a Shopify discount with the purchase type set to subscription or both, and test it on a cart containing a subscription.
What happens when a subscription payment fails during Black Friday week?
Your app retries it on the schedule you set: smart timing on Recharge, a fixed number of attempts and days on Appstle and Shopify native. What matters most is the action after the last retry. For new Black Friday subscribers, skip or pause rather than cancel.
How early should I send Recharge a bulk update before Black Friday?
Recharge asks for at least five business days’ notice and doesn’t run bulk updates at weekends. For a sale starting November 27, submit by November 19.