The discount paradox: Why your margins are shrinking (even when sales are up)

1. The thing about discounts nobody talks about
A merchant we spoke with recently had a familiar problem.
Traffic was up 40% from the previous year. Orders were growing. But margins were shrinking. They were making less money on more sales, and couldn't figure out why.
We asked what discounts they were running.
Their store had a pop-up: "Welcome! 10% off your first order."
On product pages: "Buy 2, save 5%. Buy 3, save 10%."
On the cart page: "Spend $50 more for free shipping."
At checkout: a coupon code box that got used on about 30% of orders, codes from Honey, from RetailMeNot, and from coupon sites.
When we asked who these discounts were designed for, the answer was simple: "Everyone, I guess".
That's the problem in a nutshell: discounts have become an automatic reflex, not a strategy. Not because merchants don't know better — most do. But in the relentless pace of ecommerce, where flash sales, competitor promotions, and seasonal rushes pile up back to back, the priority shifts to moving product fast. Everyone does it, everyone expects it. And somewhere in that rhythm, the finer question of who actually needs a discount and who would've bought anyway gets pushed aside. Over time, that habit quietly erodes the margins of thousands of Shopify stores.

Most merchants spend heavily on Meta, Google, and TikTok to acquire customers - $30, $40, $50 per customer, depending on the niche. They're paying for attention, for clicks, for visits.
And when those visitors land on their site, to ensure they don't lose customers at any stage, they often offer visitors a discount — 10% off, 15% off, sometimes more.
Think about that. Merchants pay to bring someone to their store, someone ready to buy, and then hand them free money.
Why?
The answers are almost always the same: "Everyone else does it." "Customers expect it." "We've always done it that way." "Our conversion rate would drop if we stopped."
None of these is a strategy. They're defaults — reasonable ones, built up over time in a market where discounting became the norm rather than the exception. And here's the thing: this habit isn't just something customers have developed. It's something merchants have developed too, running discounts because "that's what everyone does", without asking whether it's actually working for their business.
Industry experts call this "blind discounting".
What is blind discounting?
Blind discounting is the practice of offering the same discount to every visitor, regardless of whether they would have purchased at full price. It's called "blind" because merchants have no visibility into who actually needs the incentive, and who would have bought anyway.
The paradox is this: Discounts were designed as a tool, a lever to pull when clearing inventory, acquiring new customers, or rewarding loyal buyers. But somewhere along the way, they stopped being a tool merchants used and became a default — something merchants reach for not because it's the right tool for the moment, but because it's always been there.
Today, most merchants don't really choose their margins anymore. Their discounts do.
Three things this article will cover:
How did discounts quietly take control of pricing decisions?
Why do so many merchants have no idea where their codes are actually being used, and how browser extensions like Honey are making it worse?
What does it look like to move from reactive discounts to something more strategic?
If any of this feels familiar, read on.
2. Wait, how did discounting get so complicated?
2.1 Customers now play the waiting game
Years of constant promotions have trained customers to wait for sales. Black Friday. Cyber Monday. Prime Day. Singles' Day. Back to School. Flash sales. Sitewide sales. VIP sales. Secret sales.
It never stops.

Now, a significant portion of shoppers add items to their cart and simply… wait. They know that if they're patient, a sale will come. Maybe next week. Maybe next month. But it'll come.
This puts merchants in a difficult position. Run sales constantly, and margins compress, and brand premium weakens. Hold firm on pricing, and customers either wait… or buy from another store that offers discounts. Neither option feels good.
Remember when online shopping felt like browsing? You'd wander into a store, see something cool, and buy it on a whim?
Those days are fading.
According to Opensend, the average shopper now takes 41 days from first site visit to final purchase. During that window, customers typically need 6 to 8 touchpoints across different channels before they're ready to buy. They visit, leave, come back, compare prices, read reviews, check competitors, leave again, come back, maybe eventually buy. For some, the journey stretches even longer. 10% of shoppers take over 120 days to complete a purchase.
This isn't impulse anymore. It's research. And these customers aren't just comparing your prices to your competitors. They're stacking rewards, combining coupons, using cashback apps, optimizing their savings like a sport.
2.2 The browser coupon extensions skimming your margin
Here's something that still surprises merchants when we mention it.
Browser extensions like Honey and Capital One Shopping, designed to "help customers find the best deals", scan merchant sites constantly. When a customer reaches checkout, these extensions automatically test every discount code they've ever seen, from your site, from coupon forums, from anywhere.

Remember that "WELCOME10" code you created three months ago? It's probably still out there. Still being used, still costing you 10% on orders that would have happened anyway.
An interesting data point: Seguno recently analyzed 162,000 discount code sets across thousands of Shopify stores. They found that the smartest brands let 46% of their codes expire unused.
Not because the codes didn't work. But letting codes expire, strategically and intentionally, stops them from living forever on coupon sites. It breaks the cycle of customers waiting for the next sale. It gives merchants back a tiny bit of control.
Most codes never expire. The top brands do things differently.
2.3 And yes, promotion regulators got involved
Just to make things more complicated, European regulators decided to get involved.
The Omnibus Directive, which took effect in May 2022, requires that any promotion in Europe display the lowest price at which the product has been sold in the last 30 days. Not the "original" price. Not the "compare at" price. The actual lowest price from the last month.
According to Pricer's analysis, any infringement can result in penalties under the heading of misleading commercial practice, up to two years' imprisonment and a fine of 300,000 euros. For growing brands, non-compliance isn't just risky. It's catastrophic.
So here's where we are: Merchants can still create discount programs. They can set the rules, choose the percentages, and pick the products. But they no longer fully control where their codes get shared, which customers actually need the discount, or whether discount-driven customers will ever come back at full price. That gap is getting wider.
📌Learn more:
We recently published a comprehensive article discussing AI traffic, agentic checkout, and bot traffic. Read the full piece here if these topics are on your list:
3. The "high-intent" trap (and why most merchants fall into it)

Here's what's happening.
Most merchants treat all visitors the same. They don't distinguish between someone ready to buy and someone just browsing. They offer the same discounts to both.
If a customer does this… | It usually means… | And this is what actually works |
|---|---|---|
Product -> Cart -> Checkout, fast | Ready to buy at full price | No discount (just get out of their way) |
Adds to cart, then drifts off | Using cart as wishlist; interested but not committed | Maybe a discount, but carefully timed |
Leaves before checkout starts | No email captured, can’t reach them later | Need to act during the session, or they’re gone |
Leaves after entering email | Email captured; can retarget | Recovery flows work here |
A critical distinction: Cart abandonment and checkout abandonment are not the same thing.
If someone leaves before checkout starts, there's usually no way to reach them later, no email, no retargeting, unless they were logged into their account. The only shot is during that session.
If someone leaves after entering their email, follow-up is possible. A recovery email, a small incentive, there are options.
Most merchants treat these identically. Same discount. Same approach. Same wasted margin.
The short version: High-intent traffic doesn't need a discount. It needs a smooth checkout and maybe a well-timed upsell. Walkaway traffic might need a discount—but only the right one, at the right moment. If you're not distinguishing between these groups, you're leaving money on the table.
Learn more: We recently published a comprehensive article discussing AI traffic. Read the full piece here if that topic is on your list.
⚠️ Shopify Scripts update: A quick heads-up
If you're still using Shopify Scripts for complex discounts — tiered pricing, buy-more-save-more, conditional offers — there's an important deadline. Shopify is sunsetting Scripts on June 30, 2026. After that, any discount built on Scripts will stop working.
The good news is that Shopify has been building out native discount capabilities through Shopify Functions, which now support many complex discount types directly within the platform. For merchants who need even more flexibility, the Shopify App Store offers a range of discount apps that integrate natively with Shopify's checkout.
If you're still running Scripts, now is the time to audit what you have and plan your migration.
4. What actually works now: A practical framework
4.1 Use case: Abandoned cart recovery with single-use codes
Instead of offering a blanket "10% off your next order" to everyone who abandons cart:
Segment by behavior: Did they leave before or after entering email?
If after: Send a personalized email with a dynamic, single-use code valid for 48 hours.
Track: Monitor redemption rates. If codes are being shared, switch to tighter expiration windows.
One merchant using this approach reduced coupon leakage by over 60% in three months.
4.2 Don't give away 10% the moment someone lands on your site
Instead of a pop-up that gives 10% off immediately:
Delay the offer: Show the discount after they've browsed for 30 seconds or scrolled past the fold.
Capture the email first: "Get 10% off when you sign up."
Send the code via email: This ensures you have a way to reach them later, even if they don't buy today.
The result? You still acquire the customer. You still have an incentive. But you're not handing out discounts to people who would have bought anyway.
4.3 Segment customers by behavior, then tailor discounts accordingly
The shift: Move from "10% off for everyone, always" to figuring out who actually needs a discount.
How to execute: Instead of trying to track real-time browsing behavior (which is difficult to action), focus on segments you can actually reach:
Customers who haven't purchased in 30–60 days
Customers with items left in cart (where email was captured)
Customers who have made multiple purchases but haven't returned recently
First-time visitors who can be targeted with welcome offers that don't apply to everyone
The tactical move: Use dynamic, single-use discount codes. Not static codes.
Static codes get harvested. They spread. They leak margin forever. Dynamic codes, generated per customer, unique to each recipient, expiring quickly, can't be shared. They only work for the person who received them, right when they need them.
This one change eliminates most coupon leakage. Not all, but most.
For merchants who need to implement dynamic codes or complex discount structures without custom development, third-party apps can be a practical solution. The Shopify App Store offers a range of options that integrate natively with checkout, handling everything from volume discounts to tiered pricing and single-use codes. Qikify Quantity Discount is one such example, designed to make these setups straightforward and code-free.
4.4 Adapt discount rules by market
If you sell across multiple regions, creating separated discounts rules by market can bring performance impacts.
Simple observation: Customers in the US often buy in larger quantities. Free shipping thresholds are lower. Average order values are higher.
Customers in other markets, Southeast Asia, Eastern Europe, and parts of Latin America, behave differently. Shipping costs more. Price sensitivity is higher. The same "buy 3, save 10%" offer might feel out of reach.
Simple fix: Set different discount rules for different markets.
You don't need custom code for this. Modern Shopify apps let you adapt logic by region, higher thresholds for high-AOV markets, and lower thresholds for price-sensitive ones.
It's not about treating anyone unfairly. It's about meeting customers where they are.
4.5 Use the moment after "Add to Cart"
Once a customer decides to buy, they're actually more open to additional offers. Not less.
Smart merchants use this moment, the window between "add to cart" and "complete purchase", to:
Recommend complementary products
Offer product bundle deals on add-ons
Suggest "frequently bought together" items
Each of these increases order value without cutting margin on the main purchase. If you just gave someone 10% off to close the sale, you can earn that margin back—and more—with one good upsell.
4.6 Automate Omnibus compliance
For the Omnibus Directive, the requirement is straightforward: when a product is on sale, display the lowest price from the last 30 days alongside the current promotional price.
Most Shopify apps now handle this automatically. If you're selling to EU customers, make sure yours does.
5. Beyond discounts: Alternative strategies that work
This section is written by the team at Koin, a Shopify-native store credit and loyalty app.
When we talk to merchants, one question comes up constantly: "If I stop running discounts, how do I keep customers engaged?"
The short answer: stop trying to buy their next order and start earning their next visit.
Discounts are transactional. They work once, for that moment. Loyalty is relational. It's built on how customers feel about your brand between purchases, not just at checkout. Store credit, gift cards, free gifts, and early access, these create a reason to come back that isn't just a lower price.
And here's the thing, discounts can't do: make customers feel like insiders. Value can.
5.1 Store credit flips the entire dynamic

Store credit is exactly what it sounds like: credit issued to a customer's account that they can use on future purchases. Unlike a discount, which reduces the price of the current order, store credit preserves the full value of the first transaction while giving the customer a reason to come back.
Now imagine the same customer, but with store credit.
They add items to cart. They go to checkout. At the bottom of the page, they see: "Earn 10% back in store credit on this purchase."
They complete the transaction. You keep your full margin. No discount applied.
Three days later, they get an email: "Your $15 store credit is ready for your next order."
They come back. They browse. They find something else they like. They use their credit. They buy again.
You've turned one transaction into a relationship, without ever discounting the first sale.
The psychological difference matters: Discounts teach customers to wait, while store credit teaches customers to return.
That's not just semantics. That's a fundamental shift in how you structure the customer relationship.
A real example: Witch, Please!

The results after two months:
777 orders placed using store credit
$34,157 in sales from credit redemptions
Joe's takeaway was simple: "It's straightforward and much easier for customers to understand".
Based on our internal data from merchants like Witch, Please!, those who switch to store credit consistently report:
Higher repeat purchase rates compared to when they relied solely on discounts
Better margins on first transactions
Stronger LTV over 6–12 months
Less dependency on seasonal sales events
Fewer support tickets related to rewards confusion
5.2 Other alternatives worth considering
Strategy | How it works | Why it wins |
|---|---|---|
Customers purchase gift cards for themselves or others; revenue captured upfront | Prepaid revenue drives a second visit when redeemed, with minimal margin impact | |
Exclusive Programs | Early access to new products, members-only collections, VIP tiers | High perceived value, low cost, builds community without discounting |
Free Gift with Purchase | "Spend $75, receive a free gift" or "Buy two items, get a free accessory." | Encourages higher AOV, manages margin by controlling gift cost |
Buy X, Get Y (BXGY) | "Buy one, get one 50% off" or "Buy two, get one free" | Encourages volume without devaluing individual items; maintains margin on first unit |
📊 Metric worth tracking
Instead of obsessing over total orders with discounts or coupon usage rates, shift focus to:
Protected margin: Revenue from high-intent customers who weren't discounted
Walkaway recovery rate: % of lapsed customers saved by targeted discounts
Coupon leakage: How often your codes appear on third-party sites
Code expiration rate: % of codes that expire unused
Store credit redemption rate: How quickly customers return to redeem credit
Omnibus compliance rate: Must be 100% in EU markets
6. Putting it all together
A few years ago, winning in eCommerce meant being the loudest. Biggest discounts. Most aggressive promotions.
That playbook doesn't work anymore.

Discounts were supposed to drive growth, but they quietly took over pricing decisions. Most merchants don't choose their margins anymore. Their promotions do.
The real risk isn't discounting. It's losing visibility. Technical blind spots from legacy systems like Shopify Scripts. Distribution blind spots where codes spread uncontrollably. Compliance blind spots that can lead to fines.
A better approach exists. Moving from blind to intent-based discounting. Using dynamic codes. Adapting logic for different markets. Leveraging the moment after "add to cart" to increase order value.
And considering alternatives - store credit, gift cards, exclusive programs, free gifts, BXGY offers - that can drive loyalty without eroding margin.
The merchants who navigate this successfully:
Distinguish between high-intent and walkaway customers
Automate discount rules without losing oversight
Migrate off legacy technology before deadlines
Replace blanket discounts with smarter alternatives
Measure what matters: protected margin, expiration rates, long-term loyalty
In 2026, the advantage doesn't go to the merchant who discounts the most. It goes to the merchant who discounts the smartest and knows when to offer value beyond the discount entirely.
Tools referenced in this article
This article is part of the "Taking Back Control in a More Complex Ecommerce World." series. In the next edition, we'll explore how personalization is reshaping customer expectations, and what it takes to get it right without adding complexity to your operations.
See you there.

TABLE OF CONTENT

