Edge Subscriptions articles

How to Set Up Shopify Subscription Discounts

Anurag Chandra9 min read

You set up subscribe and save. The product page shows a saving, the customer subscribes, and then the second order bills at full price. Or the discount does apply, but it applies to a sample size variant you never meant to offer on repeat.

Both come from the same place. The discount is not a discount code and it is not a store level rule in an app dashboard. It lives inside the selling plan, in a field called the pricing policy, and shopify subscription discount setup is the job of getting that one field right.

This is a configuration guide. It assumes you already have a plan on a product and it stays out of the argument about how big the number should be.

What does Shopify subscription discount setup actually control?

A selling plan group represents a selling method, such as subscribe and save. Inside it, each selling plan carries four policies, and the pricing policy is the one holding the discount.

That policy is deliberately narrow. It expresses a price adjustment on the line, and when that adjustment applies. Everything you want to do with a subscription discount is built out of those two dials.

ShapeWhat the pricing policy holdsUse it when
Percentage offA percentage reduction from the variant priceThe catalogue has mixed prices and you want one rule
Fixed amount offA set amount deducted per unitYou want a predictable per unit margin cost
Flat priceAn absolute price the plan chargesThe subscription price is a headline number in its own right
No adjustmentNothingConvenience is the offer and the price does not move

A few things follow from that table.

  • The policy sits on the plan, not the product. Two frequencies inside the same group can carry different adjustments, so weekly and monthly do not have to match.
  • Percentage tracks price changes, fixed amount does not. Raise a variant price later and a percentage plan follows it. A fixed amount plan quietly gets more generous.
  • A flat price ignores the variant price entirely. Useful, and dangerous, because a price rise on the product does nothing to the subscription until you touch the plan.
  • Anything that changes over time is not one policy. A discount that deepens at cycle six is not a single adjustment. It has to be modelled as more than one plan, or handled by the app on top of the plan.

How do you configure a recurring versus a first-order-only discount?

This is one setting, usually labelled "applies to every order" against "applies to the first order only". The plumbing underneath is the same plan either way. Here is the procedure, starting from a group that already exists on the product.

  1. Open the plan, not the group. The group is the wrapper. The discount belongs to a specific plan inside it, so a group with three frequencies has three pricing policies to set.
  2. Choose the adjustment type from the four shapes above. Pick percentage unless you have a specific reason not to.
  3. Enter the value. Enter it once, here. Do not repeat it anywhere in theme copy.
  4. Set the recurrence. Recurring means the adjustment applies on every billing cycle for the life of the contract. First order only means the adjustment applies once and cycle two returns to the variant price.
  5. Repeat for every other plan in the group. A half configured group is how a customer ends up picking the one frequency that has no discount at all.
  6. Save, then reload the product page as a logged out customer. Not in the theme editor preview.

How do you apply a discount to some variants but not others?

Scoping does not happen in the pricing policy. It happens when the selling plan group is attached, and the attachment can be made at variant level rather than product level.

Attach the group to the product and every variant inherits the subscribe option, including the ones that should never carry a recurring discount.

  • Trial and sample sizes. A small size exists to be bought once. Putting a recurring discount on it turns your cheapest acquisition product into your thinnest margin subscription.
  • Bundles and multipacks. These already carry a volume discount. Adding a subscription discount on top stacks two reductions on the same unit.
  • Clearance and end of line variants. A recurring commitment on stock you are trying to exit is a promise you cannot keep.

Decide the eligible variant list before you attach anything, then attach the group only to those variants. If different variants deserve different values, that is a second selling plan group rather than a second value inside the first.

What happens when a discount code meets a subscription discount?

They are different systems. The pricing policy adjusts the line because of how the item is being bought. A discount code adjusts the order because someone typed something into a box. What you get depends on the code's combination settings, which decide whether it can sit alongside other product discounts. That needs testing rather than reasoning about.

There are two separate questions, and merchants usually only ask the first.

  • Does the code apply at all on a subscription line? Test with your most generous active code, not a token one.
  • Does it apply again next cycle? The code was entered at that checkout. Whether it carries into the contract depends on whether your app writes it there, and it usually does not.
  • What is the stacked total? If the result sits below your floor, the fix is the code's combination setting, not the plan.
  • Are your welcome codes excluded? A welcome code plus a subscription discount plus free shipping is where most of the damage happens.

The safe default is to exclude subscription lines from sitewide codes and let the plan be the only reduction on that line.

How do you show the saving on the product page and in the cart?

One source of truth. The plan holds the number and the storefront reads it rather than repeating it.

  • On the product page, render the price the plan returns for the selected variant, next to the one time price. Two prices beat a claim about a percentage.
  • In the cart, show the plan name on the line. "Delivered monthly" tells the customer what they agreed to. A bare line item produces support tickets after the first renewal.
  • At checkout, confirm the line total matches the product page. If it does not, the page is lying and the checkout is right.

How do you change a discount without affecting existing subscribers?

Shopify already answers this for you, and the answer is reassuring. Updates to a selling plan do not modify pre-existing subscription contracts. The contract created at checkout is its own record.

So editing a plan is safe by default. New subscribers get the new terms and everyone already on the plan keeps what they signed up for. That is a safeguard, not a bug.

The reverse is also true. If you want existing subscribers moved to a better rate, editing the plan does nothing for them. That is a deliberate migration you run against the contracts.

The order of operations for a change:

  1. Decide whether existing subscribers should move. Down in price is a goodwill exercise. Up in price is a churn event.
  2. Edit the plan for everyone new. Change the value in the pricing policy and save.
  3. Check the storefront reflects it on a hard refresh, then check a fresh test purchase creates a contract at the new price.
  4. Leave existing contracts alone unless step one said otherwise, in which case migrate them explicitly and tell those customers before the next charge lands.

How do you test a discount before it reaches a live cart?

Configuration is cheap. Finding a broken pricing policy in a customer email is not. Run this before you announce anything.

  1. Log out and open the product page in a private window.
  2. Select each frequency in turn and confirm the displayed price changes with the selection.
  3. Add a subscription line to the cart and confirm the line shows the plan name and the discounted price.
  4. Apply your most generous discount code and record the total. Then remove it and record the total again.
  5. Complete a real low value order using a variant priced at your minimum. A draft order does not exercise the same path.
  6. Open the subscription contract the checkout created and confirm the recurring price matches what you expect for cycle two, not just cycle one.
  7. Repeat on the excluded variants and confirm no subscribe option appears there at all.

What it looks like when it has gone wrong:

SymptomUsual cause
Product page shows a saving, checkout does notHardcoded theme copy instead of the plan's price
First order discounted, second at full priceAdjustment set to first order only
One frequency discounted, another notA plan in the group with an empty pricing policy
Subscribe option on a sample sizeGroup attached at product level, not variant level
Total below your margin floorA code combining with the plan adjustment
Subscribers all on the old price after an editWorking as designed, contracts are separate records

Where does Edge Subscriptions fit in discount setup?

Edge Subscriptions handles subscribe and save, the customer portal and dunning. It is a new app with no reviews yet, so take that as read. What it does with discounts is what this post argues for: the plan holds the number, the storefront reads it, and nothing about the price is duplicated in theme copy.

If your needs go beyond one adjustment per plan, be honest about it before installing anything.

  • Appstle Subscriptions has a free plan up to $500 per month in subscription revenue, then $10 per month up to $5,000 and $30 per month up to $15,000. Start there if you want to test an offer before you pay for one. See the listing.
  • Recharge has no free plan. Starter is $25 per month with no transaction fee for the first 50 subscribers, and the $99 per month tier charges 1.49% plus $0.19 per transaction. See the listing. Run both shapes against your own volume before assuming either is cheaper.
  • Edge Subscriptions suits stores who want the standard shape done cleanly. See the listing.

Pricing and features checked on 22 August 2026. App Store listings change without notice, so verify on the listing before you commit to a plan.

Whatever you install, the discount lives in the pricing policy and the contract outlives it. If you are still deciding whether recurring suits your catalogue at all, the comparison of subscription against one time purchase is the better place to start.

Questions people ask next

Can a customer stack a discount code on top of a subscription discount?

Sometimes, and you should decide rather than discover. A code is a separate object from the plan's pricing policy, and its combination settings govern whether it sits alongside other product discounts. Place a test order with your most generous code on a subscription line and read the checkout total before you publish anything.

If I lower the subscription discount, do current subscribers pay more?

No. Shopify treats the contract created at checkout as a separate record from the plan that produced it, and updates to a selling plan do not modify pre-existing subscription contracts. Your edit reaches new subscribers only. Moving existing ones is a separate migration you have to run on purpose.

Source
Can I offer the discount on some variants but not others?

Yes. Scoping happens when the selling plan group is attached, and it can be attached at variant level. Sample sizes, bundles and clearance variants are the usual ones to leave out. If you attach the group to the whole product, every variant inherits the subscribe option whether it earns the margin or not.

Does a first-order-only discount need a different plan?

No, it is the same plan with a different adjustment setting. The pricing policy can apply once to the first order or recur on every order. The configuration takes seconds. Whether it is a good idea is a separate question, and the answer depends on what happens to your second order.

Why does my product page show a saving the checkout does not apply?

Usually the page is showing hardcoded theme copy rather than the plan's computed price. The text says one thing, the pricing policy says another, and the checkout is right. Fix it by rendering the price the selling plan returns instead of writing the number into a section setting or a product description.

Anurag Chandra

Founder, Edgecoms

Anurag runs Edgecoms, a studio of Shopify apps. He spends most of his week inside merchant stores working out why a number is lower than it should be.

Connect on LinkedIn

Read this on your assistant

Opens with a summary request for this page already written.

Read next

Supercharge the traffic you already have

See why Shopify brands run Edge to raise order value, lift conversion, and keep customers coming back.