Why food and beverage brands overspend when they optimise for ROAS

Why food and beverage brands overspend on ROAS: small orders carry fixed fulfilment costs that revenue-based bidding ignores.

Median order value, Food & Beverage brands on Google Ads (Triple Whale)

$71.39

Source: Triple Whale: Google Ads Benchmarks by Industry (Updated 2026 Data), last updated 20 Aug 2026, accessed 27 Sept 2026. Full citation

Median AOV for Food & Beverage brands in Triple Whale's Google Ads benchmarks, Aug 2025 to Jul 2026, from a dataset of more than 21,000 brands across all industries. These are brands using one analytics vendor, not a random sample, and the page doesn't state which attribution model it uses.

ROAS treats revenue as if every dollar costs the same to deliver. For a food brand it doesn't. Every order carries picking, packing, a box and a shipping label, and those costs change far less than the order value does. A campaign that brings in many small orders and one that brings in fewer large ones can show the same ROAS and earn very different profit.

The figure above is the median order value for food and beverage brands in Triple Whale's Google Ads benchmarks, $71.39 over the year to July 2026. That is a median across brands, not a target, but it shows the scale of order a typical food brand is working with: modest enough that fixed per-order costs matter.

How the gap forms

Fixed per-order costs in a revenue metric

Illustrative arithmetic with made-up round numbers, not a benchmark.

Two campaigns each spend $1,000 and report $4,000 in revenue: ROAS 4.0 for both. Product margin is 40%, so both earn $1,600 before fulfilment. Fulfilment costs $12 per order.

  • Campaign A brings in 40 orders of $100. Fulfilment is $480, profit $1,120: POAS 1.12.
  • Campaign B brings in 100 orders of $40. Fulfilment is $1,200, profit $400: POAS 0.40.

Same ROAS. One campaign pays for itself; the other loses 60 cents of every ad dollar.

Google Ads' bidding optimises toward conversion value. It has no way to know that the value arrived in 100 small boxes rather than 40 large ones, unless you tell it.

Spoilage and replacement

When a perishable order arrives warm, crushed or late and you replace it, the replacement costs you the product and the shipping a second time. The original conversion stays in Google Ads at full value.

Free shipping you pay for

A free-shipping offer moves the cost of delivery from the customer to you. It can lift conversion rate and order value, which ROAS will show. The shipping bill it creates never reaches the account.

Why bundles change the answer

A bundle or multipack spreads one order's fixed costs across more product. The same fulfilment cost on a larger basket is a smaller share of revenue, so margin after fulfilment rises even if product margin doesn't.

Working out your own gap

  • Cost fulfilment per order, not per unit. Add up picking, packing, packaging and the shipping you pay, then divide by orders.
  • Report POAS by basket size band, such as under $40, $40 to $80, and over $80. The bands will tell you where a campaign's profit really comes from.
  • Pass order-level profit to Google Ads if you can, as conversion value net of fulfilment, so the bidding favours the orders that pay.

How to close it

  1. Set a free-shipping threshold above your typical single-item order, so small baskets pay their own way.
  2. Promote bundles and multipacks in the campaigns you're scaling.
  3. Exclude products that can't carry fulfilment on their own, unless they reliably lead to a bigger basket.
  4. Judge campaigns on POAS after fulfilment, and let the basket-size bands decide where budget goes.

Questions

Why can two food campaigns with the same ROAS earn different profit?
Because each order carries picking, packing and shipping costs that change far less than the order value does. A campaign bringing in many small orders pays those costs many more times than one bringing in fewer large orders, for the same revenue.
Does offering free shipping hurt POAS?
It can. Free shipping moves the delivery cost from the customer to you, and Google Ads never sees that cost. Set the free-shipping threshold above your typical single-item order so small baskets still pay their own way.
How can Google Ads bid on profit instead of revenue?
Pass a conversion value net of fulfilment and product cost instead of the order total. The bidding then favours the orders that actually make money, such as bundles and larger baskets.

The same question in other verticals

Source and how to read this number

Figure
Median order value, Food & Beverage brands on Google Ads (Triple Whale): $71.39
Source
Triple Whale: Google Ads Benchmarks by Industry (Updated 2026 Data), last updated 20 Aug 2026
Link
https://www.triplewhale.com/blog/google-ads-benchmarks
Accessed
27 Sept 2026
Caveat
Median AOV for Food & Beverage brands in Triple Whale's Google Ads benchmarks, Aug 2025 to Jul 2026, from a dataset of more than 21,000 brands across all industries. These are brands using one analytics vendor, not a random sample, and the page doesn't state which attribution model it uses.
Last reviewed
30 Sept 2026