Frugalissimo

Verified coupons. Real savings.

9 min read

How to Read a Coupon Code and Spot a Fake Discount

Inflated reference prices, exclusion fine print, and expired codes masquerading as active. Here's how I tell a trustworthy coupon from a trap.

I spent most of 2021 feeling clever at checkout. I’d paste a code, watch $20 disappear off the total, and close the tab with a little hit of smugness. Then one Sunday in March I was about to buy a $68 set of pans from a site I won’t name, and out of habit I pulled up Amazon to compare. Same pans. $54. No coupon needed. The “30% off” I was about to triumphantly apply was going to leave me paying $48 — six dollars more than the boring Amazon price, minus the hour I’d spent finding the coupon.

That was the moment I stopped trusting discount math. A coupon is a story the retailer tells you about what a thing is worth. My job as a shopper is to check whether the story holds.

Most of the codes I see are fine. Some are traps. The ones that are traps share a handful of patterns, and once you’ve been burned two or three times you can read a coupon page the way a mechanic reads an engine noise.

Four shapes of fake discount

Before the tells, the shapes. Every garbage coupon I’ve run into falls into one of four categories.

The phantom original price. A listing says “$120 → $60, 50% off!” but the item was never sold at $120 anywhere on this planet. Retailers set an inflated list price and “discount” from it. The FTC has rules about this. Enforcement is thin, and retailers know it. A discount is real only if the original price was real.

The exclusion trap. The code works. It just excludes the categories, brands, or items you wanted to buy. “20% off sitewide, excludes new arrivals, clearance, electronics, beauty, and select brands” is a coupon for almost nothing.

The minimum-order trap. The code makes you spend more than you planned, and the extra spending eats the savings. A $20-off-$100 code on a cart you would’ve left at $75 isn’t a $20 win. It’s a $5 loss.

The expired or geo-blocked code. Aggregator lists it as active. It isn’t. It expired two months ago, or it only works for customers in Canada, or the retailer revoked it when an influencer posted about it. You find out at checkout, after you’ve invested time.

Each of these has a signal. Here’s how I read them.

Tell 1. Price-check the reference number somewhere else

The single most useful trick I’ve got is also the dumbest. Before I use any code, I paste the product name into a second tab and see what it sells for elsewhere.

Camelcamelcamel tracks Amazon price history going back years. If the “was” price on the listing is $120 but the thing has been floating between $58 and $68 for six months on Amazon, the discount is fiction. You’re paying the normal price. Someone is telling you it’s a sale.

Keepa does the same job with a browser extension that drops a price graph right onto the product page. I installed it once in 2022 and it’s been the single highest-ROI extension I own.

Google Shopping covers everything else. Search the product name, sort by price, see what the competitive range is this week. If the “discounted” price at your retailer is anywhere near the median across other sellers, the discount isn’t doing work.

A discount is real only when the post-coupon price is below the current market range for the same product. Not below a made-up reference number.

Tell 2. Read the exclusions. I mean it.

Every coupon has fine print. Most of us skim it. I used to. The exclusions list is where retailers hide the catch, and the patterns are predictable enough to memorize.

When a promo code claims “sitewide” or “everything,” I scan for:

  • “Excludes sale items” or “excludes clearance”
  • “Excludes new arrivals”
  • “Excludes [specific brand list]”
  • “Excludes gift cards, subscriptions, and digital goods”
  • “Valid on regular-price items only”
  • “Cannot be combined with other offers”
  • “One per customer”
  • “Select items only”

Two of those are killers. “Excludes sale items” means the code doesn’t stack with any current promotion, which cancels most of the benefit. “Excludes select brands” almost always means every brand worth buying. A coupon carrying both exclusions is worthless in practice, and I’ve stopped pretending otherwise.

A coupon I trust has short, specific fine print. “20% off regular-price items, one use per customer, expires [date]” is honest. Four paragraphs hiding five carve-outs is a retailer telling you — in a polite voice — they don’t want to give you the discount on anything worth owning.

Tell 3. Watch the minimum-order threshold

Minimum-order coupons are fine if the threshold is close to where your cart already is. They become a trap when the threshold is meaningfully higher. The math is embarrassingly simple. If the coupon saves $X but makes you spend $Y more than you planned, the effective saving is $X minus $Y. Sometimes negative.

Trap version: “$15 off $75” when your cart sits at $50. To use the code you add $25 of merchandise you didn’t need. You “saved” $15 and spent an extra $25. Net result: $10 worse off.

Real version: “$15 off $75” when your cart is at $78. Fifteen dollars off a purchase you were making anyway. Straight savings.

My rule, after too many years of getting this wrong: never build a cart to hit a coupon threshold. Shop your list. Apply any code whose threshold you’ve already crossed. If nothing fits, let the coupon die.

Tell 4. Verification date and success rate

Aggregator sites vary wildly in how honest they are about coupon freshness. The good ones show two things in plain sight. The date the code was last verified, and a success rate from real users who tried it.

What I trust is a code verified in the last 7–14 days, with a success rate above 60%, on a site that lets users flag failures. Those signals mean the aggregator is cleaning up dead codes instead of running its catalog on autopilot.

What I don’t trust is a code with no verification date, no success rate, or a success rate that’s conspicuously missing. Some aggregators hide failure data because their traffic depends on having long coupon lists, not accurate ones. It’s a business decision, and it makes their entire page useless to me.

At Frugalissimo we stamp a verification date on every code and flag anything not successfully used in 30 days as “unverified.” That should be the floor for the whole category. A small but growing number of sites do the same. If you’re on one that doesn’t, treat every code as a coin flip.

Tell 5. Does the discount apply before or after shipping and tax?

This one tripped me up for an embarrassing stretch. A “20% off” code can mean several different things depending on where in the checkout math it lands.

Applied to the pre-shipping subtotal. Discount comes off the item price, then shipping and tax are calculated on the reduced amount. The good version.

Applied to the post-shipping subtotal. Discount comes off the combined item-plus-shipping total. Marginally better for you, rarely how retailers write it.

Applied only to specific line items. Discount only touches eligible items. If your cart has $50 of eligible items and $50 of excluded ones, a 20% code saves $10, not $20. Shoppers misread this constantly. I misread it for years.

Watch the order summary as you apply the code. The discount should land on its own line with a clear dollar figure. If that number doesn’t match what you expected, you’ve hit a line-item restriction.

What a trustworthy coupon looks like

After all that, the positive version. A coupon I’ll use usually has most of these:

  1. A clear expiration date you can see before clicking.
  2. A last-verified date within the past two weeks.
  3. Simple fine print under 100 words, with specific exclusions rather than vague catch-alls.
  4. A minimum-order threshold that’s either zero or close to a normal cart size for that retailer.
  5. A visible success rate from recent users, ideally north of 60%.
  6. A source I can name. The retailer’s own email, a curated aggregator with editorial standards, a forum where users confirm. Not a random SEO site that scraped 400 codes from nowhere.
  7. No exclusions for “sale items” or “select brands” — or if there are exclusions, they’re narrow and named.

A coupon that hits all seven is worth using. A coupon that fails three of them is almost always a distraction that burns your time for nothing.

A note on “auto-applied at checkout” extensions

I wrote a whole separate post about why Honey is dead, and I’ll say the short version here. Extensions that promise to test every coupon for you at checkout are making a claim you can’t verify from the user side. You never see which codes were tested, which were skipped, or whether the one that “worked” was the best available. The convenience is real. The opacity is a problem. The category’s track record is bad enough that the burden of proof now sits with the extension, not with the shopper. I was a Honey user for two years. I was wrong about it.

Hunting coupons manually costs me 30–60 seconds per checkout. I’ll take those seconds. I can see what’s happening.

The short version

When I’m about to use a code, I run five questions in my head.

  1. Is the reference price real, or inflated?
  2. Does the code apply to what’s in my cart?
  3. Does the minimum-order threshold force me to buy stuff I didn’t want?
  4. Was the code verified recently by somebody else?
  5. Is the final post-discount price below the market range for this product?

Five yeses, I use the code. Anything less, I keep shopping.


Reading a coupon is half the job. The other half is stacking savings once you’ve got a good code. My code stacking post covers the order of operations.

Browse verified coupons at Frugalissimo, all with visible verification dates and honest fine print.

Found this helpful? Share it with a friend who wants to save more money.

More from the Blog

Never miss a deal

Get the best coupons in your inbox

No spam. Unsubscribe anytime.