Advanced scenarios and solutions for tricky situations.
1. Product Variations #
How Variations Work #
| Selection Type | What Triggers/Targets |
|---|
| Parent product selected | All variations of that product |
| Specific variation selected | Only that exact variation |
| Category selected | All products (including variations) in that category |
Examples #
| Trigger Selection | Cart Item | Matches? |
|---|
| “T-shirt” (parent) | “T-shirt – Blue” (variation) | ✅ Yes |
| “T-shirt” (parent) | “T-shirt – Red” (variation) | ✅ Yes |
| “T-shirt – Blue” (variation) | “T-shirt – Blue” | ✅ Yes |
| “T-shirt – Blue” (variation) | “T-shirt – Red” | ❌ No |
| “Clothing” (category) | Any T-shirt variation | ✅ Yes |
Tip: Select the parent product when you want all variations included. Select specific variations only when you need to limit the campaign.
2. Multiple Campaigns on Same Product #
What Happens? #
When the same product is in multiple BOGO campaigns:
| Scenario | Behavior |
|---|
| Same trigger, different targets | Both campaigns apply (each to its target) |
| Different triggers, same target | First valid campaign applies |
| Identical trigger AND target | Only one applies |
Priority Order #
- Rule priority setting (if configured)
- Higher discount value wins (tiebreaker)
3. Usage Limits #
How Limits Are Tracked #
| Limit Type | Description |
|---|
| Total Limit | Maximum uses across ALL customers |
| Per Customer Limit | Maximum uses per individual customer |
Limit Sharing #
Rules with the same product scope share their limits:
| Rule | Products | Quantity | Discount | Shared Limit |
|---|
| A | Shoes | 2-5 | 10% | 50 total |
| B | Shoes | 6-10 | 20% | 50 total |
If Rule A is used 30 times → Rule B has 20 remaining (shared pool)
Per-Customer Tracking #
| Customer Type | How Tracked |
|---|
| Logged-in user | By user ID |
| Guest | By email address (at checkout) |
4. First Order Discount #
Who Qualifies? #
| Customer | Email Provided | Previous Orders | Eligible? |
|---|
| Logged-in member | — | None | ✅ Yes |
| Logged-in member | — | Has orders | ❌ No |
| Guest | Yes | None with that email | ✅ Yes |
| Guest | Yes | Has orders with email | ❌ No |
| Guest | No email yet | — | ❌ No (verified at checkout) |
Important Notes #
- Email verification happens when customer enters email at checkout
- Orders with status: Processing, Completed, On-Hold count as “previous”
- Pending or Cancelled orders do NOT count
5. Category Hierarchy #
Parent and Child Categories #
| Rule Category | Product in… | Matches? |
|---|
| “Electronics” (parent) | “Phones” (child) | ✅ Yes |
| “Electronics” (parent) | “iPhone” (grandchild) | ✅ Yes |
| “Phones” (child) | “iPhone” (grandchild) | ✅ Yes |
| “Phones” (child) | “Tablets” (sibling) | ❌ No |
Summary: Selecting a parent category automatically includes ALL child categories.
Category + Product Selection (AND Logic) #
When you select BOTH a category AND specific products:
- Product must be in the list AND belong to the category
- Products NOT in the category are automatically removed when saving
6. Quantity Edge Cases #
Trigger Quantity #
| Required | In Cart | Sets Created | Result |
|---|
| 2 | 1 | 0 | ❌ No discount (insufficient) |
| 2 | 2 | 1 | ✅ 1 target discounted |
| 2 | 5 | 2 | ✅ 2 targets discounted |
| 3 | 8 | 2 | ✅ 2 targets (8÷3 = 2 sets) |
Target Availability #
| Sets | Target Qty | Targets in Cart | Discounted |
|---|
| 2 | 1 | 5 | 2 items |
| 3 | 2 | 4 | 4 items (limited by cart) |
| 1 | 3 | 2 | 2 items (not enough for full 3) |
7. Strikethrough Price Display #
When It Appears #
| Condition | Strikethrough |
|---|
| Setting enabled + discount applied | ✅ Shows |
| Setting disabled | ❌ Hidden |
| No discount on item | ❌ Hidden |
| Product page (before cart) | ❌ Hidden (cart only) |
Note: Strikethrough is controlled in Settings → Interface and Accessibility → Cart/Checkout Strikethrough Price.
8. Message Display Rules #
Product Page Messages #
| Product Status | Message Shown |
|---|
| Only a trigger | Trigger message |
| Only a target | Target message |
| Both trigger AND target | Trigger message (priority) |
| Neither | No message |
Cart & Checkout Messages #
| Item Type | Cart Message |
|---|
| Trigger product | ❌ No message |
| Target product (with discount) | ✅ Message shown |
9. Same Product as Trigger AND Target #
How It Works #
When the same product is in both trigger and target:
- Units are first counted as triggers
- Remaining units become targets
- Same unit is never counted twice
Example: Buy 2, Get 1 Free (same product) #
| In Cart | As Trigger | As Target | Free Items |
|---|
| 2 | 2 | 0 | 0 |
| 3 | 2 | 1 | 1 |
| 5 | 4 | 1 | 1 |
| 6 | 4 | 2 | 2 |
10. Troubleshooting #
Discount Not Applying #
| Problem | Check This |
|---|
| Campaign not active | Date range, group not paused |
| Not enough triggers | Count trigger products in cart |
| No target in cart | Add a target product |
| Customer not eligible | Members Only, First Order, Eligible Customers |
| Limit reached | Check “Current Status” in limits modal |
Message Not Appearing #
| Problem | Check This |
|---|
| Not enabled | “Show on Product Page” checkbox |
| No text | Message field is empty |
| Wrong product | Product not in trigger/target scope |
| Campaign inactive | Date range not open |
Wrong Product Getting Discount #
| Issue | Likely Cause |
|---|
| Expensive item discounted | It’s actually the cheapest after sorting |
| Wrong variation | Parent vs specific variation selection |
| Unexpected campaign | Multiple campaigns, different priority |
Quick Reference #
| Topic | Rule |
|---|
| Variations | Parent = all variations, Specific = that one only |
| Categories | Parent includes all children |
| Category + Product | Must match BOTH (AND logic) |
| Same trigger/target | Trigger used first, rest as target |
| Multiple campaigns | Higher priority/discount wins |
| Limits | Same-scope rules share limits |
| First Order | Email-verified at checkout |
| Messages | Trigger message > Target message |
| Cart messages | Target products only |
| Strikethrough | Requires setting to be ON |