1. DISCOUNT TYPES OVERVIEW
App offers 4 main discount types:
1.1 Product Discount
- Purpose: Offer discounts on specific products based on conditions
- Discount Value Options: Percentage, Amount Off, New Price
- Use Cases: Product sales, collection discounts, category promotions
- Example: "20% off T-shirts collection"
1.2 Buy X Get Y (BXGY)
- Purpose: Promotional offers where customers buy X items and get Y items discounted/free
- Discount Value Options: Percentage, Amount Off, New Price
- Use Cases: BOGO deals, bundle promotions, upselling
- Example: "Buy 2 T-shirts, get 1 free"
1.3 Order Discount
- Purpose: Discounts applied to the entire order total
- Discount Value Options: Percentage, Amount Off ONLY (No New Price)
- Use Cases: Cart threshold rewards, order-level promotions
- Note: Focuses on final order total, not individual product prices
- Example: "10% off entire order over $100"
1.4 Shipping Discount
- Purpose: Discounts applied to shipping costs
- Discount Value Options: Percentage, Amount Off ONLY (No New Price)
- Use Cases: Free shipping, reduced shipping costs
- Note: Focuses on shipping cost, not product prices
- Example: "Free shipping on orders over $50"
2. DISCOUNT CONDITIONS SYSTEM
2.1 Overview
- Conditions determine WHEN and TO WHOM discounts apply
- Multiple conditions can be combined using AND/OR logic
- Conditions are organized in GROUPS
- Each group can contain multiple conditions
- Logic can be controlled at TWO LEVELS: within groups and between groups
Important Note: Different types of conditions (product, cart, customer) can ALL be in the same group!
2.2 CONDITION LOGIC (Simple → Advanced)
Usage Statistics:
- 90% of merchants use simple single-group logic
- 10% use advanced multi-group scenarios
Recommendation: Start with single group. Only add multiple groups when you have distinctly different qualifying scenarios.
COMMON USE CASE: Single Group Logic (90% of Use Cases)
2.2.1: ALL Conditions (AND) - "This AND That"
Use When: All conditions must be true together
Business Rule: "Discount on T-shirts BUT exclude sale items"
GROUP 1 - "all conditions" (AND)
├─ Collections is any of [T-shirts]
└─ Collections excludes [Sale]
Results:
✅ T-shirt, NOT on sale → QUALIFIES
❌ T-shirt, ON sale → REJECTED (excluded)
❌ Hoodie, NOT on sale → REJECTED (wrong collection)
Business Rule: "Discount on Nike products over $50"
GROUP 1 - "all conditions" (AND)
├─ Vendor is any of [Nike]
└─ Price is greater than 50
Results:
✅ Nike product, $60 → QUALIFIES
❌ Nike product, $40 → REJECTED (price too low)
❌ Adidas product, $60 → REJECTED (wrong vendor)
Business Rule: "VIP customers buying from Orange collection with cart total $100+"
GROUP 1 - "all conditions" (AND)
├─ Collections is any of [Orange]
├─ Sub total is greater or equal to 100
└─ Customer tags is any of [VIP]
✅ Different types of conditions CAN be in the SAME group!
Results:
✅ VIP, Orange product, $150 cart → QUALIFIES
❌ VIP, Orange product, $50 cart → REJECTED (cart too low)
❌ Regular customer, Orange, $150 → REJECTED (not VIP)
Common Scenarios for AND:
- Include collection BUT exclude specific items
- Target vendor AND price range
- Require cart total AND specific products
- Customer segment AND minimum purchase
- Mix product, cart, and customer conditions together
2.2.2: ANY Conditions (OR) - "This OR That"
Use When: At least ONE condition needs to be true
Business Rule: "Discount applies to T-shirts OR Pants OR Hoodies"
GROUP 1 - "any conditions" (OR)
├─ Collections is any of [T-shirts]
├─ Collections is any of [Pants]
└─ Collections is any of [Hoodies]
Results:
✅ Product in T-shirts → QUALIFIES
✅ Product in Pants → QUALIFIES
✅ Product in Hoodies → QUALIFIES
✅ Product in T-shirts AND Pants → QUALIFIES
❌ Product in Jackets → REJECTED
Business Rule: "VIP members OR Wholesale customers OR Email subscribers"
GROUP 1 - "any conditions" (OR)
├─ Customer tags is any of [VIP]
├─ Customer tags is any of [Wholesale]
└─ Customer accepts marketing is true
Results:
✅ VIP customer → QUALIFIES
✅ Wholesale customer → QUALIFIES
✅ Regular customer who accepts marketing → QUALIFIES
❌ Regular customer, no marketing opt-in → REJECTED
Common Scenarios for OR:
- Multiple collections/categories qualify
- Multiple customer segments
- Multiple vendors/brands
- Alternative qualifying criteria
Quick Reference: AND vs OR
| Use AND ("all conditions") | Use OR ("any conditions") |
|---|---|
| Refinement with exclusions | Multiple alternatives |
| Multiple requirements together | Broadening eligibility |
| "This AND that AND that" | "This OR that OR that" |
| Narrowing down | Expanding options |
| More restrictive | More permissive |
AND = Fewer products qualify (more restrictive)
Example: Must be T-shirt AND expensive AND from Nike
OR = More products qualify (more permissive)
Example: Can be T-shirt OR Pants OR Hoodies
ADVANCED USE CASE: Multiple Groups (10% of Use Cases)
When You Need Multiple Groups
Key Indicators:
- Different product categories need different exclusion rules
- Bundle/combo requirements (must buy A AND B)
- Alternative qualifying scenarios (Scenario A OR Scenario B)
- Cross-category purchase requirements
Important: Only use multiple groups when scenarios have truly different rules that cannot be expressed in a single group.
2.2.3: Different Rules Per Category (OR Between Groups)
Use When: Different product categories have different exclusion rules
Business Rule:
- "T-shirts qualify BUT exclude sale items"
- OR
- "Pants qualify INCLUDING all items (even on sale)"
BETWEEN GROUPS: "any conditions" (OR)
│
GROUP 1 - "all conditions" (AND)
├─ Collections is any of [T-shirts]
└─ Collections excludes [Sale]
│
OR (between groups)
│
GROUP 2 - "all conditions" (AND)
└─ Collections is any of [Pants]
(No exclusion - sale items ARE included)
Results:
✅ T-shirt, NOT on sale → QUALIFIES (Group 1)
❌ T-shirt, ON sale → REJECTED (Group 1 excludes)
✅ Pants, NOT on sale → QUALIFIES (Group 2)
✅ Pants, ON sale → QUALIFIES (Group 2 - no exclusion!)
Why Multiple Groups?
- Cannot apply different exclusion rules to different collections in a single group
- Each category has independent qualifying rules
2.2.4: Alternative Bundles (OR Between Groups)
Use When: Customers can qualify by completing EITHER complete bundle
Business Rule:
"Buy (T-shirt AND Pants) OR (Shoes AND Accessories)"
Translation: Complete clothing bundle OR footwear bundle
BETWEEN GROUPS: "any conditions" (OR)
│
GROUP 1 - "all conditions" (AND)
├─ Collections is any of [T-shirts]
└─ Collections is any of [Pants]
│
OR (between groups)
│
GROUP 2 - "all conditions" (AND)
├─ Collections is any of [Shoes]
└─ Collections is any of [Accessories]
Results:
✅ T-shirt + Pants → QUALIFIES (Group 1 complete)
✅ Shoes + Accessories → QUALIFIES (Group 2 complete)
✅ All 4 items → QUALIFIES (Both groups complete)
❌ T-shirt only → REJECTED (incomplete)
❌ Shoes only → REJECTED (incomplete)
❌ T-shirt + Shoes → REJECTED (neither bundle complete)
Real-World Use Cases:
- "Buy complete outfit A OR complete outfit B"
- "Buy lunch combo 1 OR lunch combo 2"
- "Buy starter kit OR pro kit"
2.2.5: Cross-Category Requirements (AND Between Groups)
Use When: Must have items from multiple categories
Business Rule:
"(T-shirt OR Pants) AND (Shoes OR Accessories)"
Translation: At least one clothing item AND at least one footwear/accessory
BETWEEN GROUPS: "all conditions" (AND)
│
GROUP 1 - "any conditions" (OR)
├─ Collections is any of [T-shirts]
└─ Collections is any of [Pants]
│
AND (between groups)
│
GROUP 2 - "any conditions" (OR)
├─ Collections is any of [Shoes]
└─ Collections is any of [Accessories]
Results:
✅ T-shirt + Shoes → QUALIFIES
✅ Pants + Accessories → QUALIFIES
✅ T-shirt + Pants + Shoes → QUALIFIES
❌ T-shirt only → REJECTED (need Group 2)
❌ Shoes only → REJECTED (need Group 1)
Real-World Use Cases:
- "Complete the look" promotions
- "Top + Bottom" requirements
- Cross-sell incentives
2.3 Pattern Comparison Table
| Pattern | Structure | Use Case | Complexity |
|---|---|---|---|
| (A AND B) | Single group, all conditions | Include with exclusions | ⭐ Simple |
| (A OR B) | Single group, any conditions | Multiple options | ⭐ Simple |
| Different rules per category | Multi-group, OR between | T-shirts (exclude sale) OR Pants (include all) | ⭐⭐ Mid |
| (A AND B) OR (C AND D) | Multi-group, OR between | Alternative complete bundles | ⭐⭐ Mid |
| (A OR B) AND (C OR D) | Multi-group, AND between | Cross-category mix | ⭐⭐⭐ Advanced |
Use When: Must have items from multiple categories
Business Rule:
"(T-shirt OR Pants) AND (Shoes OR Accessories)"
Translation: At least one clothing item AND at least one footwear/accessory
BETWEEN GROUPS: "all conditions" (AND)
│
GROUP 1 - "any conditions" (OR)
├─ Collections is any of [T-shirts]
└─ Collections is any of [Pants]
│
AND (between groups)
│
GROUP 2 - "any conditions" (OR)
├─ Collections is any of [Shoes]
└─ Collections is any of [Accessories]
Results:
✅ T-shirt + Shoes → QUALIFIES
✅ Pants + Accessories → QUALIFIES
✅ T-shirt + Pants + Shoes → QUALIFIES
❌ T-shirt only → REJECTED (need Group 2)
❌ Shoes only → REJECTED (need Group 1)
Real-World Use Cases:
- "Complete the look" promotions
- "Top + Bottom" requirements
- Cross-sell incentives
2.4 Complete Logic Control Reference
TWO LEVELS OF LOGIC:
LEVEL 1: Within Each Grou
- "all conditions" (AND) → ALL conditions in this group must match
- "any conditions" (OR) → At least ONE condition in this group must match
LEVEL 2: Between Groups (only with 2+ groups)
- "all conditions" (AND) → ALL groups must be satisfied
"any conditions" (OR) → At least ONE group must be satisfied
2.5 Available Condition Types (Complete List)
PRODUCT CONDITIONS
1. Collections
- Operators: is any of, is all of, excludes
- Purpose: Target products in specific collections
- UI: Opens modal to select from existing collections
- Example: Collections is any of [Orange, Summer, Sale]
2. Tags
- Operators: is any of, is all of, excludes
- Purpose: Filter products by product tags
- Example: Tags excludes [discontinued, out-of-stock]
3. Product type
- Operators: is any of, is all of, excludes
- Purpose: Target specific product categories
- Example: Product type is any of [T-Shirt, Hoodie]
4. Vendor
- Operators: is any of, is all of, excludes
- Purpose: Filter by product supplier/brand
- Example: Vendor is any of [Nike, Adidas]
5. SKU
- Operators: is any of, is all of, excludes
- Purpose: Target specific product variants by SKU
- Example: SKU is any of [SKU-12345, SKU-67890]
6. Price
- Operators: is greater than, is less than, is greater or equal to, is less or equal to, is equal to, is not equal to
- Purpose: Filter products by price range
- Example: Price is greater than 50
7. Weight
- Operators: is greater than, is less than, is greater or equal to, is less or equal to, is equal to, is not equal to
- Purpose: Filter products by weight
- Example: Weight is less than 5
CART CONDITIONS
8. Sub total
- Operators: is greater than, is less than, is greater or equal to, is less or equal to, is equal to, is not equal to
- Purpose: Set minimum/maximum cart value requirements
- Note: Based on cart subtotal BEFORE discounts are applied
- Example: Sub total is greater or equal to 100
9. Total quantity
- Operators: is greater than, is less than, is greater or equal to, is less or equal to, is equal to, is not equal to
- Purpose: Require minimum/maximum number of items in cart
- Example: Total quantity is greater than 3
10. Total weight
- Operators: is greater than, is less than, is greater or equal to, is less or equal to, is equal to, is not equal to
- Purpose: Filter by total cart weight
- Example: Total weight is less than 10
11. Cartline (Advanced)
- Operators: Various (complex cart line conditions)
- Purpose: Target specific line items in cart
- Example: Specific product variants in cart
CUSTOMER CONDITIONS
12. Customer tags
- Operators: is any of, is all of, excludes
- Purpose: Target customers with specific tags
- Example: Customer tags is any of [VIP, Wholesale, Loyalty-Member]
13. Customer email
- Operators: is any of, is all of, excludes
- Purpose: Target specific customer email addresses
- Input: Text field for email addresses
- Example: Customer email is any of [john@example.com, sarah@example.com]
14. Customer accepts marketing
- Operators: is true, is false
- Purpose: Target customers based on marketing opt-in status
- Example: Customer accepts marketing is true
15. Customer spent
- Operators: is greater than, is less than, is greater or equal to, is less or equal to, is equal to, is not equal to
- Purpose: Target customers by lifetime spend amount
- Example: Customer spent is greater than 1000
16. Customer ordered
- Operators: is greater than, is less than, is greater or equal to, is less or equal to, is equal to, is not equal to
- Purpose: Target customers by total number of orders placed
- Example: Customer ordered is greater than 5
DISCOUNT CONDITIONS
17. Discount code used
- Operators: is any of, is all of, excludes
- Purpose: Require or exclude other discount codes being used
- Example: Discount code used excludes [SUMMER25, FLASH50]
ELIGIBLE CONDITIONS
The "Eligible" condition is a unique and powerful feature that intelligently scans your discount conditions to determine which items or amounts qualify, then applies discount logic based on those eligible items only — regardless of other items in the cart.
2.6 Condition Behavior Notes
Important Technical Details:
- Dynamic Dropdowns: Second dropdown options depend on first dropdown selection
- Multiple Selections: Most conditions allow selecting multiple values (e.g., multiple collections)
- Modals for Selection: Collections, Tags, Vendors, Customers open selection modals
- Text Input: SKU, Email accept direct text input
- Numeric Input: Price, Weight, Subtotal, Quantity require numeric values only
- All Conditions Work Together: Product, cart, and customer conditions can be combined in the same group
3. DISCOUNT VALUE OPTIONS
3.1 Overview
he Discount Value section defines HOW MUCH discount customers receive.
Availability by Discount Type:
| Discount Value Type | Product Discount | Buy X Get Y | Order Discount | Shipping Discount |
|---|---|---|---|---|
| Percentage | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Amount Off | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| New Price | ✅ Yes | ✅ Yes | ❌ No | ❌ No |
Why New Price is Limited:
- Order Discount focuses on final order total, not individual product prices
- Shipping Discount focuses on shipping cost, not product prices
3.2 PERCENTAGE
Description: Gives a percentage off discount from the selling price or order total.
Availability: ALL discount types (Product, BXGY, Order, Shipping)
How It Works:
- Calculates discount as percentage of original price
- Deducts calculated amount from price
- Proportional - higher priced items get larger discount amounts
Final Price = Original Price - (Original Price × Percentage/100)
Original Price: $100
Discount Value: 10%
Calculation: $100 - ($100 × 10%) = $100 - $10
Final Price: $90
$50 item, 20% off → $50 - $10 = $40
$200 item, 20% off → $200 - $40 = $160
$25 item, 15% off → $25 - $3.75 = $21.25
Real-World Use Cases:
- Seasonal sales: "15% off Summer Collection"
- Member discounts: "20% off for VIP members"
- Category sales: "25% off all electronics"
- Flash sales: "30% off for 24 hours"
- Order discounts: "10% off entire order"
- Shipping discounts: "50% off shipping"
UI Elements:
- Input field: Enter percentage value (e.g., 10, 15, 25)
- Unit display: Shows "%" symbol
- Details preview: "15% off on eligible items"
3.3 AMOUNT OFF
Description: A flat deduction from the price. Fixed dollar amount regardless of original price.
Availability: ALL discount types (Product, BXGY, Order, Shipping)
How It Works:
- Subtracts fixed dollar amount from original price
- Same discount value applies to all qualifying items
- Shopify prevents negative prices - minimum final price is $0
Final Price = Original Price - Fixed Amount
(Minimum = $0, never negative)
Original Price: $100
Discount Value: $20 off
Calculation: $100 - $20
Final Price: $80
$150 item, $30 off → $120
$50 item, $30 off → $20
$25 item, $30 off → $0 (not -$5!)
Original Price: $15
Discount Value: $20 off
Calculation: $15 - $20 = -$5
Actual Result: $0 (NOT negative)
✅ CONFIRMED: Shopify automatically prevents prices from going below $0
Real-World Use Cases:
- Welcome discounts: "$10 off your first order"
- Cart threshold rewards: "$20 off orders over $100"
- Fixed savings: "$5 off any purchase"
- Coupon codes: "Use SAVE15 for $15 off"
- Flat shipping: "$5 off shipping"
- Subscription discounts: "$25 off annual plan"
UI Elements:
- Input field: Enter dollar amount (e.g., 5, 10, 20)
- Unit display: Shows "$" symbol (or store currency)
- Details preview: "$20 off on eligible items"
3.4 NEW PRICE
Description: Completely overwrites the original price and defines a new fixed price for ALL qualifying products.
Availability: ONLY Product Discount & Buy X Get Y
- ❌ NOT available in Order Discount
- ❌ NOT available in Shipping Discount
How It Works:
- Replaces original product price entirely
- ALL products meeting conditions get this exact price
- Ignores individual product pricing completely
Works with ALL conditions - if you select 3 collections, all items in all 3 collections get the new price
Final Price = New Price (regardless of Original Price)
Condition: Products in "Clearance" collection
New Price: $8
Product A Original: $10 → New Price: $8
Product B Original: $15 → New Price: $8
Product C Original: $25 → New Price: $8
Product D Original: $50 → New Price: $8
All products now cost exactly $8
Condition: Products in "Collection 1" OR "Collection 2" OR "Collection 3"
New Price: $12
Result: Every product in all 3 collections becomes $12
Important Behavior:
- ✅ Works with ALL conditions
- ✅ Multiple collections = all get same new price
- ✅ Overrides all original pricing
- ✅ Very powerful for uniform pricing strategies
Real-World Use Cases:
- Clearance sales: "All clearance items now $5"
- Uniform pricing events: "Everything in store $9.99"
- Liquidation sales: "All marked items $1"
- Bulk bins pricing: "All items in this collection $12"
- Outlet store pricing: "Entire outlet collection $19"
- BXGY deals: "Buy 2, get 3rd for $1"
UI Elements:
- Input field: Enter new price (e.g., 5, 9.99, 19)
- Unit display: Shows "$" symbol (or store currency)
- Details preview: "New price: $8 for eligible items"
"Use Compare At Price" Checkbox
Full Label: "Use compare at price (fallback to sell price)"
Purpose: Determines which price point to use as the basis for calculating percentage/amount off discounts.
Does NOT apply to: New Price (since it replaces price entirely)
Shopify Price Structure:
- Compare At Price: Original MSRP or "strikethrough" price (shown crossed out to customers)
- Sell Price: Current selling price (may already be on sale/discounted)
Behavior:
☐ UNCHECKED (Default):
- Discount calculated from current "Sell Price"
- Standard discount calculation
- Most common scenario
☑ CHECKED:
- Discount calculated from "Compare At Price" (original/MSRP)
- Falls back to Sell Price if Compare At Price is not set on product
- Shows larger discount amounts to customers
- Better for marketing/perception
Product: Designer Jeans
Compare At Price (MSRP): $150
Current Sell Price: $100
Discount: 20% off
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SCENARIO A: Checkbox UNCHECKED (Default)
├─ Discount calculated from: $100 (Sell Price)
├─ Discount amount: $100 × 20% = $20
├─ Final price: $100 - $20 = $80
└─ Customer saves: $20
SCENARIO B: Checkbox CHECKED
├─ Discount calculated from: $150 (Compare At Price)
├─ Discount amount: $150 × 20% = $30
├─ Final price: $150 - $30 = $120
└─ Customer saves: $30 (larger discount amount!)
When to Use CHECKED:
- Stacking discounts on already-discounted items
- Showing deeper discount percentages for marketing appeal
- During sales where compare-at prices are prominently displayed
- Protecting margins while offering attractive discount numbers
- Products with MSRP significantly higher than sell price
When to Use UNCHECKED:
- Standard discount calculations
- When you don't use compare-at pricing on products
- Simple, straightforward discounts
- Most typical use case (default)
- New product launches without previous pricing
3.6 Discount Value Comparison Table
| Feature | Percentage | Amount Off | New Price |
|---|---|---|---|
| Calculation | % of price | Fixed $ off | Replace price |
| Input Example | 15 | 20 | 50 |
| $100 Item Result | $85 | $80 | $50 |
| $50 Item Result | $42.50 | $30 | $50 |
| $20 Item Result | $17 | $0 (capped) | $50 |
| $200 Item Result | $170 | $180 | $50 |
| Best For | Proportional sales | Flat savings | Uniform pricing |
| Availability | All types | All types | Product & BXGY only |
| With Conditions | ✓ Works | ✓ Works | ✓ All items same price |
| Compare At Price | ✓ Applies | ✓ Applies | ✗ N/A |
4. ELIGIBILITY SETTINGS
4.1 Overview
The Eligibility section determines WHO can use the discount.
Purpose: Control which customers can see and apply the discount.
4.2 Eligibility Options
☑ All customers (Default)
- Discount available to everyone (logged in and guests)
- No restrictions on who can use it
- Most common option for public promotions
- Use for: General sales, public promotions, seasonal discounts
☐ Specific customer segments
- Target pre-created customer segments from Shopify
- How It Works: Customer segments are created in the Shopify admin separately, then selected here
- Selection Method: Choose from dropdown of existing segments
- Segments Must Exist: Cannot create new segments from discount page
Use Cases:
- VIP members segment
- Wholesale customers segment
- High-value customers segment (e.g., spent > $1000)
- Geographic segments (e.g., "California Customers")
- Behavioral segments (e.g., "Repeat Buyers", "Abandoned Cart")
- Email subscribers segment
- Loyalty program tiers
Eligibility: Specific customer segments
Selected Segment: "VIP Members"
Result: Only customers in the VIP Members segment can use discount
☐ Specific customers
- Target individual customers by email address
- How It Works: Enter specific email addresses (fixed emails)
- Input Method: Text input field for email addresses
- Format: Comma-separated or one per line
Use Cases:
- Personal thank-you discounts
- Customer service recovery/apology discounts
- Individual B2B client pricing
- Employee discounts
- Friend & family discounts
- Influencer/affiliate codes for specific people
- Beta tester rewards
Eligibility: Specific customers
Emails: john@example.com, sarah@example.com, mike@company.com
Result: Only these three email addresses can use the discount
4.3 Eligibility Examples
Eligibility: All customers
Discount: 20% off Summer Collection
Result: Anyone can use it
Eligibility: Specific customer segments
Segment: "VIP Members" (pre-created in Shopify)
Discount: 30% off entire store
Result: Only VIP segment members see and can use discount
Eligibility: Specific customers
Email: complainant@email.com
Discount: 50% off next order
Result: Only this specific customer can use the code
5. MAXIMUM DISCOUNT USES
5.1 Overview
Control how many times a discount can be used (total across all customers and per individual customer).
Purpose: Prevent abuse, control budget, create scarcity, limit exposure.
5.2 Usage Limit Options
Limit number of times this discount can be used in total
Purpose: Set a maximum total number of redemptions across ALL customers
How It Works:
- Enter a numeric value (e.g., 100, 500, 1000)
- Discount automatically deactivates after reaching the limit
- Counter tracks total uses across all customers
- Cannot be reused once limit is reached
Limit: 100 uses total
Scenario: Flash sale "First 100 customers get 50% off"
✅Customer 1 uses code (99 remaining)
✅Customer 2 uses code (98 remaining)
✅Customer 3 uses code (97 remaining)
...
✅Customer 100 uses code (0 remaining)
❌Customer 101 tries to use code (DISCOUNT DEACTIVATED)
Use Cases:
- Limited quantity promotions ("First 50 orders")
- Flash sales with caps
- Budget-controlled campaigns
- Scarcity marketing tactics
- Inventory liquidation limits
- Test campaigns with controlled exposure
Important Notes:
- Deactivation is automatic
- Once limit reached, discount code becomes invalid
- No manual reactivation of count
- Useful for managing promotional budgets
Limit to one use per customer
Purpose: Prevent individual customers from using the same discount code multiple times
How It Works:
- Each customer (identified by email address/account) can only use the code once
- Applies regardless of how many separate orders they place
- Tracked by customer email/account
- Prevents discount abuse and repeat usage
Customer A: john@example.com
✅First order (Nov 1): Uses code WELCOME10 | Success → Saves $10
❌Second order (Nov 5): Tries code WELCOME10 | Already used
❌Third order (Nov 10): Tries code WELCOME10 | Still rejected
Result: Customer A cannot use WELCOME10 again, ever
Use Cases:
- Welcome/first-time customer discounts
- One-time incentives
- New customer acquisition codes
- Referral codes (one use per referee)
- Birthday/anniversary discounts
- Account activation rewards
- Preventing serial discount abuse
Important Notes:
- Tracked by customer email/account
- Guest checkouts: tracked by email entered
- Cannot be reset for individual customers
- Permanent one-time use restriction
Limit the discount amount
Purpose: Set a maximum dollar cap on the discount value to protect margins
How It Works:
- Enter maximum discount amount (e.g., $200, $50, $100)
- Discount calculation stops at the cap, even if percentage/amount would be higher
- Protects profit margins on large orders
- Customer still gets discount, just capped at maximum
Actual Discount = MIN(Calculated Discount, Discount Cap)
Order Total: $600
Discount: 50% off
Calculated Discount: $600 × 50% = $300
Discount Cap: $200
Actual Discount Applied: $200 (capped)
Final Order Total: $600 - $200 = $400
Customer saves: $200 (not $300)
Order Total: $300
Discount: 50% off
Calculated Discount: $300 × 50% = $150
Discount Cap: $200
Actual Discount Applied: $150 (below cap, no restriction)
Final Order Total: $300 - $150 = $150
Customer saves: $150 (full discount)
Discount: 30% off | Cap: $100
✅ Order $200 → 30% = $60 off → Applied: $60 (below cap ✓)
✅ Order $300 → 30% = $90 off → Applied: $90 (below cap ✓)
❌ Order $400 → 30% = $120 off → Applied: $100 (capped ✗)
❌ Order $500 → 30% = $150 off → Applied: $100 (capped ✗)
Use Cases:
- Protecting margins on high-value percentage discounts
- Budget control for open-ended promotions
- Wholesale pricing with maximum discount caps
- VIP discounts with reasonable limits
- Percentage discounts that scale too much on large orders
- Tiered discount strategies
Without cap:
Order $10,000 × 50% = $5,000 discount (huge loss!)
With $500 cap:
Order $10,000 × 50% = capped at $500 discount (controlled)
Important Notes:
- Cap applies AFTER discount calculation
- Cap is in dollar amount (not percentage)
- Customers see the capped discount applied
- Useful for generous percentages that could get expensive
5.3 Combining Usage Limits
You can enable multiple limits simultaneously:
Limit number of times: 200 uses total
Limit to one use per customer: Yes
Limit the discount amount: $150 cap
Result:
- Maximum 200 total redemptions
- Each customer can only use it once
- No single order gets more than $150 off
Eligibility: Specific customer segments
Segment: "VIP Members" (pre-created in Shopify)
Discount: 30% off entire store
Result: Only VIP segment members see and can use discount
Eligibility: Specific customers
Email: complainant@email.com
Discount: 50% off next order
Result: Only this specific customer can use the code
6. APPLIES ON (PURCHASE TYPE)
6.1 Overview
Determines what type of purchases the discount applies to: one-time purchases, subscriptions, or both.
Purpose: Control whether discount works for regular purchases, recurring subscriptions, or both scenarios.
6.2 Purchase Type Options
Applies on one time purchase (Default)
- Discount applies to regular, one-time product purchases
- Standard checkout flow
- No recurring billing involved
- Most common scenario
Use Cases:
- Regular product sales
- Standard promotions
- One-time purchase discounts
- Traditional e-commerce
Applies on subscription
- Discount applies ONLY to subscription products
- Products with recurring billing
- Requires subscription functionality enabled in store
Use Cases:
- Recurring product promotions
- Subscription plan incentives
- Monthly/annual subscription discounts
Product: Monthly Coffee Subscription ($30/month)
Discount: 20% off subscription
Result: First payment $24, subsequent payments depend on settings
Both
- Discount applies to BOTH one-time purchases AND subscriptions
- Most flexible option
- Works regardless of purchase type
- Customer can use for either scenario
Use Cases:
- Store-wide promotions
- Customer acquisition campaigns
- Flexible discount codes
- Mixed product catalogs (some regular, some subscription)
Code: SAVE20
Applies to: Both
✅ Customer A buys regular product → 20% off
✅ Customer B subscribes to monthly plan → 20% off
6.3 Subscription Discount Behavior
Important Notes:
- Subscription discounts may apply to first payment only, or recurring (depends on discount settings)
- Requires native/compatible subscription app installed
- Check with subscription app for specific behavior
7 Real-World Example
7.1 Real-World Example: ORANGE100 Discount
Business Requirement:
"Create a discount for Orange collection products, minimum cart total $100, 10% off"
STEP 1: Navigate to Discount Creation
- Go to: Shopify Admin → The Checkout app → Discounts
- Click: "Create discount" button
- Select: "Product discount" from the modal
Discount Type: Product discount
Method: Discount code (customers enter at checkout)
Discount Code: ORANGE100
Discount Value Type: Percentage
Value: 10
Unit Display: %
Use compare at price: UNCHECKED (use sell price)
Preview: "10% off on eligible items"
STEP 4: Discount Conditions
BETWEEN GROUPS: "all conditions" (AND)
GROUP 1 - "all conditions" (AND)
├─ Collections is any of [Orange]
└─ Sub total is greater or equal to 100
Conditions:
• Product's collections is any of 1 items
AND
• Cart's sub total is greater or equal to 100
Scenario A: Customer adds Orange item ($80) to cart
→ Cart total: $80
→ Code ORANGE100: ✗ REJECTED (cart below $100)
Scenario B: Customer adds Orange item ($120) to cart
→ Cart total: $120
→ Code ORANGE100: ✓ APPLIED
→ Discount: $120 × 10% = $12 off
→ Final total: $108
Scenario C: Customer adds Blue item ($150) to cart
→ Cart total: $150
→ Code ORANGE100: ✗ REJECTED (wrong collection)
Scenario D: Customer adds Orange item ($80) + Blue item ($30)
→ Cart total: $110
→ Code ORANGE100: ✓ APPLIED (cart > $100)
→ Discount: Only Orange item discounted
→ Orange: $80 × 10% = $8 off
→ Blue: No discount
→ Final total: $102
7.2 Additional Example Scenarios
Code: VIP50
Type: Product discount
Value: 50% off
Conditions:
- Customer tags is any of [VIP]
- Collections is any of [New Arrivals]
Eligibility: All customers (but condition filters for VIP tag)
Max Uses:
- Total: 100 uses
- Per customer: 1 use only
- Amount cap: $200
Active: Nov 15 9:00 AM - Nov 15 11:59 PM
Combinations: Can combine with shipping discounts
Result: VIP customers get 50% off new arrivals (max $200 off), first 100 uses, one per person, one day only, can combine with free shipping
Code: OUTFIT25
Type: Product discount
Value: 25% off
Conditions (Multiple Groups with AND):
GROUP 1 (any conditions - OR within):
- Collections is any of [T-shirts]
- Collections is any of [Pants]
AND
GROUP 2 (any conditions - OR within):
- Collections is any of [Shoes]
- Collections is any of [Accessories]
Eligibility: All customers
Max Uses: Unlimited
Active: Ongoing
Combinations: Cannot stack
Result: Buy (T-shirt OR Pants) AND (Shoes OR Accessories) get 25% off entire cart
Code: WELCOME10
Type: Order discount
Value: $10 off
Conditions:
- Sub total is greater or equal to 50
- Customer ordered is equal to 0 (first order)
Eligibility: All customers
Max Uses:
- Per customer: 1 use only
Active: Ongoing
Combinations: Cannot stack
Result: First-time customers get $10 off orders over $50, one-time use
Code: CLEAR5
Type: Product discount
Value: New Price = $5
Conditions:
- Collections is any of [Clearance]
Eligibility: All customers
Max Uses:
- Total: 500 uses
Active: Until inventory cleared
Combinations: Cannot stack
Result: All clearance items become $5 each, regardless of original price, first 500 customers
8. ADVANCED TIPS & BEST PRACTICES
8.1 Condition Strategy Tips
✅ Start Simple, Add Complexity
- Begin with single group, basic conditions
- Test thoroughly
- Add additional conditions/groups only if needed
- Don't over-complicate unnecessarily
✅ Use Descriptive Discount Codes
- SUMMER20 (clear meaning: summer, 20% off)
- FREESHIP50 (free shipping, $50 minimum)
- VIP30 (VIP customers, 30% off)
- Avoid cryptic codes like XJ4K9P
✅ Test Before Launch
- Create discount in advance
- Test with real cart scenarios
- Verify conditions work as expected
- Check customer experience on frontend
- Test edge cases (minimum cart, wrong collections, etc.)
✅ Document Your Discounts
- Keep spreadsheet of active codes
- Note start/end dates
- Track performance metrics
- Document intended use cases
8.2 Common Mistakes to Avoid
Wrong:
GROUP 1: Collections is any of [Orange]
AND
GROUP 2: Sub total >= 100
Correct (simpler):
GROUP 1:
├─ Collections is any of [Orange]
└─ Sub total >= 100
Problem: "I want discount on T-shirts but sale items still getting discount"
Solution: Add exclusion condition
├─ Collections is any of [T-shirts]
└─ Collections excludes [Sale]
Problem: "Too many products qualifying"
→ Check if you used OR when you meant AND
Problem: "No products qualifying"
→ Check if you used AND when you meant OR
Problem: "Forgot to turn off flash sale, ran for weeks"
Solution: Always set end date for time-limited promotions
☑ Set end date
End: 2025-11-20 11:59 PM
Problem: "Customer used 3 discounts, got 80% off, lost money"
Solution: Control combination settings carefully
- Only allow necessary stacking (e.g., shipping)
- Monitor deeply discounted orders
- Set discount amount caps if using percentages
8.3 Performance Optimization
Efficient Condition Setup:
- Use fewer conditions when possible
- Avoid overly complex multi-group structures
- Collections are faster than SKU lists
- Customer segments better than individual emails (for large lists)
Monitoring:
- Track discount usage regularly
- Watch for abuse patterns
- Monitor profit margins on discounted orders
- Review effectiveness of conditions
8.4 Customer Experience Best Practices
Clear Communication:
- State requirements clearly (e.g., "ORANGE100: 10% off Orange collection, min $100")
- Show discount code prominently
- Explain restrictions upfront
- Display savings clearly at checkout
Error Handling:
- When discount fails, customer sees error message
- Common errors:
- "Cart total below minimum"
- "Products not eligible"
- "Discount expired"
- "Already used"
Good: "Save 20% on Summer Collection with code SUMMER20 (min $50)"
Bad: "Use code XK49P for discount"
Good: "First 100 customers get 50% off - code FLASH50"
Bad: "Limited time offer - code available"
8.5 Discount Strategy by Goal
Strategy: Welcome discounts
Code: WELCOME10
Value: $10 off or 10% off
Conditions: First order (Customer ordered = 0)
Limit: One per customer
Strategy: Threshold discounts
Code: SAVE20
Value: $20 off
Conditions: Sub total >= 100
Purpose: Encourage customers to add more items
Strategy: Deep discounts or new price
Code: CLEAR5
Value: New price $5 or 70% off
Conditions: Clearance collection
Limit: Total uses to match inventory
Strategy: VIP/Loyalty discounts
Code: VIP25
Value: 25% off
Conditions: Customer tags = VIP
Eligibility: Specific segment
Strategy: Bundle requirements
Code: COMPLETE15
Value: 15% off
Conditions: Must buy from 2+ categories
Structure: Multiple groups with AND
8.6 Seasonal Campaign Planning
High discount values (30-50% off)
Strict time limits (24-48 hours)
Total usage caps for budget control
Allow shipping discount stacking
Heavy promotion required
Moderate discounts (15-25% off)
Longer duration (1-2 weeks)
Gift-with-purchase bundles
Free shipping included
Very high discounts (50-70% off)
Very short duration (hours)
Strict total usage limits
Heavy scarcity messaging
Quick decision-making incentive
Lower discounts (5-15% off)
No end date
Segment-specific (VIP, Email subscribers)
Focus on loyalty and retention
8.7 Troubleshooting Guide
Problem: Discount not applying
Check:
- Is discount active? (check active dates)
- Does customer meet eligibility? (segment/email)
- Do cart items match conditions? (collections, price, etc.)
- Is cart total above minimum? (sub total condition)
- Has customer already used it? (one-use-per-customer limit)
- Has total usage limit been reached?
- Is discount expired?
Problem: Wrong products getting discount
Check:
- Condition logic (AND vs OR)
- Missing exclusion conditions
- Collection assignments on products
- Multiple groups logic (between groups)
Problem: Discount too generous
Solutions:
- Add discount amount cap
- Add minimum cart requirements
- Reduce percentage/amount
- Add more restrictive conditions
- Limit total usage
Problem: Not enough redemptions
Solutions:
- Simplify conditions (too restrictive?)
- Increase discount value
- Improve communication/marketing
- Extend timeframe
- Broaden eligibility
- Allow more combinations
8.8 Analytics & Tracking
Metrics to Monitor:
- Total redemptions
- Revenue per discount code
- Average order value with discount
- Discount amount given
- New vs returning customers
- Conversion rate with discount
- Profit margin impact
Regular Reviews:
- Weekly: Check usage of active campaigns
- Monthly: Analyze discount ROI
- Quarterly: Review overall discount strategy
- Annually: Plan seasonal campaigns