Skip to main content

How to Set Up Discount Offers

One campaign, many discount rules. Each rule has its own customers, products and discount, while the schedule, the on/off switch and the combination settings are shared by the whole campaign.

Introduction

A Discount Offers campaign is a container for rules. Each rule answers three questions: who gets the discount, what they have to buy, and how much comes off. Anything the rules have in common is set once, on the campaign.

That saves you from building a separate discount for every audience. A seasonal sale with "VIP 20% off new arrivals" and "clearance 30% off" used to mean unrelated discounts, each with its own dates to keep in sync. Now they are rules inside one campaign.

It also saves discount slots. Shopify lets a store run 25 automatic discounts at a time, and an automatic campaign takes one of them however many rules it holds.

📝 Note: Discount Offers requires the Plus plan on CWILL Loyalty.


How It Works

Three terms come up throughout this article:

Term

What it is

Scope

Campaign

The container for one promotion: a name, a schedule, an on/off switch

Takes 1 Shopify discount slot

Rule

One "who buys what, gets how much off" line inside the campaign

At least 1 per campaign, up to 10

Trigger method

How the discount reaches the order: automatically, or with a code

One per campaign, and it cannot be changed later

A campaign is a set of rules, one trigger method and one schedule.

There is one more thing to know before you build. A campaign discounts either products or the order total, never both. You choose which at campaign level, and every rule inside follows that choice. Rules then differ only in audience, products and discount value.


Creating a Campaign

  1. Go to Program > Campaign, find the Discount Offers card and click Create.

  2. Fill in the campaign settings. These apply to every rule inside:

    A. Campaign name — Identifies the campaign in your list.

    B. MethodAutomatic applies at checkout when the conditions match. Code waits for the customer to enter a discount code.

    C. Start date / Start time / Timezone — When the campaign goes live. You can pick the timezone yourself.

    D. Set an end date — Optional.

    E. Minimum requirement — Optional.

    F. Combines with other discounts — Tick which kinds of discount are allowed to run alongside this campaign: Product discounts, Order discounts, Shipping discounts. This only covers discounts outside the campaign. See Combining with Other Discounts.

    G. Eligibility — With Tags or all customers, each rule can match customer tags or apply to all customers. With Match a customer segment, the whole campaign targets one segment.

    H. Discount applies toAmount of product takes the discount off the matched products. Amount of order takes it off the order total. This decides what kind of discount every rule produces.

    I. Code settings — Only for the Code method: the Discount code itself, Limit number of times this discount can be used in total, and Limit to one use per customer.

  3. Add your rules. Each rule has its own:

    A. Rule name — Required. Shoppers will see this name at checkout on automatic discounts, so write it for them.

    B. Customers — Available when Eligibility is Tags or all customers. Pick All customers, or Match tags and enter the tags. Rules can use different tag combinations. When the campaign is bound to a segment this section is hidden, because the segment already decides who qualifies.

    C. Products — Available when Discount applies to is Amount of product. Match by Specific collections or Specific products and pick them from the Shopify picker. On an order campaign this section collapses to a single line, All products.

    D. DiscountPercentage takes a percentage off, Fixed amount takes a set sum off.

    📝 Note: A fixed amount comes off once per order, never once per item. A rule that takes $5 off takes $5 off in total, whether the cart holds one matching item or ten.

  4. Click Save on the top bar.

The campaign runs itself from here. It goes live at the start time, and goes offline at the end time if you set one.

💡 Pro Tip: Name rules the way a customer would read them. "VIP · 20% off new arrivals" beats "rule 3" on a checkout page.


Choosing "Discount applies to"

Amount of product takes the discount off the items that matched, and every rule picks its own collections or products.

Amount of order takes the discount off the order total. Every rule applies to All products, and rules differ only in audience and discount value.

To discount your whole store, choose Amount of order.


Automatic Campaigns and the 25-Slot Limit

Shopify allows 25 automatic discounts per store, counting everything that is active or scheduled. Discounts you created in Shopify admin and discounts from other apps count too, while paused, expired and deleted ones do not. A campaign uses one of those slots. All its rules live inside a single Shopify discount function, so ten rules cost the same as one. Switching a campaign off releases its slot straight away.

Code campaigns are not affected by this limit.


Campaign Status and the Enable Switch

Two separate things decide whether a campaign is running: the schedule and the enable switch.

Status

What it means

What customers see

Scheduled

The start time has not arrived

Nothing yet. The configuration is saved and goes live on its own

Active

Inside the scheduled window, switch on

Matching orders get the discount

Paused

You switched it off

Nothing. The status badge still follows the schedule, and switching back on resumes immediately

Expired

The end time has passed

Nothing. The configuration stays for reference and the editor becomes read-only


How Discounts Are Applied at Checkout

Inside a campaign the best rule wins, in the customer's favour

On a product campaign. Every item in the cart is checked against every rule, and takes the strongest rule it qualifies for. Different items can land on different rules.

Say R1 gives 20% off the New Arrivals collection and R2 gives 10% off Clearance. A cart holds a $50 new arrival and a $30 clearance item. The new arrival matches R1 and saves $10. The clearance item matches R2 and saves $3. An item sitting in both collections would take R1 only, since 20% is the better of the two for that item.

Fixed amounts behave the same way, but only once. If R1 takes $5 off New Arrivals and the cart holds three new arrivals, the order is $5 cheaper, not $15.

On an order campaign. Rules differ only by audience, so a customer either qualifies or does not. When several rules match the same customer, the strongest one applies once, to the order total. If R1 gives VIP customers $20 off and R2 gives all members $10 off, a VIP saves $20, not $30.

Combining with Other Discounts

"Combines with other discounts" only covers discounts outside this campaign: other Discount Offers campaigns, discounts you created in Shopify admin, codes your customer enters, discounts from other apps. It has no bearing on how rules inside the campaign behave, which is always the best-match logic above.

Once the campaign has worked out its own result, Shopify decides whether that result can run alongside anything else on the order. Both sides have to opt in. Ticking Order discounts only says "I allow order discounts to join me", and the other discount has to allow this campaign's type in return. If only one side allows it, Shopify keeps whichever discount is worth more to the customer and drops the other.

Say your product campaign gives 20% off and ticks Order discounts, and a customer enters SAVE20, an order discount worth $20. Both apply only if SAVE20 also permits product discounts. Otherwise the customer gets the better of the two.


What to Use It For

Rules can target customers by what CWILL Loyalty already knows about them: tier, tags, segments, spending history. You are not maintaining customer lists by hand, which is what makes narrow, behaviour-led offers practical.

#

Scenario

Who to target

How to play it

1

Win back lapsed members

Members with no order in 30, 60 or 90 days

A member-only offer with a short window

2

Increase purchase frequency

Active members who buy steadily but slowly

A recurring offer, or an extra discount for ordering again within 7 days

3

Raise average order value

Frequent members with small baskets

An order campaign with rules by spend, so bigger baskets save more

4

Push members up a VIP tier

Customers close to the next threshold

Let them use the next tier's discount during a sprint window

5

Launch new products or clear stock

Core members

Member-first access, or quiet clearance that never goes public

6

Drive app engagement

Brands with a loyalty app and low open rates

Make the offer redeemable in the app only

7

Separate loyal from casual shoppers

Everyone

Run a public promotion and a member-only one at the same time

8

Member moments

All members

Birthday month, anniversary, quarterly member day, holiday warm-ups


Best Practice: One Campaign, One Job

Keep each campaign on a single goal and keep the rule count low. When you need a grid of audiences and prices, use several campaigns instead of packing the logic into one.

Splitting keeps edits contained: raising Silver from 10% to 12% touches only the Silver campaign. It keeps scheduling independent, so pausing one promotion cannot take down another by accident. Adding a Platinum tier later means adding a campaign, not rewriting a rule. And reporting stays readable, since uses and revenue are attributed per campaign.

Member pricing across product lines works as one campaign. Members get 5% off line 1, 10% off line 2 and 15% off line 3.

  • Method: Automatic

  • Schedule: no end date

  • Eligibility: tags or a segment covering all loyalty members

  • Discount applies to: Amount of product

  • Rules: line 1 → 5%, line 2 → 10%, line 3 → 15%

The audience never changes here, only the products. Adding a product line means adding a rule, and the campaign still costs one automatic slot.

VIP tier pricing works better as one campaign per tier. Bronze gets 5% off, Silver 10%, Gold 15%, store-wide.

  • Bronze Tier Discount, customers = Bronze tag, 5% off, one rule

  • Silver Tier Discount, customers = Silver tag, 10% off, one rule

  • Gold Tier Discount, customers = Gold tag, 15% off, one rule

Here the audience is what differs, and tiers usually get tuned and paused separately.

💡 Pro Tip: Tiers can share one campaign if you prefer, since a customer only holds one tier tag and the best-match rule wins anyway. Split them when you expect to adjust tiers separately, keep them together when automatic slots are tight.


Tracking Results

Every order that matches a rule is recorded, and the revenue joins your loyalty reporting.

Metric

How it is counted

Uses

One record per rule matched. An order where two items land on two rules produces two records

Unique customers

Distinct customers who used the campaign

Rule breakdown

Uses and revenue per rule, so you can see which rule is working

Incentivized revenue

The order total the customer actually paid, counted once per order even when several rules matched

Campaign revenue feeds the same incentivized revenue figure as referrals, points redemptions and birthday rewards, so "how much did loyalty bring in" stays one number instead of several reports to add up.

📝 Note: Refunds and cancellations do not reduce the Uses count. A use is recorded the moment the discount applies to an order and stays on the record afterwards, so Uses tells you how often the campaign was triggered rather than how many orders survived.

Exporting the raw data

The dashboard shows the summary. For the underlying records, including revenue per campaign, customer email, the rule an order matched, the order number and the discount amount, contact support or your Customer Success Manager and the export will be prepared for you.


Common Questions

Q: How many rules can one campaign hold?
A: The limit is 10 rules.

Q: Can one item get two discounts from the same campaign?
A: Each item takes the strongest rule it qualifies for.

Q: Is a fixed amount taken per item or per order?
A: Per order, once. Ten matching items in the cart still produce a single deduction. Use a percentage if you want the discount to scale with the basket.

Q: Can one campaign give 20% off a collection and $10 off the order?
A: No. Products or order total is chosen once, under Discount applies to. For both on one order, build two campaigns and have each one permit the other's type under Combines with other discounts.

Q: Does "Combines with other discounts" control how my rules interact?
A: No. It only governs discounts outside the campaign: other campaigns, Shopify discounts, codes and other apps. Rules inside are always resolved by best match.

Q: I ticked "Order discounts" but the customer's order code still did not apply. Why?
A: Combining takes both sides. The other discount also has to allow this campaign's type. When only one side opts in, Shopify applies whichever discount is worth more to the customer.

Q: How many automatic discount slots does a campaign use?
A: One, however many rules it holds.

Q: Can I change the trigger method after creating the campaign?
A: No. Automatic and Code are different discount types in Shopify and cannot be converted. To switch, delete the campaign and create a new one.

Q: If an order is refunded or cancelled, does the Uses count go down?
A: No. A use is recorded when the discount applies, and refunding or cancelling afterwards does not remove it.

Q: Can I get the raw usage data out of the app?
A: Yes, through us. Revenue, customer email, matched rule, order number and discount amount can all be exported. Contact support or your Customer Success Manager to request it.

Q: If I switch a campaign off, can customers still use a code they already have?
A: No. The switch takes effect immediately, whether or not the code has been shared.

Q: Does my configuration disappear once the campaign ends?
A: No. Expired campaigns stay in the list, read-only, for reference. To run the promotion again, create a new campaign with the same setup.

Q: What happens when an item matches rules in two different campaigns?
A: Each campaign works out its own result, then the combination settings decide whether the two can run together, on the same both-sides rule as any other discount.

Q: What if the order does not reach the minimum order amount?
A: The whole campaign is skipped, even for a customer who matches a rule's audience and products.

Q: How do I discount every product in my store?
A: Set Discount applies to to Amount of order.

Q: Why do I have to choose between tags and a segment for the whole campaign?
A: A customer segment can only be attached to a campaign as a whole, so rules cannot read it. Either the campaign targets one segment, or rules use tags freely. To mix both, use two campaigns.

Q: Does a scheduled campaign that has not started yet use up a slot?
A: Yes. Shopify counts active and scheduled automatic discounts together. Paused and expired ones do not count, which is why switching a campaign off frees a slot right away.

Did this answer your question?