What's the best way to discount subscriptions during a sale?
Running promotions for subscription brands requires balancing three goals:
Acquisition impact: Drive new subscriber growth
Margin protection: Maintain healthy unit economics
Operational simplicity: Keep your team from drowning in edge cases
You have three main ways to discount subscriptions. Each has distinct trade-offs:
Option 1: Using Shopify discounts
How it works: Keep your Subscribe & Save discount unchanged (e.g., 15% off) and layer a Shopify discount code or automatic discount on top during promotional periods.
Best for:
Short-term acquisition campaigns (e.g., BFCM, influencer codes, weekend sales)
Preserving long-term Subscribe & Save messaging
Teams that need fast promotion launches
Key advantage: Fast to launch, easy to explain, and maintains your subscription value proposition.
Product pages won’t automatically show the final promo price, and the checkout “recurring total” won’t reflect promotional discounts.
Option 2: Using selling plans
How it works: Temporarily increase your Subscribe & Save discount (e.g., from 15% to 25%), then use Skio Journeys or Bulk Operations to revert pricing after the promo period.
Best for:
Subscription-only promotions
Code-free promotional experiences
Offers for both new and existing subscribers
Loyalty or subscriber appreciation campaigns
Key advantage: Fully subscription-native. Works for both new and existing subscribers without needing discount codes.
Requires Journeys or Bulk Operations to avoid subscribers keeping the promo price indefinitely. Takes more setup time than discount codes.
Option 3: Updating the base product price
How it works: Temporarily lower the product’s base price in Shopify.
Best for: Strategic repricing based on COGS or permanent repositioning. Not recommended for short-term promotions.
Key advantage: None for promotions.
Affects how selling plan discounts are calculated. Breaks Skio Journeys and Bulk Operations logic. Introduces complications. Avoid this approach for short-term discounts.
Understanding pricing for new subscribers vs. existing subscribers
When you change pricing or discounts in Skio, new subscribers checking out receive updated pricing immediately, but existing subscribers continue at their current pricing until you take additional action.
What this means in practice
Scenario: You're running a BFCM promotion where you increase Subscribe & Save from 15% to 25%.
What happens automatically:
New subscribers checking out during BFCM get 25% off
Existing subscribers continue at 15% off (their original rate)
What doesn't happen automatically:
Existing subscribers don't get upgraded to 25%
When BFCM ends and you revert to 15%, BFCM subscribers continue at 25% unless you take action
How do I make sure both new and existing subscribers get my promotional pricing?
For new subscribers: Configure checkout (selling plans, discount codes, automatic discounts)
For existing subscribers: Use Skio's automation tools:
Bulk Operations: Immediate, one-time updates to a specified group
Journeys: Automated, trigger-based updates (e.g., "revert to standard pricing after first order")
Every promotion should answer two questions:
How do new subscribers get this pricing? (Checkout configuration)
Do existing subscribers get it, and if so, how? (Bulk Operations or Journeys)
Best practices for promotional strategy
1. Default to Option 1 (discount codes) for acquisition
Why: It's the fastest to launch, easiest to explain to your team, and preserves your core Subscribe & Save messaging. Use this for 90% of your acquisition campaigns.
When to use Option 2 (selling plan) instead: When you want a code-free experience, or when you're running a subscriber-only promotion that should feel premium and automatic.
2. Keep your base Subscribe & Save stable
Changing your core Subscribe & Save discount frequently creates confusion:
In your Customer Portal (subscribers see inconsistent pricing when adding products)
In your analytics (harder to track true subscription performance)
In your team's mental model (what's our "real" subscription offer?)
Better approach: Use discount codes or Journeys to layer promotions on top of a stable baseline.
3. Use Journeys to automate promotional cleanup
If you run a "25% off first order, then 15% off ongoing" promotion, set up a Journey that automatically reverts pricing after the first order processes.
Without a Journey: You'll need to manually run Bulk Operations after the promotion, track which subscribers were affected, and manage edge cases.
With a Journey: Pricing normalizes automatically. Set it and forget it.
4. Be explicit about recurring pricing at checkout
Shopify's default checkout language often creates confusion because the "recurring total" text doesn't reflect promotional discounts.
Fix this proactively: Update your checkout content to clarify:
"Your first payment is the total shown. Future orders renew at your standard subscription price."
Or if the promo applies ongoing: "Your subscription will renew at this discounted rate."
Avoiding confusion up front prevents support tickets and cancellations later. Use the recurring pricing policy option when creating selling plans.
5. Separate acquisition promotions from loyalty promotions
Acquisition promotions (for new subscribers):
Stack discount codes on Subscribe & Save
Focus on first-order conversion
Accept that these are typically loss-leaders
Loyalty promotions (for existing subscribers):
Use Bulk Operations or Quick Actions
Target based on behavior (order count, LTV, at-risk status)
Focus on retention economics, not acquisition
Don't try to make one promotion do both jobs. Separate campaigns = clearer messaging and better unit economics.
6. Limit promotional pricing duration
The longer promotional pricing lasts, the harder it is to manage.
Good: "25% off your first order, then 15% off ongoing"
Clear end point
Easy to communicate
Simple to automate with Journeys
Risky: "25% off every order forever for BFCM subscribers"
Erodes margin permanently
Creates pricing disparity between cohorts
Harder to grandfather or adjust later
Time-box promotional pricing whenever possible. Use Journeys to automatically normalize after 1-2 orders.
7. Plan for portal edge cases when adjusting selling plans
When you temporarily increase your selling plan discount, existing subscribers can remove and re-add products in the portal to access the new promotional rate.
Two strategies:
Strategy A: Accept this as a feature
"Everyone gets the better deal during the promotional period, including existing customers"
Simpler operationally
More generous, but higher cost
Strategy B: Use a Journey to correct it
Set up a Journey that normalizes pricing after each order
Even if subscribers re-add products at the promo rate, they revert to standard pricing after their next order processes
More complex, but protects margins
8. Test promotional flows before launch
Always test:
Checkout flow with promotional discount applied
Product page messaging and pricing display
Portal behavior (can existing subscribers access promo pricing unintentionally?)
Email/SMS messaging alignment with actual promotional mechanics
Catch issues in staging, not in your support inbox.
9. Document your promotional history
Track which promotions you've run, which subscribers were affected, and what cleanup actions you took.
Why: When you're looking at subscription data 6 months later, you'll need to know:
Why certain cohorts have different pricing
Which subscribers were part of which promotional period
What automated Journeys are running in the background
Simple approach: Maintain a shared doc or spreadsheet with:
Promotion name and dates
Discount configuration (codes, selling plan changes, etc.)
Target audience (new subscribers, existing, specific segment)
Cleanup actions (Journeys created, Bulk Operations run)What are the risks of discounting promotions?
FAQ
Should I use discount codes or automatic discounts?
Discount codes work well when you want promotional codes for marketing (influencer codes, "USE CODE BFCM25").
Automatic discounts work well when you want discounts to apply without customer action. Note that automatic discounts require custom development to show adjusted pricing on product pages.
How do I prevent subscribers from keeping promotional pricing forever?
Set up a Journey that triggers after a specific order count or date and normalizes pricing back to your standard rate. This happens automatically without manual intervention.
What's the difference between Bulk Operations and Journeys?
Bulk Operations apply changes immediately to a defined segment at a specific moment. Use for one-time updates.
Journeys apply changes automatically when subscribers meet trigger conditions. Use for ongoing, automated pricing management.
Can I run different promotions for new vs. existing subscribers simultaneously?
Yes. Configure your checkout for new subscribers, then use Bulk Operations or Journeys to apply different logic to existing subscribers.
How do I track which subscribers were affected by which promotion?
Use Skio's segmentation to create segments based on:
Subscription created date (to identify promotional cohorts)
Current pricing or discount configuration
Order count and subscription status
Maintain internal documentation of promotional periods and segments affected.