A discount can look correct in Shopify admin and still fail in a real shopping journey.
The threshold might use an unexpected subtotal. A code might conflict with an automatic promotion. A customer segment, market, subscription item, or bundle could behave differently. The storefront message might promise a saving that checkout does not apply.
Use this 12-point checklist before you announce any Shopify promotion.
Create a small test matrix first
Write down the rules in plain language before testing:
- Who is eligible?
- Which products, variants, collections, markets, and sales channels qualify?
- What quantity or subtotal triggers the reward?
- What is excluded?
- Which other discounts may combine?
- When does the promotion start and end?
- What should the customer see at product, cart, and checkout stages?
Turn each rule into one passing test and at least one failing test. Record the expected discount, actual discount, device, market, and result. This makes retesting much faster after a change.
1. Test immediately below, at, and above every threshold
Boundary errors are among the easiest promotion failures to miss.
For a “Buy 3, save 10%” offer, test quantities 2, 3, and 4. For “Spend $100, get $15 off,” test subtotals just below $100, exactly $100, and just above it.
Confirm which amount controls eligibility. Is it the subtotal before discounts, after product discounts, or another eligible subtotal? Also check whether taxes, shipping, gift cards, and excluded products affect the threshold.
2. Test eligible and excluded products
Build carts containing:
- Only eligible products
- Only excluded products
- A mix of eligible and excluded products
- Multiple variants of an eligible product
- Sale-priced products, if relevant
- Bundles and bundle components, if relevant
Check both eligibility and discount allocation. For Shopify bundles, product- or collection-specific discounts should target the parent bundle product; selecting only components will not apply the discount to the bundle (Shopify Help Center).
3. Test discount combinations in both directions
Do not assume that selecting “combinable” on one discount is enough. Shopify requires the relevant combination setting on each discount.
Test the promotion with every active class it might meet:
- Product discount
- Order discount
- Shipping discount
- Automatic discount
- Discount code
- Loyalty or referral reward
Shopify applies product discounts first, order discounts to the revised subtotal, and shipping discounts last. If discounts cannot combine, Shopify selects the best eligible discount or combination for the customer (Shopify Help Center).
Verify the result and the customer-facing message when a combination is rejected.
4. Test customer eligibility states
Use customer accounts that represent every rule:
- Logged-out visitor
- Eligible logged-in customer
- Ineligible logged-in customer
- New customer, if the offer is first-order only
- Existing customer with past orders
- Customer inside and outside a target segment
- B2B customer, if your store supports B2B
Do not reuse only one account. Cached identity and order history can hide eligibility problems.
5. Test relevant Shopify Markets and currencies
Preview or enter the storefront through each market you plan to promote. Check local prices, thresholds, messaging, and the final checkout discount.
Percentage discounts apply to the customer’s local price. Fixed-amount discounts are configured in the store currency and converted at checkout, so the displayed local value can vary with exchange rates (Shopify Help Center).
Test market restrictions too. Shopify lets merchants assign automatic and code-based discounts to specific markets. Make sure an ineligible market cannot redeem the offer and receives a useful message.
6. Test cart changes after the discount appears
Customers rarely follow a perfect linear path. After the discount activates:
- Reduce quantity below the threshold
- Remove an eligible item
- Add an excluded item
- Swap a variant
- Increase quantity to the next tier
- Return to shopping, then revisit the cart
The saving, tier message, and totals should update correctly. A stale “You unlocked 15% off” message after the cart no longer qualifies damages trust even if checkout later corrects the price.
7. Test both cart and checkout totals
Verify the amount at every surface your theme uses:
- Product page
- Cart drawer
- Cart page
- Checkout
- Order confirmation
- Confirmation email
The checkout total is the source of truth, but earlier messages shape customer expectations. Capture screenshots and compare line-item prices, subtotal, discount label, shipping, tax, and final total.
Shopify Functions calculate app-based discounts within Shopify’s backend checkout logic using cart context such as quantities, prices, and buyer identity (Shopify developer documentation). Even so, theme code or storefront widgets can display an estimate differently, so the full journey matters.
8. Test mobile and desktop storefronts
On mobile, confirm that:
- The discount message is visible without covering purchase controls
- Long labels do not break the cart layout
- Progress or tier widgets update after quantity changes
- The discount-code field remains usable
- Dynamic checkout buttons follow the expected path
Also test at least one real device where possible. A responsive desktop preview may not reveal browser keyboard, viewport, or drawer issues.
9. Test subscriptions, selling plans, and special purchase types
If your catalog includes subscriptions, preorders, try-before-you-buy, or other selling plans, test them explicitly.
Shopify supports discounts on subscription orders, and one-time and subscription products are treated as separate line items for discount purposes. Confirm whether the promotion applies to the first payment, recurring payments, or both, according to your configuration (Shopify Help Center).
Also test mixed carts containing subscription and one-time items.
10. Test dates, times, usage limits, and one-use rules
Confirm:
- Store timezone
- Start timestamp
- End timestamp
- Total usage cap
- One-use-per-customer behavior
- Reuse after a cancelled or refunded test order, when relevant
Schedule a short internal test window if possible. A campaign starting at midnight in the wrong timezone can launch hours earlier or later than the marketing announcement.
11. Test every purchase path you intend to support
Check the online store journey plus any other promoted channel: accelerated checkout, Shop, POS, subscription portal, or custom storefront.
Do not promise the same experience everywhere without verification. Shopify notes, for example, that discount combinations are not available on certain external checkout platforms such as Facebook, Instagram, and Google (Shopify Help Center).
Document unsupported paths for customer support and exclude them from campaign messaging.
12. Place and review a real test order
Complete at least one end-to-end order with a payment method and fulfillment approach approved for internal testing.
Review:
- Order timeline and discount name
- Discount allocation across line items
- Taxes and shipping
- Customer notification
- Analytics attribution
- Refund behavior
- Inventory changes
Then cancel or refund the order according to your internal process. The admin record often exposes allocation or reporting issues that are not visible in checkout.
A reusable launch sign-off table
| Area | Pass condition | Result |
|---|---|---|
| Thresholds | Below fails; at and above behave as designed | ☐ |
| Products | Eligible and excluded lines calculate correctly | ☐ |
| Combinations | All intended pairs stack; others fail clearly | ☐ |
| Customers | Segment and account rules are enforced | ☐ |
| Markets | Currency, value, and market eligibility match messaging | ☐ |
| Cart edits | Discount and message recalculate immediately | ☐ |
| Checkout | Cart promise matches checkout total | ☐ |
| Devices | Mobile and desktop remain usable | ☐ |
| Purchase types | Subscriptions or special selling plans behave correctly | ☐ |
| Schedule | Timezone, dates, and limits are correct | ☐ |
| Channels | Supported paths are verified and documented | ☐ |
| Test order | Admin, notifications, analytics, and refund are correct | ☐ |
Common symptoms and what to check first
“The discount code isn’t working”
Check active dates, customer and market eligibility, minimum requirements, product exclusions, usage limits, and conflicts with automatic discounts.
“The cart shows a discount but checkout does not”
Confirm that the storefront message uses the same eligibility logic as the actual discount. Recheck cart changes, selling plans, market, combination settings, and checkout path.
“A different discount applied”
Review combination settings. When eligible discounts cannot combine, Shopify applies the best available discount or combination for the customer.
“The fixed discount is a different local amount”
Fixed discounts are converted from the store currency at checkout. Verify the active exchange rate and campaign wording for that market.
Make the offer visible with Multiscount
Multiscount helps Shopify merchants create automatic product-volume, order-goal, gift, and shipping discount experiences with configurable conditions and tiers. Customizable storefront widgets can show shoppers available offers and progress toward the next reward.
Whatever promotion you build, run the same 12 checks before sending traffic. Clear qualification rules and a checkout result that matches the promise are essential.
Explore Multiscount and create a tiered discount campaign for your Shopify store.
Install Now