Temporary Customer Rules for Wholesale Campaigns
When a campaign-level purchase-history rule can replace a new Shopify segment for a short promotion, and when a segment is still the right tool.
A short promotion aimed at customers by order count or total spent can use a rule stored inside the campaign instead of a new Shopify segment. The rule cannot be combined with a segment in the same campaign and has no recency condition, and an event price cannot share products with another price campaign, so this example runs the event as free shipping.
At a glance
- Challenge
- Years of short-term promotions left the Shopify admin full of stale, overlapping customer segments that nobody dared to delete.
- Approach
- Permanent contractor pricing restricted to a Shopify segment, plus a two-week Free Shipping offer whose audience is a campaign rule: number of orders greater than 0.
- Discount Prime campaign types used
- Wholesale / B2B PricingFree ShippingCustomer Matching Rules
Scenario-based case study: the merchant is fictional and modeled on patterns across Discount Prime stores. Prices, costs and outcome figures are illustrative assumptions for teaching, not measured results from a real store.
Short Answer
A short-term promotion does not always need a new permanent Shopify customer segment. If the audience can be described by order count or total spent ("customers with at least one order", "customers with 5 or more orders"), Discount Prime's eligibility option Customers matching conditions stores that rule inside the campaign, and it stops applying when the campaign ends. Nothing is created in Shopify.
It has clear limits. The rule cannot be combined with a segment in the same campaign, it has no "last order date" condition, and a second price campaign cannot run on products another price campaign already holds. When those limits matter, a Shopify segment (temporary or permanent) is still the right tool.
Scenario
NorthBridge Industrial is a fictional Shopify supplier of electrical and safety products to contractors. It runs frequent short promotions, and for years each one got its own Shopify customer segment: "Contractors - April", "Contractors - Expo", "Contractors - 5 Orders", and so on. Many are unused, some overlap, and nobody is sure which ones other tools still depend on.
The next promotion: for two weeks, contractors who have ordered before get free shipping. The audience will not be reused.
Scenario assumption: every customer account in NorthBridge's store belongs to an approved contractor. If retail customers also have accounts in your store, read the eligibility limits below first.
Options Compared
| Option | Fits when | Does not fit when | Cleanup |
|---|---|---|---|
| New permanent Shopify segment | The audience will be reused, or needs conditions Shopify segments offer (tags, last order date, location) | It exists for one two-week promotion | Delete it afterwards, if someone remembers |
| Manual customer tagging | Membership is a judgment call (hand-picked accounts) | Membership should follow behavior; new qualifiers would be missed | Untag at the end |
| Shared discount code | Speed matters more than control | The code must not reach other customers | Expire the code |
| Campaign rule: Customers matching conditions | Audience is defined by order count or total spent, and no other restriction is needed in that campaign | You also need to restrict to a segment, or need recency | None: the rule lives in the campaign |
How the Campaign Rule Works
| Detail | Behavior |
|---|---|
| Conditions available | Number of orders, Total spent |
| Operators | Greater than, greater than or equal to, less than, less than or equal to |
| Combining | Up to 2 conditions, all must be met |
| Data used | Shopify's order count and total spent for the customer at checkout |
| Guests | For product discounts, a guest cannot be matched and gets no reward. For Free Shipping campaigns, see the guest note below |
| Storefront widgets | Shown based on the logged-in customer's order count and total spent |
| After the campaign ends | The rule stays visible in the campaign record but no longer applies |
The rule is the "Customers matching conditions" choice in the campaign's eligibility card, which the app describes as acting like a temporary segment for that campaign. It is an alternative to "Specific customer segments", not an addition: choosing it means "all customers who match", so it cannot be narrowed to a Shopify segment in the same campaign.
The Discount Prime Architecture
| Campaign | Type and eligibility | Lifetime |
|---|---|---|
| Baseline contractor pricing | Wholesale / B2B Pricing, restricted to the Shopify segment "Approved contractors" | Permanent |
| Two-week returning-customer offer | Free Shipping, Customers matching conditions: Number of orders greater than 0, with start and end dates | Two weeks |
| Later loyalty offer | Same pattern with Number of orders greater than or equal to 5 | One event |
Why the event offer is not a second price campaign
A product variant can be held by only one price campaign at a time (Wholesale / B2B Pricing, Tiered Quantity, Flat and similar types). If NorthBridge created a second Wholesale campaign with "12% off for 5+ orders" on the same products, it would not get the variants the baseline campaign already holds unless they were moved. Moving them would take those products out of baseline pricing for every other contractor for the duration.
Free Shipping, Cross-sell, Product Bundle, Upsell and Tiered Spend campaigns do not compete for variants. That is why the event offer here is free shipping, which works alongside the baseline pricing.
Guest note for Free Shipping
In a Free Shipping campaign, a purchase-history condition is skipped when the checkout has no customer attached. If your store allows guest checkout, a guest can receive a free shipping offer meant for returning customers. Test a guest checkout before launch; if your store requires accounts, this does not arise.
Worked Example: What the Two-Week Offer Costs
Illustrative assumptions: NorthBridge pays an average of $45 per qualifying order in carrier cost. In a comparable two-week period last quarter, returning contractors placed 400 orders.
| Item | Amount |
|---|---|
| Cost if those 400 orders would have happened anyway | 400 × $45 = $18,000 of shipping no longer charged |
| What the offer must produce to pay back | Enough additional orders or order value whose gross profit exceeds the subsidy |
| Example: average gross profit per contractor order $280 | About $18,000 / $280 = 64 additional orders, if every baseline order is also subsidized |
To adapt: use your own carrier cost per order and gross profit per order. If shipping costs vary widely by destination, the Free Shipping campaign can cap the amount covered per order. Note that free shipping applies to the first delivery group of an order.
Customer Walkthrough
| Customer | Situation | Result at checkout |
|---|---|---|
| Lakeside Electrical, 7 past orders, logged in | Usual $1,840 cart | Contractor prices from the baseline campaign, plus free shipping |
| A contractor placing a first order, logged in | Same cart | Contractor prices, regular shipping |
| A customer outside the "Approved contractors" segment with past orders | Any cart | Store prices; free shipping applies, because the rule is not limited to the segment |
The last row is the reason for the scenario assumption. If that row is a problem in your store, use a Shopify segment for the event audience instead (and delete it after), or accept that every account with orders qualifies.
When a Shopify Segment Is Still the Right Tool
| Need | Use |
|---|---|
| Approved accounts, distributor groups, regions | Permanent Shopify segment or tag-based segment |
| "Ordered before, but not in the last 6 months" (true reactivation) | A Shopify segment that filters on last order date; delete it after the campaign |
| Event offer limited to approved contractors in a mixed retail and B2B store | A Shopify segment; the campaign rule cannot be combined with one |
| "At least one order" or "5+ orders" in a store where all accounts are eligible | Campaign rule |
Pre-Launch Tests
| Test input | Expected result |
|---|---|
| Logged-in account with 0 orders | Regular shipping |
| Logged-in account with 1 or more orders | Free shipping |
| Guest checkout | Check: guests may receive free shipping if your store allows guest checkout |
| Day after the end date | Regular shipping for everyone |
| Approved contractor cart | Baseline contractor prices still applied, no conflict shown |
Measurement
- Primary: orders and gross profit from eligible customers during the window, compared with a comparable earlier window for the same group.
- Guardrails: total shipping subsidy, share of subsidized orders from customers who order every two weeks anyway, and orders from accounts outside your intended audience.
- Operational: time from idea to launch, and the number of promotion-only segments created per quarter.
- Confounders: season, contractor project cycles, and price changes. Without a comparison group, a rise during the window is not proof the offer caused it.
- Decide: if order volume during the window is similar to the comparison period, the offer mostly subsidized orders that would have happened; shorten it, add a minimum order value, or drop it.
Frequently asked questions
Can I target a Shopify promotion by number of orders without creating a customer segment?
Yes, in Discount Prime. Choose "Customers matching conditions" in the campaign's eligibility and set Number of orders or Total spent, with up to two conditions that must all be met. The rule uses Shopify's order count and total spent for the customer at checkout, so new qualifiers are included automatically. Test a guest checkout: Free Shipping campaigns skip the rule when no customer is attached. When the campaign ends, the rule stops applying and nothing needs deleting in Shopify.
Can I combine a purchase-history rule with a Shopify segment in one campaign?
No. In Discount Prime, "Customers matching conditions" means all customers who match the rule; it replaces segment eligibility rather than narrowing it. In a store where retail customers also have accounts, a rule like "more than 0 orders" includes them too. If the offer must be limited to approved wholesale accounts, use a Shopify segment for that campaign.
Can I run a temporary wholesale price on top of my standing wholesale prices?
Not as a second price campaign on the same products. A product variant is held by one price campaign at a time, so a second wholesale campaign does not get variants the first already holds unless you move them, which removes baseline pricing for everyone else. Free Shipping, Cross-sell, Bundle, Upsell and Tiered Spend campaigns do not compete for variants and can run alongside.
Can a campaign rule target customers who have not ordered recently?
No. The available conditions are number of orders and total spent; there is no last order date. For a true reactivation audience, such as customers who ordered before but not in the last six months, build a Shopify segment that filters on last order date and delete it after the campaign.
Do guests get a free shipping offer meant for returning customers?
They can. In a Discount Prime Free Shipping campaign, a purchase-history condition is skipped when the checkout has no customer attached, so a guest checkout may receive the offer. For product discounts the opposite applies: a guest cannot be matched and gets no reward. Test a guest checkout before launch if your store allows one.
Go deeper
Run this architecture in your store
Every campaign type in this case study is included in Discount Prime, with profit analytics to verify the margin impact.