Playbook · Shopify Discount Function / automatic discounts not stacking
Shopify Discount Function / automatic discounts not stacking as expected — combinesWith, discount classes, apps.
Written for a Shopify owner or ops lead whose Discount Functions / automatic discounts apply fine alone but refuse to stack on the same cart (combinesWith, product / order / shipping discount classes, discount apps). DIY-first: prove each discount works alone; fix combinesWith and class rules; stop fighting a second discount app or a “never applying” bug. Distinct from discount code not applying, customer segment discount not applying, quantity breaks not showing, Scripts not applying after Plus, and Functions / automatic discount not applying. No earnings claims, no invented case studies.
Nico at Latch AI Ops · Sep 10, 2026 · ~11 minute read
Buy the 72-hour install — $997Functions never applyingDiscount codeMerchant FAQ
01
Discount Function / automatic discounts not stacking — not code reject, segment, quantity breaks, Scripts after Plus, Functions never applying.
Several products can look like “the second discount disappeared.” They do not share a settings panel. This page is only when a Shopify Discount Function or automatic discount applies correctly alone, a second discount also applies alone, but on the same cart they refuse to stack — one wins, one drops, or checkout shows only a single reduction. A typed discount code that rejects is discount code not applying. A customer-segment automatic that never fires for the segment is customer segment discount not applying. Quantity breaks / volume / BXGY UI missing on PDP or cart is quantity breaks not showing. Script Editor line-item scripts after Plus / Functions migration is Scripts not applying after Plus. Functions / Checkout UI / automatic discount that never applies at all (even alone) is Functions / automatic discount not applying. This page is only: Shopify Discount Function / automatic discounts not stacking as expected (Functions combinesWith, discount classes, apps).
Six ordinary reasons stacking never happens: combinesWith flags (order / product / shipping) disagree on one side; both discounts are the same class and Shopify only allows one winner; an app Discount Function publishes without productDiscounts / orderDiscounts / shippingDiscounts combination support; a second discount app overwrites combination rules; you are testing a code reject / segment / quantity-breaks / Scripts-after-Plus / never-applying bug instead of stacking; or Markets / customer eligibility silently drops the second discount on the live cart. Walk them in that order. You already pay for Shopify + the discount apps. You do not need another “promo SaaS” to prove two discounts that never combine.
02
Prove both discounts Active and eligible alone, then capture the non-stacking cart.
In Admin → Discounts (and Apps → discount / Functions apps), confirm each automatic / Function discount is Active (not draft, not expired, not usage-capped to zero). Note whether each is a product, order, or shipping discount class. Screenshot combination / combinesWith settings for both.
Reproduce on the live checkout (not only theme preview): (1) cart that should only hit discount A — total reduces; (2) cart that should only hit discount B — total reduces; (3) cart that should stack A+B — capture which line items / order / shipping reductions remain. If neither discount ever applies even alone, leave this page and use Functions / automatic discount not applying. If only a typed code rejects, open discount code not applying.
03
Fix combinesWith, discount classes, app combination rules, and conflicting discount apps.
Align combinesWith on both discounts: orderDiscounts, productDiscounts, and shippingDiscounts must allow the peer you expect. Same-class automatic discounts (two product discounts, two order discounts) often cannot stack without explicit Function / app support — Shopify picks a winner. Redeploy the Discount Function after changing combination config in the app or Admin.
Disable a second discount / BXGY / volume app that also rewrites combinations, or leftover Script Editor discounts that fight Functions. Retest guest and logged-in checkouts and Markets countries. If quantity breaks / BXGY never show on the PDP while stacking elsewhere is fine, that is quantity breaks not showing. If only a customer-segment automatic never fires for the segment, use customer segment discount not applying. If Script Editor scripts died after Plus / Functions migration, use Scripts not applying after Plus.
04
Checklist and how to prove stacking on live checkout.
Checklist: (1) screenshot both discounts Active + class (product/order/shipping), (2) prove A alone and B alone reduce totals, (3) align combinesWith both directions, (4) redeploy Discount Function / refresh app combination settings, (5) remove conflicting second discount app / Scripts, (6) capture A+B cart on live checkout with both reductions, (7) retest guest + logged-in + Markets, (8) if only code reject, segment, quantity breaks, Scripts after Plus, or never-applying remains, switch playbooks.
Prove it: build the configured stack cart on the live storefront; checkout shows both expected reductions; a second Markets locale still stacks; guest and logged-in both match. If neither discount applies even alone, open Functions / automatic discount not applying.
05
You tested code reject, segment, quantity breaks, Scripts after Plus, or Functions never applying instead.
Typed discount code reject is discount code not applying. Customer segment automatic not applying is customer segment discount not applying. Quantity breaks / volume / BXGY UI missing is quantity breaks not showing. Script Editor after Plus / Functions migration is Scripts not applying after Plus. Functions / automatic discount that never applies even alone is Functions / automatic discount not applying. None of those finish a stacking bug where both discounts already work alone but refuse to combine.
Finish prove alone → fix combinesWith / classes / conflicts → live stack proof first. Only then open the related playbook that matches the remaining symptom.
06
When to stay DIY vs pay $997.
Stay DIY if you can spend one afternoon on the list above: prove both discounts Active alone, align combinesWith and discount classes, remove conflicting discount apps / Scripts, and stop treating code reject / segment / quantity breaks / Scripts after Plus / never-applying as the same bug. That is the whole playbook. No agency required. Short answers also live on the merchant FAQ. Related pages: discount code not applying, customer segment discount not applying, quantity breaks not showing, Scripts not applying after Plus, Functions / automatic discount not applying.
Pay for help when the work is not the combinesWith JSON — it is connecting the stack you already have so lead capture is not dying in DMs, cart / ops 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 Functions-agency retainer, not a conversion guarantee, 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 uptime claim.
What it does not buy: more orders, automatic Discount Function quotas, a Plus license, 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.