How should two Shopify discount stacks be compared?
Last updated: 2026-07-29
Written and reviewed by Seller Profit Guard Editorial Team.
Hold every non-discount input constant, show product, order, and shipping savings separately, then compare customer total, payment fee, contribution, margin, and signed difference. Keep demand and conversion outside the arithmetic. Preserve dated class, eligibility, checkout, cost, fee, ownership, conflict, and restoration evidence before using the result in a promotion decision.
Freeze currency and period
Hold every non-discount input constant, show product, order, and shipping savings separately, then compare customer total, payment fee, contribution, margin, and signed difference. Keep demand and conversion outside the arithmetic. At checkpoint 1, the same-cart comparison table records the cart grain, discount identity, product, order, or shipping class, automatic, code, or app method, value, active dates, eligibility, exclusions, combination setting, channel, plan, checkout observation, accepted input, rejected alternative, owner, reviewer, and restoration pointer. Do not substitute a favorable margin for missing eligibility evidence.
For freeze currency and period, preserve protected Shopify and seller records while publishing invented aggregates only. Identify whether the issue changes the product-first, order-second, shipping-last sequence; the eligible base; the customer total; the payment-fee assumption; the contribution result; or the release authority.
Freeze merchandise and eligibility
Hold every non-discount input constant, show product, order, and shipping savings separately, then compare customer total, payment fee, contribution, margin, and signed difference. Keep demand and conversion outside the arithmetic. At checkpoint 2, the same-cart comparison table records the cart grain, discount identity, product, order, or shipping class, automatic, code, or app method, value, active dates, eligibility, exclusions, combination setting, channel, plan, checkout observation, accepted input, rejected alternative, owner, reviewer, and restoration pointer. Do not substitute a favorable margin for missing eligibility evidence.
For freeze merchandise and eligibility, preserve protected Shopify and seller records while publishing invented aggregates only. Identify whether the issue changes the product-first, order-second, shipping-last sequence; the eligible base; the customer total; the payment-fee assumption; the contribution result; or the release authority.
Freeze shipping and costs
Hold every non-discount input constant, show product, order, and shipping savings separately, then compare customer total, payment fee, contribution, margin, and signed difference. Keep demand and conversion outside the arithmetic. At checkpoint 3, the same-cart comparison table records the cart grain, discount identity, product, order, or shipping class, automatic, code, or app method, value, active dates, eligibility, exclusions, combination setting, channel, plan, checkout observation, accepted input, rejected alternative, owner, reviewer, and restoration pointer. Do not substitute a favorable margin for missing eligibility evidence.
For freeze shipping and costs, preserve protected Shopify and seller records while publishing invented aggregates only. Identify whether the issue changes the product-first, order-second, shipping-last sequence; the eligible base; the customer total; the payment-fee assumption; the contribution result; or the release authority.
Freeze the fee base
Hold every non-discount input constant, show product, order, and shipping savings separately, then compare customer total, payment fee, contribution, margin, and signed difference. Keep demand and conversion outside the arithmetic. At checkpoint 4, the same-cart comparison table records the cart grain, discount identity, product, order, or shipping class, automatic, code, or app method, value, active dates, eligibility, exclusions, combination setting, channel, plan, checkout observation, accepted input, rejected alternative, owner, reviewer, and restoration pointer. Do not substitute a favorable margin for missing eligibility evidence.
For freeze the fee base, preserve protected Shopify and seller records while publishing invented aggregates only. Identify whether the issue changes the product-first, order-second, shipping-last sequence; the eligible base; the customer total; the payment-fee assumption; the contribution result; or the release authority.
Compare product savings
Hold every non-discount input constant, show product, order, and shipping savings separately, then compare customer total, payment fee, contribution, margin, and signed difference. Keep demand and conversion outside the arithmetic. At checkpoint 5, the same-cart comparison table records the cart grain, discount identity, product, order, or shipping class, automatic, code, or app method, value, active dates, eligibility, exclusions, combination setting, channel, plan, checkout observation, accepted input, rejected alternative, owner, reviewer, and restoration pointer. Do not substitute a favorable margin for missing eligibility evidence.
For compare product savings, preserve protected Shopify and seller records while publishing invented aggregates only. Identify whether the issue changes the product-first, order-second, shipping-last sequence; the eligible base; the customer total; the payment-fee assumption; the contribution result; or the release authority.
Compare order savings
Hold every non-discount input constant, show product, order, and shipping savings separately, then compare customer total, payment fee, contribution, margin, and signed difference. Keep demand and conversion outside the arithmetic. At checkpoint 6, the same-cart comparison table records the cart grain, discount identity, product, order, or shipping class, automatic, code, or app method, value, active dates, eligibility, exclusions, combination setting, channel, plan, checkout observation, accepted input, rejected alternative, owner, reviewer, and restoration pointer. Do not substitute a favorable margin for missing eligibility evidence.
For compare order savings, preserve protected Shopify and seller records while publishing invented aggregates only. Identify whether the issue changes the product-first, order-second, shipping-last sequence; the eligible base; the customer total; the payment-fee assumption; the contribution result; or the release authority.
Compare shipping savings
Hold every non-discount input constant, show product, order, and shipping savings separately, then compare customer total, payment fee, contribution, margin, and signed difference. Keep demand and conversion outside the arithmetic. At checkpoint 7, the same-cart comparison table records the cart grain, discount identity, product, order, or shipping class, automatic, code, or app method, value, active dates, eligibility, exclusions, combination setting, channel, plan, checkout observation, accepted input, rejected alternative, owner, reviewer, and restoration pointer. Do not substitute a favorable margin for missing eligibility evidence.
For compare shipping savings, preserve protected Shopify and seller records while publishing invented aggregates only. Identify whether the issue changes the product-first, order-second, shipping-last sequence; the eligible base; the customer total; the payment-fee assumption; the contribution result; or the release authority.
Compare customer totals
Hold every non-discount input constant, show product, order, and shipping savings separately, then compare customer total, payment fee, contribution, margin, and signed difference. Keep demand and conversion outside the arithmetic. At checkpoint 8, the same-cart comparison table records the cart grain, discount identity, product, order, or shipping class, automatic, code, or app method, value, active dates, eligibility, exclusions, combination setting, channel, plan, checkout observation, accepted input, rejected alternative, owner, reviewer, and restoration pointer. Do not substitute a favorable margin for missing eligibility evidence.
For compare customer totals, preserve protected Shopify and seller records while publishing invented aggregates only. Identify whether the issue changes the product-first, order-second, shipping-last sequence; the eligible base; the customer total; the payment-fee assumption; the contribution result; or the release authority.
Compare contribution and margin
Hold every non-discount input constant, show product, order, and shipping savings separately, then compare customer total, payment fee, contribution, margin, and signed difference. Keep demand and conversion outside the arithmetic. At checkpoint 9, the same-cart comparison table records the cart grain, discount identity, product, order, or shipping class, automatic, code, or app method, value, active dates, eligibility, exclusions, combination setting, channel, plan, checkout observation, accepted input, rejected alternative, owner, reviewer, and restoration pointer. Do not substitute a favorable margin for missing eligibility evidence.
For compare contribution and margin, preserve protected Shopify and seller records while publishing invented aggregates only. Identify whether the issue changes the product-first, order-second, shipping-last sequence; the eligible base; the customer total; the payment-fee assumption; the contribution result; or the release authority.
Keep demand effects separate
Hold every non-discount input constant, show product, order, and shipping savings separately, then compare customer total, payment fee, contribution, margin, and signed difference. Keep demand and conversion outside the arithmetic. At checkpoint 10, the same-cart comparison table records the cart grain, discount identity, product, order, or shipping class, automatic, code, or app method, value, active dates, eligibility, exclusions, combination setting, channel, plan, checkout observation, accepted input, rejected alternative, owner, reviewer, and restoration pointer. Do not substitute a favorable margin for missing eligibility evidence.
For keep demand effects separate, preserve protected Shopify and seller records while publishing invented aggregates only. Identify whether the issue changes the product-first, order-second, shipping-last sequence; the eligible base; the customer total; the payment-fee assumption; the contribution result; or the release authority.
Freeze currency and period: failure test 1
Change only the freeze currency and period evidence in an invented checkout fixture. Hold merchandise, eligible subtotal, shipping, costs, fee base, currency, period, and every other discount constant. Record whether the defect creates Block, Review, or no state change and show the affected intermediate value.
Repair the source or configuration, rerun the same cart, compare the observed checkout savings with the model, preserve both versions, and verify restoration. The calculator cannot create a code, activate an automatic discount, change an app, select Shopify's best combination, process payment, or expose a private order.
Freeze merchandise and eligibility: failure test 2
Change only the freeze merchandise and eligibility evidence in an invented checkout fixture. Hold merchandise, eligible subtotal, shipping, costs, fee base, currency, period, and every other discount constant. Record whether the defect creates Block, Review, or no state change and show the affected intermediate value.
Repair the source or configuration, rerun the same cart, compare the observed checkout savings with the model, preserve both versions, and verify restoration. The calculator cannot create a code, activate an automatic discount, change an app, select Shopify's best combination, process payment, or expose a private order.
Freeze shipping and costs: failure test 3
Change only the freeze shipping and costs evidence in an invented checkout fixture. Hold merchandise, eligible subtotal, shipping, costs, fee base, currency, period, and every other discount constant. Record whether the defect creates Block, Review, or no state change and show the affected intermediate value.
Repair the source or configuration, rerun the same cart, compare the observed checkout savings with the model, preserve both versions, and verify restoration. The calculator cannot create a code, activate an automatic discount, change an app, select Shopify's best combination, process payment, or expose a private order.
Freeze the fee base: failure test 4
Change only the freeze the fee base evidence in an invented checkout fixture. Hold merchandise, eligible subtotal, shipping, costs, fee base, currency, period, and every other discount constant. Record whether the defect creates Block, Review, or no state change and show the affected intermediate value.
Repair the source or configuration, rerun the same cart, compare the observed checkout savings with the model, preserve both versions, and verify restoration. The calculator cannot create a code, activate an automatic discount, change an app, select Shopify's best combination, process payment, or expose a private order.
Compare product savings: failure test 5
Change only the compare product savings evidence in an invented checkout fixture. Hold merchandise, eligible subtotal, shipping, costs, fee base, currency, period, and every other discount constant. Record whether the defect creates Block, Review, or no state change and show the affected intermediate value.
Repair the source or configuration, rerun the same cart, compare the observed checkout savings with the model, preserve both versions, and verify restoration. The calculator cannot create a code, activate an automatic discount, change an app, select Shopify's best combination, process payment, or expose a private order.
Compare order savings: failure test 6
Change only the compare order savings evidence in an invented checkout fixture. Hold merchandise, eligible subtotal, shipping, costs, fee base, currency, period, and every other discount constant. Record whether the defect creates Block, Review, or no state change and show the affected intermediate value.
Repair the source or configuration, rerun the same cart, compare the observed checkout savings with the model, preserve both versions, and verify restoration. The calculator cannot create a code, activate an automatic discount, change an app, select Shopify's best combination, process payment, or expose a private order.
Compare shipping savings: failure test 7
Change only the compare shipping savings evidence in an invented checkout fixture. Hold merchandise, eligible subtotal, shipping, costs, fee base, currency, period, and every other discount constant. Record whether the defect creates Block, Review, or no state change and show the affected intermediate value.
Repair the source or configuration, rerun the same cart, compare the observed checkout savings with the model, preserve both versions, and verify restoration. The calculator cannot create a code, activate an automatic discount, change an app, select Shopify's best combination, process payment, or expose a private order.
Compare customer totals: failure test 8
Change only the compare customer totals evidence in an invented checkout fixture. Hold merchandise, eligible subtotal, shipping, costs, fee base, currency, period, and every other discount constant. Record whether the defect creates Block, Review, or no state change and show the affected intermediate value.
Repair the source or configuration, rerun the same cart, compare the observed checkout savings with the model, preserve both versions, and verify restoration. The calculator cannot create a code, activate an automatic discount, change an app, select Shopify's best combination, process payment, or expose a private order.
Compare contribution and margin: failure test 9
Change only the compare contribution and margin evidence in an invented checkout fixture. Hold merchandise, eligible subtotal, shipping, costs, fee base, currency, period, and every other discount constant. Record whether the defect creates Block, Review, or no state change and show the affected intermediate value.
Repair the source or configuration, rerun the same cart, compare the observed checkout savings with the model, preserve both versions, and verify restoration. The calculator cannot create a code, activate an automatic discount, change an app, select Shopify's best combination, process payment, or expose a private order.
Keep demand effects separate: failure test 10
Change only the keep demand effects separate evidence in an invented checkout fixture. Hold merchandise, eligible subtotal, shipping, costs, fee base, currency, period, and every other discount constant. Record whether the defect creates Block, Review, or no state change and show the affected intermediate value.
Repair the source or configuration, rerun the same cart, compare the observed checkout savings with the model, preserve both versions, and verify restoration. The calculator cannot create a code, activate an automatic discount, change an app, select Shopify's best combination, process payment, or expose a private order.
Automatic Discount vs Discount Plus Shipping: controlled cart lab 1
Reperform freeze currency and period for the automatic-only and combined invented packets. Show merchandise, eligible product base, product saving, revised subtotal, order saving, shipping saving, customer total before tax, fee assumption, cost, contribution, margin, and signed B-minus-A result without skipping a step.
Stress one driver at a time: fixed versus percentage, eligible base, order minimum, shipping cap, combination flag, channel, plan, app compatibility, checkout observation, cost, fee base, target, conflict, reviewer, backup, or restore result. Exact cents cannot make stale promotion evidence current.
Automatic Discount vs Discount Plus Shipping: controlled cart lab 2
Reperform freeze merchandise and eligibility for the automatic-only and combined invented packets. Show merchandise, eligible product base, product saving, revised subtotal, order saving, shipping saving, customer total before tax, fee assumption, cost, contribution, margin, and signed B-minus-A result without skipping a step.
Stress one driver at a time: fixed versus percentage, eligible base, order minimum, shipping cap, combination flag, channel, plan, app compatibility, checkout observation, cost, fee base, target, conflict, reviewer, backup, or restore result. Exact cents cannot make stale promotion evidence current.
Automatic Discount vs Discount Plus Shipping: controlled cart lab 3
Reperform freeze shipping and costs for the automatic-only and combined invented packets. Show merchandise, eligible product base, product saving, revised subtotal, order saving, shipping saving, customer total before tax, fee assumption, cost, contribution, margin, and signed B-minus-A result without skipping a step.
Stress one driver at a time: fixed versus percentage, eligible base, order minimum, shipping cap, combination flag, channel, plan, app compatibility, checkout observation, cost, fee base, target, conflict, reviewer, backup, or restore result. Exact cents cannot make stale promotion evidence current.
Automatic Discount vs Discount Plus Shipping: controlled cart lab 4
Reperform freeze the fee base for the automatic-only and combined invented packets. Show merchandise, eligible product base, product saving, revised subtotal, order saving, shipping saving, customer total before tax, fee assumption, cost, contribution, margin, and signed B-minus-A result without skipping a step.
Stress one driver at a time: fixed versus percentage, eligible base, order minimum, shipping cap, combination flag, channel, plan, app compatibility, checkout observation, cost, fee base, target, conflict, reviewer, backup, or restore result. Exact cents cannot make stale promotion evidence current.
Automatic Discount vs Discount Plus Shipping: controlled cart lab 5
Reperform compare product savings for the automatic-only and combined invented packets. Show merchandise, eligible product base, product saving, revised subtotal, order saving, shipping saving, customer total before tax, fee assumption, cost, contribution, margin, and signed B-minus-A result without skipping a step.
Stress one driver at a time: fixed versus percentage, eligible base, order minimum, shipping cap, combination flag, channel, plan, app compatibility, checkout observation, cost, fee base, target, conflict, reviewer, backup, or restore result. Exact cents cannot make stale promotion evidence current.
Automatic Discount vs Discount Plus Shipping: controlled cart lab 6
Reperform compare order savings for the automatic-only and combined invented packets. Show merchandise, eligible product base, product saving, revised subtotal, order saving, shipping saving, customer total before tax, fee assumption, cost, contribution, margin, and signed B-minus-A result without skipping a step.
Stress one driver at a time: fixed versus percentage, eligible base, order minimum, shipping cap, combination flag, channel, plan, app compatibility, checkout observation, cost, fee base, target, conflict, reviewer, backup, or restore result. Exact cents cannot make stale promotion evidence current.
Frozen same-cart contract
Hold currency, merchandise, eligible base, shipping, costs, fee base, target, tax exclusion, evidence period, channel, plan, checkout architecture, and reviewer constant.
Only product, order, and shipping savings may explain B-minus-A contribution in this comparison.
Thirteen-output comparability gate
Compare six outputs per scenario plus the signed difference only when both packets are structurally valid. If either packet Blocks, quarantine all thirteen rather than mixing one safe and one unsafe result.
Preserve the blocking input and confirmation evidence beside the unavailable comparison.
Official rule boundary for same-cart comparison table
Shopify documents product, order, and shipping discount classes; eligible combinations; product-first, order-second, shipping-last calculation order; one shipping discount code per order; a current maximum of 25 active automatic discounts and five product or order codes; channel, plan, checkout, and app considerations; best-combination selection; and checkout testing. Record acquisition dates because current behavior and eligibility can change.
This one-product, one-order, one-shipping model deliberately excludes Buy X get Y allocation, multiple same-line product discounts, multiple order-discount arithmetic, complex app functions, scripts, taxes, duties, refunds, gift cards, store credit, subscriptions, draft-order exceptions, and market-specific payment treatment unless a separate protected calculation reconciles them.
Privacy, release, and restoration for same-cart comparison table
Use invented cart fixtures and aggregate evidence summaries only. Keep unpublished codes, customers, orders, addresses, payment details, staff identities, credentials, app settings, promotion calendars, cost records, private screenshots, and raw exports out of public content.
Before indexing, pass type, unit, integration, build, content, similarity, metadata, images, links, privacy, mobile, backup, deployment, and live checks. Search signals are later measurements; failed eligibility, checkout, or rollback evidence still stops release.
Sources and further reading
- Shopify Help: Combining discounts: Official discount classes, supported combinations, order of calculation, eligibility, limitations, checkout tests, and troubleshooting.
- Shopify Help: Discounts: Official discount methods, code and automatic types, sale-price distinction, and pre-tax subtotal context.
- Shopify Help: Amount off discounts: Official percentage and fixed amount setup, dates, eligibility, minimums, purchase type, and combination settings.
- Shopify Help: Discount methods: Official automatic, code, and app method boundaries.
- Shopify Help: Analytics fields: Official field reference for later protected aggregate reconciliation.
- Seller Profit Guard methodology: Deterministic evidence, privacy, correction, release, monitoring, and rollback.
Related Seller Profit Guard tools
- Shopify Discount Stack Calculator: Run the browser-local product, order, shipping, contribution, and decision comparison.
- Maximum Discount Calculator: Solve the separate maximum-affordable-discount question.
- Methodology: Review source, arithmetic, privacy, correction, release, monitoring, and restoration.
- Data Privacy: Keep codes, customers, orders, payments, staff, credentials, and raw exports protected.
- Shopify Discount Stack Formula and Inputs: Define a same-cart model for product, order, and shipping discounts, eligibility, fees, costs, target, and evidence.
- Shopify Automatic Product Discount Example: Work one automatic 10% eligible-product discount through cart total, fee, contribution, margin, and decision.
- Shopify Discount Plus Free Shipping Example: Add an eligible order discount and one shipping discount after the product discount under the same cart.
- Shopify Discount Stack Mistakes: Diagnose wrong class order, invalid eligibility, duplicate shipping, mixed carts, fee-base drift, and unsupported campaign conclusions.
- Reliable Shopify Discount Stack Sources: Map discount classes, methods, eligibility, cart, costs, fee base, checkout observation, and analytics follow-up to protected primary evidence.
- Shopify Discount Stack Decision Thresholds: Separate structural combination validity, break-even contribution, seller target, sensitivity, and operational authority.
- Shopify Discount Stack Operating Routine: Turn promotion modeling into a pre-launch, live-check, exception, measurement, and restoration cycle.
- How to Interpret Shopify Discount Stack Results: Explain contribution, margin, signed difference, sequence, evidence, and limitations without false precision.
- Shopify Discount Stack Audit Template: Provide a standalone record for cart grain, discount versions, combinations, calculations, checkout observation, decision, changes, and restoration.
Next step: Open Seller Profit Guard.
This is operational planning help, not tax, accounting, legal, financial, or platform-policy advice. Review the Terms and disclaimer, and verify current platform rules and fee assumptions before changing prices.