Why Your Promo Code Isn’t Working (and How to Fix It)
Your promo code got rejected at checkout. Here are the six real reasons codes fail, how to fix each one fast, and how to pick a code that actually works.
You found a code, typed it into the box, hit apply, and got a flat red “This code is not valid.” Nothing changed. The cart total sat there, unbothered.
Before you assume the code is fake or the site is broken, know this: most rejected codes fail for one of six ordinary, fixable reasons. None of them require a support ticket. Once you can recognize which one you hit, the fix usually takes only a few seconds. Here’s the full list, in roughly the order they trip people up.
1. The code expired
This is the most common reason, and it’s the least visible. A code that worked for someone a few weeks ago can be dead today, and the checkout box won’t tell you why it’s rejecting you. It just says invalid.
Expiration is also why we don’t stamp a hard “valid until” date on codes and call it a day. Stores rarely publish real end dates, and when they do, they change them without warning. So instead of pretending we know the exact expiry, every code on our deals pages shows when it was last confirmed working by a real person, plus a confidence score. A code confirmed a few hours ago is a safer bet than one nobody has touched in months. If the last-confirmed date is old and the confidence is low, that’s your sign to skip it and grab a fresher one.
2. You haven’t hit the minimum spend
Plenty of codes only unlock above a spending threshold, something like “orders over a set amount.” If your cart is under that line, the code is technically valid but won’t apply, and some checkouts report that as an error rather than explaining the shortfall.
The fix is quick. Look at the code’s description for a minimum, then check your subtotal. If you’re a little short and the discount is worth it, adding one more item can still leave you ahead. If it doesn’t, the code simply isn’t meant for a cart your size. Move on.
3. It’s a first-order or new-customer code
Welcome offers are everywhere, and they’re locked to accounts that have never bought before. If you’ve ordered from this store on this email, a first-order code will bounce, even if you’re logged out. Many stores tie the offer to your email or payment method, not just your login state.
Signs you’re looking at a new-customer-only code: language like “your first order,” “new customers,” or “welcome,” or a discount that feels unusually generous. Those bigger numbers often come with the new-customer string attached. If you already have an account, this code was never going to work for you, and no amount of retyping changes that.
4. Your items are excluded
Exclusions are the sneakiest failure because the code often looks like it applied. Sale items, new arrivals, specific brands, gift cards, and clearance stock are the usual carve-outs. If everything in your cart falls into an excluded category, the discount lands on zero eligible items, so the total doesn’t move even though the code was accepted.
Check the fine print for “excludes sale items” or “select brands only.” Then look at whether your cart is mostly already-discounted stuff. A common trap: a sitewide-sounding code that quietly excludes the one thing on sale you actually wanted. If that’s the case, you sometimes have to choose between the existing sale price and the code, because stores rarely let you stack both.
5. One code per order (no stacking)
Almost every checkout allows exactly one promo code per order. If you already applied a code, or if a discount auto-applied when you added an item, a second code will get rejected. The box isn’t broken; the slot is just taken.
Clear whatever code is already in the field, then apply the one you actually want and compare. Sometimes the auto-applied discount beats the code you were about to enter. Sometimes it doesn’t. You usually can’t have both, so it’s worth a few seconds to check which single code wins.
6. A typo, or a copy-paste that grabbed a space
The dullest reason, and more common than anyone admits. Codes are case-sensitive on some sites, and copy-pasting from a page will occasionally drag along a leading or trailing space that quietly breaks the match. The character that looks like a zero might be a letter O.
Type the code by hand instead of pasting it. Match the capitalization exactly. Delete any space before or after it in the box. This one fix resolves a surprising share of “the code doesn’t work” moments, so it’s worth trying before you give up on an otherwise good code.
A quick checklist when a code fails
Run through these in order. Most rejections resolve before you reach the bottom:
- Retype it by hand. Kill any stray spaces, and match the case exactly.
- Check the minimum spend. Is your subtotal above the threshold in the code’s description?
- Read the exclusions. Is your cart mostly sale, clearance, or excluded brands?
- Ask if it’s new-customer-only. Have you ordered here before on this email?
- Remove any code already applied. One code per order, so clear the slot first.
- Look at the last-confirmed date. If it’s old and confidence is low, it’s probably expired.
How to pick a code that’s more likely to work
You can dodge most of this by choosing well before you ever hit apply. We don’t auto-test checkouts and we won’t pretend we do. What we do is lean on real people who report back whether a code worked, and we surface that honestly so you can judge for yourself.
Two things are worth reading on any code before you try it. The confidence score reflects how community reports have trended, so a higher score means more people recently got it to work. The last-confirmed timestamp tells you how fresh that signal is. A code confirmed recently with high confidence is worth your first attempt. A stale, low-confidence code is worth skipping, even if the headline discount looks bigger. A slightly smaller discount that actually applies beats a huge one that bounces every time. You can read more about how we work, and why we refuse to fake test results, on our about page.
Codes aren’t guaranteed. Stores change rules without notice, and even a code that worked an hour ago can stop. But if you read the confidence and the last-confirmed date before you try, and you run the checklist when something bounces, you’ll spend a lot less time staring at a red error message and a lot more time actually checking out. Start with the fresh, high-confidence codes on our deals pages, and if you want a specific kind of offer, browse a deal type like free shipping and work down from there.
Frequently asked questions
Why does a promo code work for someone else but not for me?
Usually because the code has a condition you don't meet. First-order codes only work for new customers, so if you've ordered from that store before, it will reject you even if the other person got it to work. Minimum-spend and exclusion rules also depend on what's in your specific cart, so the same code can pass for one shopper and fail for another.
The site says my code is invalid. Does that mean it's fake?
Not necessarily. "Invalid" is a catch-all message. It can mean expired, below the minimum spend, new-customer-only, or that your items are excluded. It can also just be a typo or a copied space. Run the quick checklist above before you write the code off entirely.
What does the confidence score actually mean?
It reflects how recent community reports have trended for that code. A higher score means more people recently got it to work. It's a signal, not a guarantee, because we don't auto-test checkouts and stores can change their rules at any time. Pair it with the last-confirmed date to judge how safe a code is before you try it.
Why can't I stack two codes on one order?
Almost every checkout allows exactly one promo code per order. If a discount already auto-applied when you added an item, that fills the slot, so a second code gets rejected. Clear the existing code, apply the one you want, and compare which single discount actually saves you more.
How do I know if a code is expired before I try it?
Check the last-confirmed date. Stores rarely publish real expiry dates, so instead of guessing, we show when a real person last confirmed the code worked. If that date is old and the confidence score is low, the code has most likely expired and you're better off grabbing a fresher one.
