Build and run a discount test matrix
Translate the offer into expected basket totals, test the actual store, and release terms that match checkout.
- Preparation
- One offer review and checkout test session before promotion.
- Difficulty
- Moderate
- Task
- Verify discount combinations
Before you start
Get what you need before you start
- Write the intended customer outcome without relying on internal discount names.
- Gather sale prices, compare-at prices, automatic discounts, codes, combination settings, exclusions, dates, and customer eligibility.
- Use an organisation-approved ChatGPT workspace. Upload only synthetic customer states and reviewed offer rules; exclude names, contact details, addresses, payment data, credentials, and external customer or order references.
- Choose an approver who owns the offer and customer wording.
Steps
Work through the method
Use the listed inputs and tools. Check the evidence when you need to verify a step.
Write the offer rule table
For every price and discount, record eligible products, customers, markets, dates, minimums, exclusions, combination settings, priority, and the intended final basket result.
Why it matters: The rule table turns an ambiguous promise such as stackable into values the store can test.
- Input
- The offer brief, product prices, discount configuration, customer segments, and promotion wording.
- Output
- A signed rule table with expected basket maths and explicit exclusions.
Tools in this stepShopifyEvidence for this step
One merchant reported that a sitewide sale stopped a separate customer code working as expected.
Reddit r/shopify: Root post, lines 21–25Shopify distinguishes Price from Compare-at price and states that checkout shows the sale price.
Shopify: Introduction; Setting a Compare-at price
Generate representative test carts
Create cases for each eligible offer, excluded product, excluded customer, threshold boundary, mixed cart, market, expired date, invalid code, and intended combination. Review the expected total manually.
Why it matters: A varied matrix tests where eligibility and combination rules change the customer result.
- Input
- The rule table, representative products, customer states, and expected basket calculations.
- Output
- A reviewed test matrix with inputs, expected discounts, total, and customer message.
Tools in this stepShopifyChatGPT data analysisEvidence for this step
Shopify documents combination eligibility and directs merchants to test configured discount combinations.
Shopify: Eligibility requirements; Test your discount combinationsChatGPT data analysis can process uploaded files, clean data, combine tables, and create structured outputs.
OpenAI: How data analysis works in ChatGPT; Work on tables in real-time
Run checkout tests
Run each case in the current store. Capture applied discounts, rejected codes, line prices, shipping effects, final total, and displayed explanation. Compare observed and expected results.
Why it matters: Only the current checkout reveals how this store resolves its configured prices and discounts.
- Input
- The approved matrix, test accounts, current store configuration, and checkout.
- Output
- A pass-or-fail record for every cart with evidence captures and discrepancy owners.
Tools in this stepShopifyEvidence for this step
Shopify documents combination eligibility and directs merchants to test configured discount combinations.
Shopify: Eligibility requirements; Test your discount combinationsShopify documents test orders for checking checkout, inventory, shipping, notifications, and taxes.
Shopify: Introduction; Place a test order by simulating a transaction
Align the offer and checkout
Correct the configuration or promotion wording for every discrepancy. Repeat affected cases, then publish the approved terms, support answer, monitoring owner, and rollback plan.
Why it matters: Promotion copy must describe the price a buyer can actually receive.
- Input
- The failed cases, configuration options, legal review if required, and customer wording.
- Output
- A passed matrix and final draft offer terms ready for operator copy approval.
Tools in this stepShopifyEvidence for this step
Shopify distinguishes Price from Compare-at price and states that checkout shows the sale price.
Shopify: Introduction; Setting a Compare-at priceOne merchant reported that a sitewide sale stopped a separate customer code working as expected.
Reddit r/shopify: Root post, lines 21–25
Success checks
Check the result before you finish
- The rule table states the expected basket result and every material eligibility condition.
- The matrix includes eligible, excluded, boundary, mixed-cart, market, and invalid-code cases.
- Every observed total and message matches the approved expectation.
- The final offer terms, support answer, monitoring owner, and rollback plan are ready for copy approval.
Failure modes
Watch for these problems
- The brief says discounts stack without defining the result. Return to exact basket maths.
- The matrix omits exclusions or mixed carts. Add them before approval.
- An app changes discount behaviour. Record the app and test its supported path separately.
- Promotion starts before failed carts pass. Pause the message and correct checkout or terms.
Tools
Choose the tools you need
Tool
Shopify
The store system that holds order, fulfilment, product, and return records for these practices.
Check fit, limits and pricingTool
ChatGPT data analysis
A file-analysis workspace for structuring approved, de-identified research or operating records into reviewable tables.
Check fit, limits and pricingSources
Read the sources behind this practice
Check what each source supports and where the advice has limits.
- Reddit r/shopify: Shopify DiscountsFirst-hand public operator account · Publication date unavailable
- Shopify: Combining discountsOfficial product documentation · Publication date unavailable
- Shopify: Setting sale prices for productsOfficial product documentation · Publication date unavailable
- Shopify: Placing a test orderOfficial product documentation · Publication date unavailable
- OpenAI: Data analysis with ChatGPTOfficial product documentation · Publication date unavailable