This guide is for users who have mastered basic BOGO setup.
Category-Based Campaigns #
Instead of selecting individual products, you can include entire categories.
Example: Buy from Pants Category, Get Belt Category Free #
| Setting | Value |
|---|---|
| Trigger Category | Pants |
| Trigger Quantity | 1 |
| Target Category | Belts |
| Target Quantity | 1 |
| Discount | Free |
Result: Any pants purchase gets any belt free.
Hierarchical Category Support #
When you select a parent category, all child categories are automatically included.
Example Category Tree:
Clothing (parent)├── Men's Clothing│ ├── T-shirts│ └── Pants└── Women's Clothing ├── Dresses └── Blouses
Selecting “Clothing” as trigger → All products in Men’s Clothing, Women’s Clothing, and their sub-categories are included.
Category + Product Combination (AND Logic) #
When you select both category and products, AND logic applies:
| Selection | Result |
|---|---|
| Category Only | All products in that category |
| Products Only | Only the selected products |
| Category + Products | Selected products that ARE in the category |
Example: Specific Products Within Electronics #
| Setting | Value |
|---|---|
| Trigger Category | Electronics |
| Trigger Products | iPhone 15, Samsung S24 |
| Trigger Quantity | 1 |
What Triggers:
- ✅ iPhone 15 (in category AND in list)
- ✅ Samsung S24 (in category AND in list)
- ❌ iPhone 14 (in category but NOT in list)
- ❌ Nike Shoes (not in category)
Auto-Cleanup: Products not belonging to the selected category are automatically removed when saving.
Set Calculation Formula #
BOGO campaigns work on a set basis.
Formula #
Number of Sets = Trigger Total ÷ Trigger Quantity (rounded down)Discounted Items = Number of Sets × Target Quantity
Calculation Examples #
| Trigger Qty | Cart Triggers | Target Qty | Sets | Discounted |
|---|---|---|---|---|
| 2 | 5 | 1 | 2 | 2 |
| 3 | 7 | 2 | 2 | 4 |
| 1 | 4 | 1 | 4 | 4 |
Detailed Example #
Campaign: Buy 2 of X, Get 1 of Y Free
Cart Contents: X (5 items), Y (4 items)
Sets = floor(5 ÷ 2) = 2Discounted Y = 2 × 1 = 2 items
Result:
- 2 Y items are free
- 2 Y items at regular price
- Total: 4 Y items, 2 paid
Cheapest-First Discount Rule #
When multiple target products exist, discount is always applied to the cheapest first.
Example Cart (Target Products):
| Product | Price |
|---|---|
| Belt A | $150 |
| Belt B | $100 |
| Belt C | $200 |
Discount Order: Belt B ($100) → Belt A ($150) → Belt C ($200)
This is a consumer-friendly industry standard.
Trigger/Target Overlap Rules #
Same Product Cannot Be Both Trigger AND Target #
When the same product is in both lists:
- First counted as trigger
- Remaining quantity can be target
Example:
Campaign: Buy 2 of Product A, Get 1 of Product A at 50% Off
Cart: Product A (3 items)
Result:
- 2 items used as triggers
- 1 item receives 50% discount
Identical Product Lists Are Blocked #
If trigger and target product lists are exactly the same, the system blocks the save with an error.
Partial Overlap: Overlapping products are automatically removed from target list.
Message Priority System #
Product Page Messages #
BOGO has two separate product messages:
| Message Type | Shown On | Purpose |
|---|---|---|
| Trigger Product Message | Trigger product pages | Promote the campaign |
| Target Product Message | Target product pages | Show discount availability |
Conflict Resolution #
If a product is both trigger and target:
- Trigger message takes priority
- Only trigger message is displayed on product page
Cart Messages #
| Behavior | Description |
|---|---|
| Trigger Products | No cart message shown |
| Target Products | Cart message is displayed |
This prevents duplicate or confusing messages in cart.
Usage Limits – Advanced #
Limit Inheritance for Tiered Rules #
When you have multiple rules with the same scope (same category/products), they share limits:
Example:
- Rule 1: Buy 2-5, get 10% off (same products)
- Rule 2: Buy 6-10, get 20% off (same products)
Behavior: Both rules share the same usage counter because they have identical scope.
Per Customer Validation #
Per-customer limit is checked:
- Logged-in users: Via user ID
- Guest users: Via email address at checkout
Cross-Group Conflict Rules #
Date Overlap Detection #
If two groups have overlapping dates, they cannot:
- Use the same trigger products
- Use the same trigger category
Error Message: “BOGO conflict: Same trigger product/category is used in group ‘X'”
Solutions:
- Change date ranges (no overlap)
- Use different trigger products/categories
- Merge into a single group
Campaign Type Conflicts #
Different campaign types on the same product within overlapping dates are blocked:
- BOGO vs Fixed Discount on same product
- Multiple BOGO on same trigger
Advanced Scenarios #
Scenario 1: Cross-Category BOGO #
Setup:
- Trigger: “Shoes” category, quantity 1
- Target: “Socks” category, quantity 2
- Discount: 50%
Result: Every pair of shoes → 2 pairs of socks at half price.
Scenario 2: VIP Customer Exclusive #
Setup:
- Trigger: Premium Product, quantity 1
- Target: Any accessory
- Discount: Free
- Customer Condition: Eligible Customers = VIP list
Result: Only VIP customers get free accessory.
Scenario 3: First-Time Buyer Campaign #
Setup:
- Trigger: Any product in “Starter Kits” category
- Target: “Accessories” category
- Discount: 25%
- Customer Condition: First Order = Yes
Result: New customers get 25% off accessories with starter kit.
Scenario 4: Limited Flash Sale #
Setup:
- Configure BOGO as normal
- Usage Limits: Total = 50, Per Customer = 1
Result: First 50 customers only, one use each.
Troubleshooting #
Why Isn’t the Discount Applying? #
| Issue | Solution |
|---|---|
| Not enough triggers in cart | Add more trigger products |
| No target products in cart | Add target products |
| Usage limit reached | Check total/per-customer limits |
| Date not active | Check group date range |
| Customer not eligible | Check Members Only/First Order/Eligible Customers |
Why Were My Products Removed? #
Products are automatically removed when:
- Category is selected but products don’t belong to it
- Trigger and target products overlap (removed from target)
Cross-Group Error Messages #
| Error | Cause | Solution |
|---|---|---|
| “Same trigger product” | Product used in another BOGO | Change product or dates |
| “Same trigger category” | Category used in another BOGO | Change category or dates |
| “Campaign type mismatch” | Different campaign on same product | Consolidate campaigns |
Summary Table #
| Topic | Behavior |
|---|---|
| Category + Product | AND logic |
| Parent category | Includes child categories |
| Discount order | Cheapest first |
| Same product trigger+target | Trigger takes priority |
| Set calculation | floor(trigger ÷ qty) × target_qty |
| Message conflict | Trigger message priority |
| Cart messages | Target products only |
| Limit sharing | Same scope shares limits |
| Cross-group | No trigger overlap allowed |