What counts as Revenue by App
This page explains how AOV.ai Discount Free Gift BOGO calculates the "revenue by app" figure that drives your monthly quota and (for Advanced and Plus) your overage charge. The calculation was updated on September 21, 2026, see What changed below. The rules differ slightly by campaign type, so jump to your campaign type below.
The general rule
Revenue for one campaign is the sum of two parts:
- Trigger portion: the value of only the part of the cart that actually qualifies for the campaign's condition, not the entire cart total.
- Gift portion: if the gift is not free (you charge a reduced price for it), its price after subtracting only the campaign's own discount. A separate discount code the shopper applies at checkout does not reduce this number.
If an order matches more than one of your campaigns, the app attributes the revenue to whichever matching campaign has the higher calculated total. It does not add the campaigns together.
This keeps your analytics:
- Accurate: only counts what is directly tied to the campaign.
- Fair: not inflated by unrelated products or by your own separate promotions.
- Useful: helps you understand your campaign's true impact.
What changed on September 21, 2026
Starting September 21, 2026, the calculation above became more precise. You do not need to do anything, the change applies automatically, to every campaign type, on every plan. There is no toggle to turn it on or off.
- Only the campaign's own discount is subtracted from the gift portion. Previously, a merchant's own separate discount code could also reduce this number, so it drifted with promotions that had nothing to do with the campaign.
- Example: a $600 gift with the campaign's own 10% discount (−$60) is $540. If the shopper also applies your own separate 20% discount code, the app still records $540. Only the campaign's own discount is counted.
- Order Goal revenue is now capped at what the qualifying cart actually has left. It is the smaller of your threshold or the qualifying cart's net value after the campaign's own discount.
- Example: threshold $100, qualifying cart $105. The campaign's own 10% discount brings that cart down to $94.50, so the app now records $94.50. Previously it recorded the full $100 threshold, even though the cart no longer held that much value.
- Milestone Rewards with multiple tiers now respects the "Include collection" condition correctly. When a milestone campaign is scoped with Include collection ("only items from these collections count toward the milestones"), both the tier reached and the value counted are based only on items from that collection, not the whole cart.
- Example: tiers at $100 and $200, Include collection scoped to "Summer." Cart has a $120 item inside Summer plus a $100 item outside it. The app now correctly attributes the $100 tier. Previously it could count the full $220 cart and attribute the $200 tier, which the shopper never actually reached within the collection.
- Milestone Rewards now includes the gift portion for every tier reached, not only some of them. If your milestone campaign gives a different gift at each tier, every gift the shopper actually received is now added into the revenue figure.
No retroactive changes
Existing campaigns and past orders are not recalculated, there is no migration. Comparing your revenue before and after September 21, 2026 means comparing two different calculation methods, not a real change in how your campaigns performed. Most stores will see this number decrease, since it now reflects the value the app actually delivered instead of an inflated figure. If a merchant asks why revenue suddenly dropped, it is the formula change, not lost orders, orders and gifts are unaffected.
How revenue is calculated by campaign type
Buy X Get Y (BXGY)
Rule: the trigger portion counts the qualifying X items (from the specific collection or products you chose). If the shopper bought more qualifying items than required, the app counts the cheapest qualifying units up to the required quantity.
Example:
- Offer: Buy 3 from Makeup, get free gift
- Customer buys 5 Makeup products and 4 skincare products
- Revenue by app = the value of the 3 cheapest of the 5 Makeup items (not all 5, and not the skincare items)
Gift with Cart Value
Rule: the trigger portion is your Minimum Cart Value threshold. If Multiply is ON, the app multiplies the threshold by however many times it was fully reached in the cart, a partial next tier does not count.
Examples:
- Offer: Spend at least $100, get free gift
- Cart total = $180, Multiply OFF, Revenue by app = $100 (the flat threshold, not the full $180)
- Cart total = $250, Multiply ON, Revenue by app = $200 (2 x $100; the remaining $50 does not reach a 3rd multiple of $100)
Gift with Collection Value
Rule: same logic as Gift with Cart Value, but the trigger portion and the Multiply calculation are scoped to the chosen collection only.
Examples:
- Offer: Spend at least $100 from the Summer collection, get free gift
- Cart total from the Summer collection = $180, Multiply OFF, Revenue by app = $100
- Cart total from the Summer collection = $250, Multiply ON, Revenue by app = $200
Gift with Quantity Purchase
Rule: the trigger portion counts the cheapest qualifying units up to the minimum quantity, not the shopper's whole order.
- If condition is All products: count the cheapest qualifying units anywhere in the cart, up to the minimum quantity.
- If condition is Specific collection: count the cheapest qualifying units from that collection, up to the minimum quantity.
- If condition is Specific products: count the cheapest qualifying units from those specific products, up to the minimum quantity.
Example:
- Offer: Buy 3 items, get gift. Condition = All products
- Customer buys 2 shirts at $50 each and 3 socks at $10 each (order total $130)
- Revenue by app = $30 (the 3 cheapest units in the cart, the 3 socks, not the $130 order total)
Milestone Rewards
By cart value
Rule: the app finds the highest milestone tier your cart value reaches and uses that tier's threshold as the trigger portion, net of the campaign's own discount if one applies. If Include collection is set, only items from that collection count toward both the tier reached and the value.
Examples:
- Milestones: $50 / $100 / $150
- Cart total = $180, Revenue by app = $150 (the highest milestone reached)
- With Include collection scoped to "Summer," milestones $100 / $200: cart has a $120 item inside Summer plus a $100 item outside it. Revenue by app = $100 (the $200 tier is not reached, only the $120 inside the collection counts)
By quantity
Rule: the app finds the highest milestone tier your item quantity reaches, then sums the cheapest items up to that quantity, net of the campaign's own discount.
Example:
- Milestones: 3 / 5 / 8 items
- Customer buys 9 items, Revenue by app = total of the 8 cheapest items
Multiple tiers, multiple gifts: if your milestone campaign gives a different gift at each tier, the app adds up the value of every gift the shopper actually received across all tiers reached, not just one.
Shipping Goal
Rule: the trigger portion is always your flat Minimum Cart Value threshold. Shipping Goal does not support Multiply and has no gift portion, so this campaign type is unaffected by the September 21 change.
Example:
- Free shipping from $100
- Cart total = $180, Revenue by app = $100
Order Goal
By cart value
Rule: revenue is the smaller of your threshold or the qualifying cart's net value after the campaign's own discount. This cap means the figure can never exceed what is actually left in the qualifying cart.
Examples:
- Offer: Spend $100, Cart = $180 (no campaign discount applied), Revenue by app = $100
- Offer: Spend $100, Cart = $105, the campaign's own 10% discount brings the qualifying cart down to $94.50, Revenue by app = $94.50 (capped at the net value, since it is lower than the $100 threshold)
By quantity
Rule: the app counts the cheapest qualifying units up to the required quantity, net of the campaign's own discount.
- If condition is All products: count the cheapest qualifying units anywhere in the cart, up to the minimum quantity.
- If condition is Specific collection: count the cheapest qualifying units from that collection, up to the minimum quantity.
Examples:
- Offer: Buy 3 items (All products). Customer buys 2 items at $60 each and 3 items at $10 each (order total $150). Revenue by app = $30 (the 3 cheapest units, not the $150 order total)
- Offer: Buy 3 items from Haircare. Customer buys 5 items, 3 from Haircare and 2 outside it. Revenue by app = the cheapest 3 qualifying Haircare units only
Checkout Upsell
Rule: the trigger portion counts the cheapest qualifying trigger item(s), and the gift portion is the upsell item's price after subtracting only the campaign's own discount.
Example:
- Upsell: Pants $200 if customer buys 1 shirt $120, 50% off applied by the campaign
- Revenue by app = $100 (discounted pants, net of only the campaign's own 50% discount) + $120 (shirt) = $220
Checkout Progress Bar
Rule:
- If the goal is cart value: use the Minimum Cart Value.
- If the goal is quantity: use the total of the cheapest items up to the required quantity.
Examples:
- Spend $50 to unlock free shipping, Revenue by app = $50
- Buy 3 items to get a perk. Customer buys 5. Revenue by app = total of the 3 cheapest items
Where you see this in the app
- Campaign List page: each campaign's revenue follows these calculation rules.
- Analytics Dashboard: the Revenue Overview and Performance reports reflect campaign-attributed revenue only.
Related guides
- All plans: full pricing directory with monthly and yearly options
- Free plan limits: allowance and reset rules for the Forever Free tier
If a number on your invoice looks wrong, contact our support team.