- Example 1: Category + Specific Products (AND Logic)
- Example 2: Multi-Set Calculation
- Example 3: Cheapest-First Priority
- Example 4: Same Product as Trigger AND Target
- Example 5: Hierarchical Category Campaign
- Example 6: Multi-Target with Proportional Pricing
- Example 7: Cross-Category with Limits
- Example 8: Message Configuration for BOGO
- Example 9: First Order + Members Only Combo
- Example 10: Complex Set Calculation
- Summary: Key Differences
Advanced examples for sophisticated BOGO campaigns.
Example 1: Category + Specific Products (AND Logic) #
Use Case: Discount only on specific shoes within the Shoes category.
Configuration #
| Setting | Value |
|---|---|
| Trigger | |
| Category | Shoes |
| Products | Nike Air Max, Adidas Ultra |
| Quantity | 1 |
| Target | |
| Category | Socks |
| Products | — |
| Quantity | 2 |
| Discount | |
| Type | Free |
How AND Logic Works #
| Product in Cart | Triggers? | Why |
|---|---|---|
| Nike Air Max | ✅ Yes | In category AND in product list |
| Adidas Ultra | ✅ Yes | In category AND in product list |
| Nike React | ❌ No | In category but NOT in product list |
| Random T-shirt | ❌ No | Not in category |
Result #
Only Nike Air Max or Adidas Ultra purchases get free socks.
Example 2: Multi-Set Calculation #
Use Case: Buy 2 shirts, get 1 tie free. Customer buys many items.
Configuration #
| Setting | Value |
|---|---|
| Trigger | |
| Category | Dress Shirts |
| Quantity | 2 |
| Target | |
| Category | Ties |
| Quantity | 1 |
| Discount | |
| Type | Free |
Cart Simulation #
| Shirts | Ties in Cart | Sets | Free Ties | Paid Ties |
|---|---|---|---|---|
| 2 | 1 | 1 | 1 | 0 |
| 4 | 2 | 2 | 2 | 0 |
| 5 | 3 | 2 | 2 | 1 |
| 6 | 4 | 3 | 3 | 1 |
| 7 | 2 | 3 | 2 | 0 |
Formula: Sets = floor(Shirts ÷ 2), Free Ties = min(Sets, Ties in Cart)
Example 3: Cheapest-First Priority #
Use Case: Understanding which product gets the discount.
Configuration #
| Setting | Value |
|---|---|
| Trigger | |
| Products | Laptop |
| Quantity | 1 |
| Target | |
| Products | Mouse ($50), Keyboard ($80), Monitor ($200) |
| Quantity | 2 |
| Discount | |
| Type | Free |
Cart Simulation #
Cart: Laptop, Mouse ($50), Keyboard ($80), Monitor ($200)
| Step | Action |
|---|---|
| 1 | Sort targets by price: Mouse < Keyboard < Monitor |
| 2 | Sets = 1 (1 laptop ÷ 1) |
| 3 | Free items = 2 |
| 4 | Apply to cheapest: Mouse FREE, Keyboard FREE |
| 5 | Monitor: Full price |
Total Savings: $50 + $80 = $130
Example 4: Same Product as Trigger AND Target #
Use Case: Buy 3 of same item, cheapest free.
Configuration #
| Setting | Value |
|---|---|
| Trigger | |
| Products | Wine Bottle Red |
| Quantity | 2 |
| Target | |
| Products | Wine Bottle Red |
| Quantity | 1 |
| Discount | |
| Type | Free |
Important Behavior #
Since trigger and target are the same product:
- First 2 units → Used as triggers
- 3rd unit → Available as target → Gets discount
Cart Simulation #
| Bottles | Triggers Used | Targets Available | Free |
|---|---|---|---|
| 2 | 2 | 0 | 0 |
| 3 | 2 | 1 | 1 |
| 4 | 2 | 2 | 1 |
| 5 | 4 | 1 | 1 |
| 6 | 4 | 2 | 2 |
Example 5: Hierarchical Category Campaign #
Use Case: Any Electronics purchase gives accessory discount.
Category Structure #
Electronics (ID: 10)├── Phones (ID: 11)│ ├── iPhone│ └── Samsung├── Tablets (ID: 12)│ └── iPad└── Laptops (ID: 13) └── MacBook
Configuration #
| Setting | Value |
|---|---|
| Trigger | |
| Category | Electronics (ID: 10) |
| Quantity | 1 |
| Target | |
| Category | Accessories |
| Quantity | 1 |
| Discount | |
| Type | Percentage |
| Value | 25 |
Result #
- ✅ iPhone triggers (child of Electronics)
- ✅ iPad triggers (child of Electronics)
- ✅ MacBook triggers (child of Electronics)
- All electronics products trigger the 25% accessory discount
Example 6: Multi-Target with Proportional Pricing #
Use Case: 3 items in cart, 1 gets discount.
Configuration #
| Setting | Value |
|---|---|
| Trigger | |
| Category | Clothing |
| Quantity | 2 |
| Target | |
| Category | Clothing |
| Quantity | 1 |
| Discount | |
| Type | Percentage |
| Value | 100 |
Cart Simulation #
Cart: T-shirt ($20) × 2, Jeans ($60) × 1
| Item | Original | After Discount |
|---|---|---|
| T-shirt | $20 × 2 = $40 | $40 (triggers) |
| Jeans | $60 × 1 = $60 | $0 (target, 100% off) |
| Total | $100 | $40 |
Note: Even though Jeans is more expensive, it becomes the target because triggers are used first.
Wait, this is wrong. Let me recalculate:
Correct Behavior: Since all 3 items are in the same category:
- System needs 2 triggers
- Cheapest item becomes target
- T-shirt ($20) gets 100% off
| Item | Role | Price |
|---|---|---|
| T-shirt #1 | Trigger | $20 |
| Jeans | Trigger | $60 |
| T-shirt #2 | Target | $0 (free) |
| Total | $80 |
Example 7: Cross-Category with Limits #
Use Case: Seasonal promotion with total limit.
Configuration #
| Setting | Value |
|---|---|
| Trigger | |
| Category | Winter Jackets |
| Quantity | 1 |
| Target | |
| Category | Winter Accessories (scarves, gloves) |
| Quantity | 2 |
| Discount | |
| Type | Percentage |
| Value | 50 |
| Limits | |
| Total Limit | 100 |
| Per Customer | 2 |
Behavior #
- Campaign ends after 100 total uses
- Each customer can use maximum 2 times
- Each jacket = 2 accessories at 50% off
Example 8: Message Configuration for BOGO #
Use Case: Different messages for trigger and target products.
Message Setup #
| Message Type | Text | When Shown |
|---|---|---|
| Trigger Product | “Buy this and get 50% off on Belts!” | On jacket product page |
| Target Product | “50% off when you buy a Jacket!” | On belt product page |
| Cart Message | “You’re getting 50% off your belt!” | In cart (target only) |
Conflict Scenario #
If Belt is in BOTH trigger and target lists:
- Trigger message shown (trigger takes priority)
- Cart message still shown (because it’s a target in cart)
Example 9: First Order + Members Only Combo #
Use Case: Welcome discount for new registered customers.
Configuration #
| Setting | Value |
|---|---|
| Trigger | |
| Category | All Products |
| Quantity | 1 |
| Target | |
| Category | All Products |
| Quantity | 1 |
| Discount | |
| Type | Percentage |
| Value | 20 |
| Conditions | |
| Members Only | ✅ |
| First Order | ✅ |
Who Gets This Discount? #
| Customer Type | First Order? | Eligible? |
|---|---|---|
| Guest | Yes | ❌ No (not logged in) |
| Member | Yes | ✅ Yes |
| Member | No | ❌ No (repeat customer) |
Example 10: Complex Set Calculation #
Use Case: Buy 3 shoes, get 2 socks free per set.
Configuration #
| Setting | Value |
|---|---|
| Trigger | |
| Category | Shoes |
| Quantity | 3 |
| Target | |
| Category | Socks |
| Quantity | 2 |
| Discount | |
| Type | Free |
Detailed Cart Simulations #
Scenario A: 6 shoes, 5 socks
| Calculation | Result |
|---|---|
| Sets = floor(6 ÷ 3) | 2 sets |
| Free socks = 2 × 2 | 4 socks |
| Paid socks | 1 sock |
Scenario B: 7 shoes, 3 socks
| Calculation | Result |
|---|---|
| Sets = floor(7 ÷ 3) | 2 sets |
| Free socks = min(4, 3) | 3 socks (all free) |
| Leftover shoes | 1 (not enough for next set) |
Scenario C: 9 shoes, 10 socks
| Calculation | Result |
|---|---|
| Sets = floor(9 ÷ 3) | 3 sets |
| Free socks = 3 × 2 | 6 socks free |
| Paid socks | 4 socks |
Summary: Key Differences #
| Aspect | Simple BOGO | Complex BOGO |
|---|---|---|
| Scope | Single product/category | Multiple categories, AND logic |
| Sets | Usually 1 | Multiple sets possible |
| Conditions | None or basic | Members + First Order + Limits |
| Messages | Basic | Separate trigger/target messages |
| Calculation | Straightforward | Requires floor() and min() |