A discount code that is genuinely current can still fail at checkout. The rules attached to it are evaluated against the basket, and most of those rules are never published.

Codes are built with conditions

A promotion is configured with a set of restrictions covering which products qualify, which brands are excluded, and what the basket must total before it applies.

Those conditions exist because a blanket discount would apply to items already sold at low margin, where a further reduction would put them below cost.

The checkout evaluates each rule against the basket and reports only a general failure, since listing the exact reason would reveal how the promotion was built.

The margin logic behind exclusions

Retailers hold very different margins across their range, and categories such as consoles, appliances and premium electronics are typically the thinnest.

Those categories appear on nearly every exclusion list, not out of arbitrariness but because the discount would exceed the margin available on them.

Brands sometimes impose the restriction themselves, requiring retailers not to discount their products below an agreed level as a condition of supply.

Customer-level conditions

Many codes are restricted to new customers, to accounts that have not ordered recently, or to a single use per person or per household.

The check is usually made against an email address, a payment method or a delivery address, so a new account alone does not always satisfy it.

Codes intended for a particular audience, such as students or members of a scheme, are validated against that eligibility rather than simply typed in.

Why codes leak beyond their audience

Promotions are distributed by email, through partners and through affiliate networks, and any code sent to a large group will be posted publicly within hours.

Retailers accept this because generating individual codes for every recipient costs more to administer than the leakage costs in margin.

Where leakage becomes expensive, they switch to single-use codes tied to an account, which is why some promotions cannot be shared at all.

Stacking and the order of application

Most checkouts accept one code per order, because promotions are configured to be exclusive of each other by default.

Where more than one discount does apply, the order matters, since a percentage applied before a fixed amount produces a different total than the reverse.

Codes are also generally applied before delivery charges and taxes, which is why the reduction on the final total is smaller than the code implies.