Playbook · Discount code not applying
Shopify discount code not applying at checkout — combinations, eligibility, Buy X Get Y, Scripts/Functions.
Written for a Shopify DTC owner whose discount code rejects at checkout, shows “not valid,” or never reduces the total. DIY-first: prove Active status and cart eligibility, combination rules, customer eligibility, Buy X Get Y quantities, Scripts / Functions conflicts. Distinct from checkout shipping rates wrong, payment pending email not sending, abandoned checkout email not sending, and gift card email not sending. No earnings claims, no invented case studies.
Nico at Latch AI Ops · Sep 7, 2026 · ~12 minute read
Buy the 72-hour install — $997Shipping rates wrongPayment pendingGift card silenceMerchant FAQ
01
Discount code not applying — not shipping rates, not payment pending, not abandoned checkout, not gift card.
Several products can look like “checkout will not take the code.” They do not share a settings panel. This page is only when a discount code will not apply, rejects, or never reduces the cart at checkout. Missing or wrong shipping methods are checkout shipping rates wrong. Authorization / payment-pending mail is payment pending email not sending. Recovery mail silence after an abandoned cart is abandoned checkout email not sending. Gift card issue / delivery mail is gift card email not sending. This page is only: discount code not applying at checkout.
Seven ordinary reasons codes fail: the discount is expired / Draft / usage-capped, combination rules block stacking with an automatic discount already on the cart, customer eligibility requires a logged-in segment the buyer is not in, Buy X Get Y quantities or product sets are not met, Shopify Scripts or Shopify Functions override / block codes, minimum purchase or shipping-only discounts do not match the cart, or you are testing a gift card / shipping rate / abandoned recovery path instead. Walk them in that order. You already pay for Shopify Discounts. You do not need another promo SaaS seat to open the discount.
02
Prove the code, dates, limits, and cart.
Open Discounts. Find the exact code string buyers type (case usually does not matter; typos do). Confirm status is Active — not Scheduled, Expired, or Draft. Check start and end dates in the store timezone. Check total usage limit and once-per-customer if set. Confirm the discount type: amount off products / order / shipping, or Buy X Get Y.
Honest proof: add the eligible products in an incognito window, enter the code on the discount field at checkout (or the cart drawer if that is where your theme applies codes), screenshot the rejection or the total that never changes. Note whether an automatic discount is already applied — that matters for combinations next.
03
Discount combinations and stacking rules.
Shopify combination settings decide whether a code can stack with product discounts, order discounts, and shipping discounts. If the cart already has an automatic “10% off sitewide” and your code’s Combinations toggle does not allow product + order (or whichever pair you need), checkout rejects the code even when the code is Active. Open the discount → Combinations. Match the other discounts that actually fire on that cart.
Fix: either enable the needed combination, or turn off the automatic discount for a clean test. Do not stack three overlapping automatic discounts “to be safe” — buyers see random totals and support tickets. One clear owner for the cart’s promo stack.
04
Customer eligibility and login state.
Discounts can be limited to specific customer segments, tagged customers, or a customer list. A guest checkout will never match a “VIP / logged-in only” eligibility rule. Once-per-customer also rejects a buyer who already redeemed that code on another order (including a test order you forgot).
Fix: for DIY proof, use a customer account that is in the segment, or temporarily set eligibility to All customers, retest, then restore the segment. Confirm the email on the order matches the tagged customer. Gift cards are a different product — if the “code” is a gift card balance, that is gift card email not sending territory for delivery issues, not this discount page.
05
Buy X Get Y quantities and product sets.
Buy X Get Y only applies when the cart holds the required quantity of customer-gets and customer-buys products (or collections). A code that looks “broken” often fails because the buyer has one item when X is two, the Y product is out of the “Gets” set, or the free/discounted item is the highest-priced SKU while the rule applies to the lowest. Open the Buy X Get Y configuration and match the cart line items exactly.
Fix: add the exact Buy set and Get set quantities in a test cart. Prefer collections that stay current when you launch new SKUs. Screenshot the discount admin next to the cart lines when debugging with support or a VA.
06
Shopify Scripts / Functions conflicts.
Plus stores may still run Shopify Scripts; many stores now use Shopify Functions (discount / cart transform apps). A Script or Function can reject discount codes, rewrite line prices so a code looks unused, or only allow codes that match a custom allowlist. If admin “Test” on the discount looks fine but live checkout rejects the same string, check Apps for discount Function apps and (on Plus) Script Editor.
Temporary DIY: disable the conflicting Function / Script in a development or low-traffic window, retest the code, then restore with an explicit allowlist. Do not leave two discount engines fighting — native Discounts plus an unchecked Function is a common “code never applies” failure mode. Checkout shipping rate apps are a different panel — see checkout shipping rates wrong.
07
Minimum purchase, shipping discounts, and sales channel.
Minimum purchase / quantity requirements reject carts under the threshold. Amount-off-shipping codes do nothing if the cart has free shipping already, or if shipping is calculated after the discount field and the theme hides the result. Sales channel limits (Online Store only vs POS) also reject a code entered in the wrong channel.
Fix: test just under and just over the minimum. For shipping discounts, confirm a paid shipping rate exists first — blank rates are checkout shipping rates wrong, not a discount bug. Confirm the discount’s sales channels include Online Store (or POS, if that is where you tested).
08
You tested shipping rates, payment pending, abandoned checkout, or gift card instead.
Blank or wrong shipping methods at checkout are checkout shipping rates wrong. Payment pending / authorization mail silence is payment pending email not sending. Abandoned cart recovery mail silence is abandoned checkout email not sending (late/duplicate recovery is abandoned checkout). Gift card issue / delivery mail is gift card email not sending.
The only honest test for this page: Active discount, eligible cart, combination rules, customer eligibility / login, Buy X Get Y quantities, Scripts / Functions health, and minimum / channel settings. Anything else is a different product.
09
When to stay DIY vs pay $997.
Stay DIY if you can spend one afternoon on the list above: prove the code, fix combinations and eligibility, correct Buy X Get Y, resolve Scripts / Functions conflicts, and clear minimum / channel mismatches. That is the whole playbook. No agency required. Short answers also live on the merchant FAQ. Related pages: checkout shipping rates wrong, payment pending email not sending, abandoned checkout email not sending, gift card email not sending.
Pay for help when the work is not the Discounts toggle — it is connecting the stack you already have so lead capture is not dying in DMs, checkout-ready and promo exceptions land in a channel you already check, and the live store is one workflow instead of a spreadsheet plus a Slack bot you forgot. That is the Latch AI Ops install.
What $997 USD one-time buys: lead capture on the live store, ops alerts in a channel you already check, and a checkout-ready workflow. 72 hours after collaborator access, not after payment. One live Shopify store. Access plus a delivery thread. Store URL collected at checkout. Not a SaaS seat, not a discount-app retainer, not a Scripts rewrite project, not a brand or theme job.
Other shops’ public ranges, not testimonials: a checkout / ops install typically runs $500–$2,500. A full ops consulting block typically runs $2,000–$5,000. $997 is the cheap end of that work, sold as a 72-hour install of three systems — not as an earnings number or conversion-lift claim.
What it does not buy: more orders, recovered revenue, perfect discount codes forever, or a case study. Latch AI Ops has not published customer proof because there are no customers yet. You are buying the install.
Checkout is on Whop. Operator is Nico. United States offer. You can revoke collaborator access after handoff. We do not take owner passwords.