Shopify Compare at Price vs Discount Code: Which Should You Use?
Two mechanisms, two very different outcomes. Compare at price changes product data. Discount codes apply at checkout. Know the tradeoffs before choosing.
How Compare at Price Works
Compare at price is a field in Shopify’s product data. Every product has two prices:
- Price: The price you sell at
- Compare at price: A higher reference price (usually the “original” or “retail” price)
Shopify shows them as: ~~Compare at Price~~ Price
Example:
- Price: $40
- Compare at price: $50
- Displayed as: ~~$50~~ $40
How it’s created:
You manually edit the product and change the compare at price field. Or you bulk edit via CSV. The product’s core price changes.
Shopify’s handling:
Shopify records the lower price ($40) as the actual product price. Financially, it’s as if the product was always $40. No discount is tracked. Shopify records the sale as “$40 sale, no discount applied.”
Analytics impact:
Gross revenue is based on the new price. If you change a product from $50 to $40 via compare at price, Shopify reports it as a $40 product, not a $50 product discounted to $40.
This distorts financial reporting.
How Discount Codes Work

A discount code is separate from product data. The product retains its full price. The discount applies as a line item at checkout.
How it’s created:
You create a discount in Shopify admin. You set the discount amount ($10 off, or 20% off). You create a code: SAVE20.
Customer experience:
Customer adds product to cart at full price ($50). At checkout, customer enters code SAVE20. Shopify applies the discount. Final total is $40.
Shopify’s handling:
Shopify records the product at full price ($50) and the discount as a separate line item (-$10). The sale is tracked as: “$50 product + $10 discount = $40 total.”
Analytics impact:
Gross revenue correctly shows $50 per product. The discount is tracked separately. Financial reporting is accurate.
Comparison: 8 Key Dimensions
| Dimension | Compare at Price | Discount Code | Winner |
|———–|—————–|—————|——–|
| Setup complexity | Simple (one field) | Moderate (create code + rules) | Compare at Price |
| Analytics accuracy | Poor (distorts gross revenue) | Excellent (tracks discount separately) | Discount Code |
| Automation potential | Manual per product | Can automate via Shopify Discounts | Discount Code |
| Multi-channel capability | Only on Shopify | Can work via links, codes, automation | Discount Code |
| Customer experience | Sees savings on product page | Sees savings only at checkout | Compare at Price |
| Revert effort | High (must manually revert each product) | Low (disable discount code) | Discount Code |
| Variant handling | Works per variant | Works across all variants | Tie |
| Multi-promotion support | Difficult (price conflicts) | Can stack up to 5 codes | Discount Code |
Winner overall: Discount Code — Better analytics, more flexibility, easier to manage.
Compare at Price advantage: Customer visibility — If you don’t use an app like Adsgun to display discounts, compare at price shows the discount on product pages.
When to Use Compare at Price

Compare at price makes sense in limited scenarios:
1. Permanent price reductions
Your costs dropped; you’re permanently lowering price. This isn’t a promotional discount; it’s a real price change. Use compare at price to document the old price (for context) and the new price (current retail).
2. One-off markdowns
A product isn’t selling. You mark it down from $50 to $35 permanently (not a limited promotion). Use compare at price. Document the old retail.
3. Clearance items
End-of-season clearance: products were $100, now $25 for final sale. Use compare at price to show the original price and final clearance price.
When not to use: Any promotion with a future end date, any time-limited offer, anything you’ll revert.
When to Use Discount Codes
Discount codes (or automatic discounts) are better for:
1. Promotional campaigns — “Summer Sale 20% Off” (limited to June-August). Use discount code. Revert easily on Sept 1.
2. Influencer codes — Each influencer gets a unique code. Track which influencer drove revenue. Use discount code.
3. Channel-specific offers — Email subscribers get 15% off. Paid ad traffic gets 10% off. Use discount codes (or URL-targeted).
4. Customer segments — VIP members get 20% off. Use automatic discounts targeting customer tags.
5. Time-limited flash sales — 24-hour flash sale, then revert. Use discount codes with schedulers.
6. Stacking multiple promotions — Combine “20% off” + “free shipping” + “10% bulk discount.” Use discount codes (up to 5 stack).
The Hybrid Problem: Mixing Compare at Price and Discount Codes
Some stores use both simultaneously:
- Base products have compare at price set (documented old price)
- Active promotions are discount codes (time-limited)
Problem: Customers see both at once, which is confusing.
Product page shows: ~~$100~~ $70 (compare at price reduction)
Checkout shows: $70 – $14 (discount code 20% off) = $56 total
Customers don’t understand. Is the product $70 or $56? Are they getting both discounts?
Solution: Don’t mix them. Choose one approach and stick to it:
- For permanent prices: Use compare at price
- For promotions: Use discount codes (never compare at price for promotions)
The Clean Solution: Real Discounts + Visible Display
The best approach for modern Shopify stores:
- Use real Shopify discounts (discount codes or automatic discounts) — ensures accurate analytics
- Display them visibly (via Adsgun) — shows strike-through pricing on product pages, not just checkout
- Never use compare at price for promotions — reserve it for permanent price changes only
This gives you:
- Accurate financial reporting (discounts tracked separately)
- Customer visibility (pricing visible everywhere)
- Easy management (enable/disable in one place)
- Flexibility (time limits, stacking, multi-channel)
FAQ: Common Compare at Price & Discount Code Questions
Q: Can I use compare at price and discount codes together?
A: Technically yes, but it confuses customers. Use one or the other, not both.
Q: Does compare at price show on collection pages?
A: Usually yes, but it depends on your theme. Some themes don’t display compare at price. See full comparison at price guide for troubleshooting.
Q: Can I automatically revert compare at price after a set date?
A: No. Compare at price requires manual revert. This is a major disadvantage for time-limited promotions. Use discount codes instead.
Q: What if I want to show the discount on product pages, not just checkout?
A: Use a display app like Adsgun. It displays discount codes as strike-through pricing on product pages, collections, and cart — without you having to use compare at price.
Q: Which affects gross revenue more, compare at price or discount codes?
A: Compare at price distorts it (it changes the product’s recorded price). Discount codes are transparent (discount is tracked separately, gross revenue is accurate).
Audit Your Current Pricing Strategy
If you’re using compare at price for active promotions, now’s the time to migrate:
- Audit products: Identify which have compare at price set
- Categorize: Which are permanent markdowns? Which are temporary promotions?
- For permanent markdowns: Keep compare at price. No action needed.
- For temporary promotions: Create a discount code instead. Revert the compare at price.
- Test: Verify pricing displays correctly on product pages and checkout.
This transition takes time (especially if you have 1,000+ products), but the analytics accuracy payoff is worth it.
Why Accuracy Matters
At the end of the year, you need to know your true gross revenue, COGS, and profit margins.
If your prices are distorted via compare at price, your financial reports are distorted. You might think you’re at 45% margin when you’re actually at 40%. This misleads decision-making.
Real discounts (codes) tracked separately give you clean data for decision-making.
Start Using Real Discounts Today
If you’re running promotions with compare at price, switch to discount codes. Set a scheduler so the code disables automatically. Use Adsgun to display the discount on product pages.
Your analytics will thank you.
—