Project portfolio Browse selected work

Shopify Plus Upgrade Monthly Fee Reduction + Up to $4800 Development Fee Credit - Exclusive WesWoo Offer

Guide

Shopify Promotions: Build and Test a Discount Campaign

Published: Editorial review: 2026-10-04

A Shopify promotion needs an executable offer: which basket qualifies, what saving the customer receives, and what happens when another discount or a return is involved. This guide helps an Online Store team configure and test one campaign before advertising it. It covers the campaign rule sheet, admin setup, checkout cases and a controlled stop procedure.

Official documentation checked on October 4, 2026. Field availability and payment testing depend on the store's current configuration. The sample numbers below are hypothetical planning examples, not customer results or a promised increase in conversion.

Write the campaign rule sheet before configuring it

Choose one business objective and its corresponding constraint: clear a specified stock group without selling below the approved contribution floor, or offer a repeat customer benefit within a fixed promotion allowance. Record the owner, eligible products or baskets, audience, markets, start and end time, budget, exclusions and how customer support will explain the offer.

Use a planning calculation that separates the promotion from the rest of the order:

Planning fieldHypothetical example, in one currency
Product revenue after the campaign discount, excluding tax90
Product cost45
Packaging and fulfilment8
Shipping subsidy and estimated processing costs7
Contribution before advertising and overhead90 - 45 - 8 - 7 = 30

Use your own costs and the processor's current terms. This example does not calculate net profit, account for every tax treatment or predict repeat purchases. If combining offers would push contribution below the team's approved floor, change the combination policy before launch.

Create one clearly bounded discount

For a code-based amount-off campaign, open Discounts > Create discount, choose Amount off products or Amount off orders, then Discount code. Set the code and Value; for a product offer, select the applicable products or collections. Configure Minimum requirements, Eligibility, Maximum discount uses, Combinations and Active dates, then save. Check the expiry in the store's time zone. These fields and purchase-type options are described in Shopify's amount-off discount instructions.

Read the minimum rule for the chosen discount type. Product and order offers have different qualification calculations; shipping and tax do not count towards the amount-off minimum. Do not infer eligibility from a large total that includes delivery. Test a basket just below, exactly at and above your configured threshold against the same official instructions.

The storefront copy should state the code, eligible items or basket, audience restriction and expiry with its time zone. A code being saved in the admin is not proof that the customer's actual basket qualifies.

Decide what can combine, then test both offers

Combination permission must be enabled on each participating discount. Shopify applies product discounts before order discounts, then shipping discounts. Some combinations have eligibility requirements, and multiple product discounts on the same line item require Plus. Check the exact intended combination in Shopify's discount combination guide; a visible checkbox does not justify a blanket claim that every offer stacks.

List each existing offer that could overlap: an automatic product markdown, loyalty code or shipping offer. For each pair, record the permitted classes and the expected line-item saving, order saving and shipping saving separately. When the checkout result differs, inspect both discounts and the actual basket; do not solve the mismatch by changing the public promise first.

For a Buy X get Y campaign, customers must put both the qualifying and reward items in their cart; the reward is not automatically inserted by that admin discount. Plan the page instruction and stock fallback accordingly. See Shopify's Buy X get Y requirements.

Run a checkout acceptance table

Use test customers and a permitted test environment. Include these cases before announcing the offer:

CaseExpected result to write down before testing
Eligible basket and customerIntended saving appears on the intended items or order
Basket below the minimumOffer does not apply; the page explains the minimum
Ineligible product or customerRestricted offer remains unavailable
Existing discount plus campaign codeAllowed combination or exclusion matches the rule sheet
Reward item missing or sold outCustomer sees an actionable route; no promised automatic gift
Campaign after its configured endOffer stops applying and the landing page stops promising it

Keep screenshots, basket contents, market, customer eligibility and test time with each result. A payment gateway can be tested after the store has selected a paid plan. Use Shopify's Test payment gateway, or Shopify Payments test mode when that provider is configured. Shopify's test-order guide explains these simulated transactions and warns that customers cannot place live orders while payment providers are in test mode. Schedule testing accordingly and restore the live setting; test orders do not demonstrate real sales performance.

Check refunds and assign a stop owner

For a discounted test order, open Orders > the order > Refund, select the appropriate item quantities and inspect the proposed amount, shipping and restocking choice before submitting. Compare the amount with what the customer actually paid for the returned items. Shopify refunds are irreversible after initiation, so rehearse in the chosen test setup rather than experimenting on a customer's order. See Shopify's refund procedure.

Record who can stop the campaign if the saving, eligibility or stock promise is wrong. In Discounts, select the affected offer and use the documented deactivation action; then repeat the failing checkout case and update active landing pages or advertisements. Preserve the campaign record for review instead of deleting the evidence. The available edit and deactivation controls are in Managing Shopify discounts.

After the campaign, compare discounted revenue, product cost, fulfilment, paid acquisition, refunds and remaining inventory on the same basis. More orders can coexist with lower contribution. Treat the test record as evidence that the rules worked, and actual trading data as the separate evidence needed to judge the campaign.