This guide explains every rule type available under the Make a Purchase entry action,
how they combine, and exactly how entries are calculated for each order.
The Big Picture
When a customer places an order, Giveaway Ninja receives a webhook from your Shopify store,
matches the customer to your giveaway, and evaluates a chain of rules to determine how many entries to award.
Each rule builds on the previous one.
Important: The evaluation order matters because some rules affect how others calculate.
Here is the actual processing sequence:
Customer places an order
↓
[Webhook Received] — Order arrives from Shopify
↓
[Duplicate Check] — Prevents the same order being processed twice
↓
[Match Customer] — Find participant by email, coupon, or auto-signup
↓
[Validation Checks] — Order Source, Date Range, Minimum Value
↓
[Bundle Rules] — Evaluated FIRST (awards points + optionally excludes from order total)
↓
[AOV Booster] — Evaluated SECOND (detects trigger products + optionally excludes from order total)
↓
[Base Points] — Calculated on the adjusted order value (after deductions)
↓
[Product Rules] — Points for individual products (with bundle skip logic)
↓
Subtotal = Base + Bundle + Product Rule points
↓
[Period Multiplier] — Time-based boost (e.g. 2x during Black Friday)
↓
[AOV Booster Multiplier] — Product-triggered multiplier applied last
↓
= FINAL ENTRIES
Each step is optional. If you don't configure Bundle Rules, that step contributes 0 points.
If you don't configure a Period Multiplier or AOV Booster, they default to 1x (no change).
How Orders Are Received and Matched
When a customer completes a purchase, Shopify sends an order webhook to Giveaway Ninja.
The system processes it through several stages before any rules are evaluated.
Duplicate Prevention
Every webhook is assigned a unique ID. If the same webhook arrives twice (which can happen due to network retries),
the duplicate is silently ignored. A single order can never award entries more than once.
Customer Matching
The system connects the incoming order to a participant in your giveaway using these priorities:
Priority 1 — Find an enrolled participant:
- First, match the order's email address to a participant in any active giveaway
- If no email match, try matching the order's discount code to a participant's unique coupon
- If multiple giveaways are active, the most recently created giveaway is checked first
Priority 2 — Auto-Signup (if enabled):
- If no enrolled participant is found, the system looks for the most recent active giveaway with Auto-Signup turned on
- A new participant is created using the customer's order details (email, name, phone, country)
- The new participant immediately receives entries for this order
Priority 3 — No match found:
- The order is logged with status "no-user" but no entries are awarded
- You can see these in the Order Logs — useful for understanding why an order didn't earn entries
Tip: The email address on the order is the primary way customers are matched.
Make sure your participants use the same email for your giveaway and their store account.
With Auto-Signup enabled, every customer who places an order automatically becomes a participant —
great for "earn entries on every purchase" campaigns.
Validation Checks
Before any entries are calculated, the order must pass up to three validation checks.
These checks determine whether the order qualifies at all.
Order Source
Restricts which sales channels earn entries:
| Option |
What Qualifies |
What's Excluded |
| All Sources |
Every order regardless of origin |
Nothing |
| Online Store Only |
Website orders and draft orders |
POS, mobile app, third-party channels |
| Point of Sale Only |
In-person POS transactions |
Online orders, draft orders, everything else |
| Online Store + POS |
Website orders and POS transactions |
Draft orders, mobile app, third-party channels |
Draft order note: "Online Store Only" includes Shopify draft orders,
but "Online Store + POS" does not include draft orders. If you use draft orders
for manual orders and want them to count, select "Online Store Only" or "All Sources."
If the order source doesn't match, the entire order earns zero entries.
No base points, no bundle points, no product rule points — nothing. This is the strictest validation check.
Order Date Range
When enabled, only orders placed within the specified start and end dates will earn base points (Entries Per Order).
Important detail: If the order date is outside the allowed range, only the base points are zeroed.
Bundle Rules, Product Rules, and multipliers still evaluate and can still award entries.
This lets you run product-specific promotions with different timing than your base point awards.
Minimum Order Value
When enabled, orders with a subtotal (products only, before shipping and taxes)
below the threshold earn zero base points.
Same behavior as date range: only base points are affected.
Bundle Rules and Product Rules still evaluate independently.
The minimum value check uses the order subtotal (not the total with shipping/taxes).
Validation Summary
| Check |
What It Gates |
If It Fails |
| Order Source |
Everything |
Zero entries for the entire order |
| Order Date Range |
Base points only |
Bundle + Product rules still apply |
| Minimum Order Value |
Base points only |
Bundle + Product rules still apply |
Bundle Rules
Bundle Rules reward customers for purchasing specific product combinations.
A bundle is made up of one or more product groups, and each group specifies which products qualify and how many the customer must buy.
Bundle Rules are evaluated first in the calculation chain — before base points and product rules. This is important for two reasons:
- They can consume quantities that Product Rules would otherwise count (via "Skip if Bundle Matched")
- They can optionally exclude matched product amounts from the base points calculation
Shopify Bundle Apps: Third-party bundle apps (e.g. Shopify Bundles, Fast Bundle, etc.)
split bundled products into individual line items at checkout. Giveaway Ninja does not communicate with
your bundling app and has no way to know which products were originally sold together as a bundle.
For this reason, you must re-map your bundles within the Make a Purchase feature by creating
Bundle Rules that match the same product combinations your bundling app uses.
This ensures customers receive the correct entries for purchasing your bundles.
How Matching Works
All groups must be satisfied for the bundle to match. The system checks every group,
counts how many qualifying items are in the order, and calculates the bundle multiple —
how many complete bundles the customer bought.
For each group:
available quantity = sum of matching line items in the order
group multiple = floor(available quantity ÷ required quantity)
Bundle multiple = smallest group multiple across all groups
Points = bundle multiple × entries per bundle
Multiple Bundle Rules
When you have multiple Bundle Rules, they are sorted by highest reward first and evaluated against a
shared quantity pool. Higher-value bundles get priority. Once a bundle consumes items from the pool,
those items are no longer available for other bundle rules.
Example: "Athleisure Bundle"
• Group 1: Any Hoodie (3 products) — Required: 2
• Group 2: Any T-Shirt (5 products) — Required: 1
• Entries per bundle: 100
Customer's order: 5 Hoodies, 3 T-Shirts
• Group 1: 5 available ÷ 2 required = 2 complete
• Group 2: 3 available ÷ 1 required = 3 complete
• Bundle multiple = min(2, 3) = 2
• Points = 2 × 100 = 200 entries
• Quantities consumed: 4 Hoodies + 2 T-Shirts (removed from pool for other bundle rules)
Exclude from Order Total
When enabled, the total price of products consumed by the bundle is deducted from the order value
used to calculate base points. This prevents double-rewarding: customers get the bundle bonus entries
instead of base per-amount entries for those products.
Example: A customer buys a $40 Hoodie + $25 T-Shirt bundle.
With "Exclude from Order Total" on, $65 is subtracted from the order value before calculating "per $X spent" base points.
The customer gets the bundle bonus entries for those products, not per-amount base entries.
Limits: Maximum 10 bundle rules per giveaway.
A product can appear in multiple bundle definitions, but the actual quantities are shared across rules.
AOV Booster
The AOV (Average Order Value) Booster multiplies the entire order's entries
when a specific trigger product is in the cart. It incentivizes customers to add high-value or featured products to their orders.
Although its multiplier is applied last, the AOV Booster is evaluated early because it can optionally
exclude trigger product amounts from the base points calculation.
How It Works
- If any line item in the order matches a booster's trigger products, the booster activates
- The multiplier is applied at the very end, after all points are summed and after the Period Multiplier
- AOV Boosters are stackable: when multiple boosters match, their multipliers are summed together
- Quantity matters: each unit of a trigger product contributes its multiplier, so buying 2 units of a 3x booster = 6x
Multiple Boosters & Quantities
A customer can purchase multiple AOV Booster products in a single order.
When this happens, the multipliers are summed, not stacked by highest.
Each unit of a trigger product adds its booster's multiplier to the total.
AOV Multiplier = sum of (booster multiplier × matched quantity) for each triggered booster
If no boosters match → AOV Multiplier = 1 (no change)
Example: Two AOV Boosters configured:
• "Entry Booster Card" (Product A) → 3x multiplier
• "Super Booster Card" (Product B) → 4x multiplier
Scenario 1: Customer buys 1 of Product A + 1 of Product B
• AOV Multiplier = (3 × 1) + (4 × 1) = 7x
Scenario 2: Customer buys 2 of Product A
• AOV Multiplier = 3 × 2 = 6x
Scenario 3: Customer buys 3 of Product A + 1 of Product B
• AOV Multiplier = (3 × 3) + (4 × 1) = 13x
Exclude from Order Total
When enabled, the total price of trigger products is deducted from the order value used to calculate base points.
This is useful when the trigger product is something like a cheap add-on or a "multiplier card" that you don't want
contributing to per-amount base entries.
Example: You sell a "$5 Entry Booster Card" that triggers a 5x multiplier.
With "Exclude from Order Total" on, the $5 is not counted toward the "per $X spent" base point calculation.
The customer gets the 5x multiplication without also earning base points on the $5 item.
Entries Per Order (Base Points)
This determines how many points every qualifying order earns based on the order value.
Base points are calculated after Bundle Rules and AOV Boosters, because those can deduct amounts from the calculation base.
Reward Modes
| Mode |
How It Works |
Example |
| Fixed per order |
Every qualifying order gets the same number of entries, regardless of value |
10 entries per order |
| Per amount spent |
Entries scale with the order value (after deductions) |
5 entries per $10 spent |
| No base points |
Orders earn 0 base points — only Product Rules, Bundle Rules, and multipliers apply |
Use when you want entries exclusively from product-specific rules |
Calculate Order Entries On
| Option |
What's Included |
| Order Total Paid |
The total amount paid (includes shipping & taxes, after discounts) |
| Order Subtotal |
Product prices only (no shipping, no taxes) |
Deductions from the Calculation Base
When using "Per amount spent" mode, the order value is adjusted before calculating entries.
The following amounts are deducted:
- Gift card amounts — If the customer paid partially with a gift card, that amount is subtracted
- Bundle Rule excluded amounts — If any Bundle Rule has "Exclude from Order Total" enabled
- AOV Booster excluded amounts — If any AOV Booster has "Exclude from Order Total" enabled
The calculation base can never go below $0.
Adjusted Order Value = Order Total (or Subtotal)
− Gift Card Amount
− Bundle Excluded Amount
− AOV Booster Excluded Amount
Base Points = floor(Adjusted Order Value ÷ Amount Per Entry) × Entries Per Increment
Example: 5 entries per $10 spent, using Order Subtotal
Order subtotal: $150.00
Gift card used: $20.00
Bundle "Exclude from Order Total" deduction: $45.00
Adjusted value: $150 − $20 − $45 = $85.00
Base points = floor($85 ÷ $10) × 5 = 8 × 5 = 40 entries
Gift Cards: If a customer uses a gift card for partial payment, Giveaway Ninja automatically detects
and deducts the gift card amount. This only applies to "Per amount spent" mode — "Fixed per order" is unaffected.
Product & Variant Rules
Product & Variant Rules award entries for purchasing specific products or variants,
independently of other products in the order.
Targeting
- Product-level targeting: Any variant of the selected product qualifies
- Variant-level targeting: Only the specific variant(s) you select qualify
Reward Modes
Per Quantity:
Points = matching quantity × entries per unit
Per Amount Spent:
Points = floor(total matching amount ÷ amount threshold) × entries
Date Ranges
Each Product Rule can have its own date range. If the current time (UTC) is outside the range, the rule is skipped entirely.
Product Rule date ranges check the current time (when the webhook is processed),
while the Order Date Range filter checks the order's creation date. These are different checks.
Bonus Order Entries
Each Product Rule can have an optional bonus threshold. This awards extra entries when the customer's
total spending on that rule's products exceeds a specified amount.
If total spent on rule's matched products ≥ threshold:
Total rule points = (per-unit or per-amount points) + bonus entries
Example: Rule "Premium Hoodie" awards 25 entries per unit, plus 100 bonus entries when the customer spends $200+ on Premium Hoodies.
Customer buys 3 Premium Hoodies at $80 each = $240 spent
• Per quantity: 3 × 25 = 75 entries
• Bonus: $240 ≥ $200 threshold → 100 extra entries
• Rule total: 75 + 100 = 175 entries
If "Skip if Bundle Matched" is enabled, the bonus threshold check uses the reduced quantities
(after subtracting bundle-consumed items). Only non-bundled spending counts toward the bonus threshold.
Skip if Bundle Matched
When you use both Bundle Rules and Product Rules targeting the same products,
enable this checkbox to avoid double-counting. When enabled:
- Quantities already consumed by Bundle Rules are subtracted before the Product Rule evaluates
- Only the remaining quantities earn Product Rule points
- The bonus order entries threshold also uses the reduced quantities/amounts
This checkbox only appears when you have at least one Bundle Rule configured.
Example with Skip Logic:
Bundle Rule: 2 Hoodies + 1 T-Shirt → 100 entries
Product Rule: Hoodie → 25 entries each (Skip if Bundle Matched: ON)
Order: 5 Hoodies, 2 T-Shirts
1. Bundle evaluates first: min(5÷2, 2÷1) = 2 bundles → 200 entries, consumes 4 Hoodies + 2 T-Shirts
2. Product Rule sees 5 − 4 = 1 remaining Hoodie → 25 entries
Total from rules: 200 + 25 = 225 entries
Without "Skip if Bundle Matched", the Product Rule would have counted all 5 Hoodies = 125 entries, giving 200 + 125 = 325 entries.
Limits: Maximum 15 Product & Variant Rules per giveaway.
Rules are evaluated independently — a single line item can match multiple rules.
Purchase Period Multiplier
Purchase Period Multipliers boost entries during specific time windows.
Perfect for promotions like "Double Points Weekend" or "Black Friday 3x Entries."
How It Works
- The system checks the order's creation date against each period's date range
- If the order falls within a period, the entire subtotal (base + bundle + product rule points) is multiplied
- If multiple periods overlap, only the highest multiplier applies (they do not stack)
- If no period matches, the multiplier is 1x (no change)
After the Period Multiplier is applied, the AOV Booster multiplier is applied last:
Final Entries = (Base + Bundle + Product Rule Points) × Period Multiplier × AOV Booster Multiplier
1. Bundle Points = Sum of all matching bundle rules
2. AOV Excluded Amount = Trigger product prices (if Exclude from Order Total is on)
3. Bundle Excluded Amount = Consumed product prices (if Exclude from Order Total is on)
4. Adjusted Order Value = Order Total (or Subtotal)
− Gift Card Amount
− Bundle Excluded Amount
− AOV Excluded Amount
5. Base Points = Fixed value, or floor(Adjusted Value ÷ amount) × entries, or 0
6. Product Rule Points = Sum of all matching rules (with skip logic + bonus entries)
7. Subtotal = Base Points + Bundle Points + Product Rule Points
8. Final Entries = Subtotal × Period Multiplier × AOV Booster Multiplier
Examples
Example 1: Simple Fixed Points
Settings: 10 entries per order (fixed), no other rules
Customer places a $50 order → 10 entries
Example 2: Per-Amount with Gift Card
Settings: 1 entry per $5 spent (Order Total)
Customer places a $100 order, pays $30 with a gift card
• Adjusted value: $100 − $30 = $70
• Base points: floor($70 ÷ $5) × 1 = 14 entries
Example 3: Per-Amount with Product Rules
Settings: 1 entry per $5 spent (subtotal)
Product Rule: "Limited Edition Sneakers" → 200 entries each
Customer buys: 2 Limited Edition Sneakers ($120 each) + 1 T-Shirt ($30)
• Order subtotal: $270
• Base points: floor($270 ÷ $5) × 1 = 54 entries
• Product Rule: 2 × 200 = 400 entries
• Total: 54 + 400 = 454 entries
Example 4: Bundle with Exclude from Order Total
Settings: 2 entries per $10 spent (subtotal)
Bundle Rule: 1 Hoodie + 1 T-Shirt → 150 entries (Exclude from Order Total: ON)
Customer buys: 2 Hoodies ($40 each), 2 T-Shirts ($20 each), 1 Accessory ($15)
• Order subtotal: $135
• Bundle: min(2÷1, 2÷1) = 2 bundles → 300 entries, consumes 2 Hoodies + 2 T-Shirts
• Bundle excluded amount: 2 × $40 + 2 × $20 = $120
• Adjusted order value: $135 − $120 = $15
• Base points: floor($15 ÷ $10) × 2 = 2 entries
• Total: 300 + 2 = 302 entries
Without "Exclude from Order Total": base points would be floor($135 ÷ $10) × 2 = 26, total = 326
Example 5: Product Rule with Bonus Order Entries
Settings: No base points
Product Rule: "Premium Sneakers" → 10 entries per unit, Bonus: 500 entries when spending exceeds $300
Customer buys: 4 Premium Sneakers at $90 each = $360
• Per quantity: 4 × 10 = 40 entries
• Bonus check: $360 ≥ $300 → 500 bonus entries
• Rule total: 40 + 500 = 540 entries
Example 6: Everything Combined
Settings: 2 entries per $10 spent (Order Total)
• Bundle Rule: 2 Hoodies + 1 Accessory → 100 entries (Exclude from Order Total: ON)
• Product Rule: Hoodie → 25 entries each (Skip if Bundle Matched: ON)
• Period Multiplier: 2x (Holiday Sale)
• AOV Booster: "Gift Set" in cart → 3x (Exclude from Order Total: ON)
Customer buys: 4 Hoodies ($40 each), 2 Accessories ($15 each), 1 Gift Set ($50)
Order total: $240
1. Bundle: min(4÷2, 2÷1) = 2 bundles → 200 entries, excluded amount: $190
2. AOV Booster: Gift Set detected → 3x multiplier, excluded amount: $50
3. Base points: $240 − $190 − $50 = $0 → 0 entries
4. Product Rule (skip on): 4 − 4 = 0 remaining → 0 entries
5. Subtotal: 0 + 200 + 0 = 200 entries
6. Period Multiplier: 200 × 2 = 400 entries
7. AOV Booster: 400 × 3 = 1,200 entries
Example 7: Order Source Blocks Everything
Settings: 10 entries per order (fixed), Order Source: Online Store Only
Customer places a $200 order via POS (in-store)
• Order source validation fails → 0 entries — the entire order is blocked
Example 8: Date Range Only Blocks Base Points
Settings: 5 entries per $10 spent, Order Date Range: Jan 1 – Jan 31
Product Rule: "Promo Item" → 50 entries each
Customer places an order on Feb 5 containing 2 Promo Items
• Order date range fails → Base points: 0
• Product Rule: 2 × 50 = 100 entries (still applies!)
• Total: 100 entries
Order Logs & Troubleshooting
Every order processed by Giveaway Ninja is logged, whether entries were awarded or not.
Order Status Values
| Status |
Meaning |
| entries |
Entries were awarded to the participant |
| no-entries |
Participant was found but earned 0 entries (failed validation or no matching rules) |
| no-user |
No matching participant found in any active giveaway |
What's in the Log
Each order log entry includes a detailed breakdown:
- Order ID and source (web, pos, etc.)
- Validation results for order source, date range, and minimum value
- Base points and which calculation method was used
- Bundle rule results — which bundles matched, how many times, points awarded
- Product rule results — which rules matched, quantities, points, bonus entries
- Period multiplier and AOV booster applied
- Gift card details — amount deducted
- Final total entries after all multipliers
Common Troubleshooting
"The order shows up as no-user"
• The customer's email doesn't match any giveaway participant
• No discount code match was found
• Auto-Signup is not enabled on any active giveaway
"The order shows entries = 0"
• Check the order source — if it doesn't match your filter, everything is blocked
• Check the date range and minimum value — these block base points but not product rules
• If you only have base points (no product/bundle rules), any validation failure means 0 entries
"Entries seem lower than expected"
• Check if gift cards were used — the amount is deducted from the calculation base
• Check if "Exclude from Order Total" is enabled on bundle rules or AOV boosters
• Verify the "Calculate Order Entries On" setting — Order Subtotal excludes shipping and taxes
"Product Rule didn't match"
• Verify the rule targets the correct product/variant IDs
• Check the rule's date range — if set, the rule only works within those dates
• If "Skip if Bundle Matched" is on, bundles may have consumed all qualifying quantities