Delivery & Growth
In-App Delivery Ads vs Meta Ads for Restaurants: When Each Wins and How to Measure Real ROAS
In-app delivery ads and Meta ads solve different jobs: sponsored listings on Rappi, Uber Eats, PedidosYa or DoorDash capture demand that is already shopping inside the app, while Meta and Google ads create new intent that may or may not convert into orders. Neither is universally better. The right call depends on incrementality — whether the spend produces genuinely new orders — and on ROAS measured net of commission, not gross sales. Measure both before you decide where the next dollar goes.
Ops ritual
If the board doesn't fit on one screen, it doesn't get used. Five metrics, owner, threshold, decision.
Most restaurants argue about ad channels based on feeling, not math. One operator swears by boosting their position inside Rappi or Uber Eats; another pours everything into Instagram. The honest answer is that in-app ads and Meta ads do different jobs, and the only way to compare them is to measure real orders and real margin — not the numbers each dashboard shows you in isolation. This is a decision framework built around two ideas: incrementality and commission-net ROAS.
How each channel actually works
In-app delivery ads (sponsored listings) are auction-based placements inside the marketplace. On Rappi Ads, Uber Eats Offers/Sponsored, PedidosYa or DoorDash, you pay to move your store higher in search, category pages or a carousel, or to fund a promo. The user is already inside the app with buying intent. You are capturing demand, not creating it. Pricing is usually CPC or a percentage-of-sales model layered on top of your base commission, so the ad cost stacks with your take rate.
Meta ads (and Google) run outside the marketplace. You interrupt someone on Instagram or Facebook, or catch a search on Google, and try to generate intent that did not exist yet. The click often sends the customer into the app anyway to complete the order — which is exactly why attribution gets messy. You paid for the demand, but the app records the sale.
Neither mechanic is good or bad. In-app ads tend to have shorter paths to purchase and higher raw conversion; Meta tends to build awareness and reach new customers but with a longer, leakier funnel. The problem is never "the app" or "Meta" — it's spending without knowing which orders were truly incremental.
The only ROAS that matters: net of commission
ROAS (Return on Ad Spend) is revenue generated by the ad divided by the ad cost. But gross ROAS lies in delivery, because every order already loses commission, packaging and ad load before it reaches your margin. Use contribution, not top-line sales.
A practical formula:
- Incremental orders = orders with ads − orders you would have gotten without ads
- Contribution per order = average ticket − (commission + ad cost share + packaging + food cost + delivery subsidy)
- Real ROAS = (incremental orders × contribution per order) ÷ ad spend
The trap is the first line. If you divide all orders by ad spend, both channels look amazing. The question is how many of those orders you would have received anyway.
Measuring incrementality without perfect attribution
The apps rarely give you clean attribution, and Meta over-claims by design. So test instead of trusting dashboards. The cleanest method for a multi-location restaurant is a geo on/off test:
- Pick comparable zones or stores (similar volume, similar menu).
- Turn the ad on in group A and keep it off in group B for 2–3 weeks.
- Compare total orders (not just "attributed" ones) between groups.
- Flip the groups and repeat to control for location differences.
The lift between the on-group and the off-group — minus their baseline difference — is your incremental volume. Run the same structure for in-app sponsored listings and for Meta separately. You will usually find that part of what the dashboard calls "ad orders" would have happened regardless. That's the cannibalization you need to subtract before celebrating a 9x ROAS.
A side-by-side example (conceptual calculator)
Same store, same month, two channels, $1,000 spend each. Average ticket $20, commission + packaging + food cost leave $5 contribution per order before ad cost.
- In-app sponsored listing: dashboard shows 400 attributed orders. Geo test says only 55% are incremental → 220 new orders. Contribution: 220 × $5 = $1,100, minus $1,000 spend = +$100, real ROAS ≈ 1.1x on contribution.
- Meta ads: dashboard shows 180 attributed orders, but reach is new customers. Geo test says 80% are incremental → 144 new orders. Contribution: 144 × $5 = $720, minus $1,000 = −$280, real ROAS ≈ 0.72x this month — but with repeat value if those customers come back.
Read it carefully: in-app looks weaker on raw orders but wins on short-term contribution because intent is already there; Meta loses this month but may win on lifetime value if retention is strong. Your real numbers will differ — the point is the method, not these figures.
Common mistakes that burn budget
- Judging by gross sales, not contribution net of commission. A 10x gross ROAS can be a money-loser after take rate and food cost.
- Counting every attributed order as incremental. In-app ads especially tend to re-capture demand you already owned.
- Running both channels flat-out with no off-group. Without a control you can't prove lift.
- Ignoring the stacked ad load on percentage-of-sales models. Ads on top of commission can quietly push a product below break-even.
- Blaming the platform for weak results when the real issue is menu, photos, price or ops. Ads amplify your conversion — they don't fix a page that doesn't convert.
A simple budget allocation rule
Start with a ceiling, not a guess. For most restaurants, total ad spend of roughly 5–12% of delivery sales is a workable range, adjusted to your contribution margin — thinner margins mean a lower ceiling. Then allocate by measured incremental ROAS:
- Fund the channel with the higher incremental contribution first, until its marginal ROAS starts dropping.
- Use in-app ads when you need volume fast and intent is high (new store, slow daypart, defending a key category).
- Use Meta/Google when you need new customers and reach beyond the app's existing shoppers.
- Re-test every quarter — auctions, seasonality and competitors move, so last quarter's winner isn't automatically this quarter's.
At Pimentón we don't pick sides between the apps and Meta — we measure which dollar actually brings profitable, incremental orders and reallocate from there. Channels bring demand; our job is making each order pay. Want a free walkthrough of your delivery ad ROAS and P&L? Message us on WhatsApp for a free consultation.
The bottom line
In-app ads vs Meta ads is not a loyalty contest. It's a measurement problem. Define ROAS net of commission, estimate incrementality with simple on/off geo tests, set a spend ceiling tied to your margin, and let the measured numbers route the budget. Do that and you stop debating channels — you start compounding profitable orders.
Frequently asked questions
Do in-app ads cannibalize orders I would have received anyway?
Often, yes — partially. Because sponsored listings target users already inside the app with intent, a share of "attributed" orders would have happened without the ad. Run an on/off geo test to estimate how many orders are truly incremental before judging the channel's ROAS.
What is ROAS and how do I calculate it in delivery if the app's attribution is unreliable?
ROAS is revenue generated by ads divided by ad cost. In delivery, use contribution net of commission, packaging and food cost — and count only incremental orders. Since dashboards over-claim, estimate incrementality with a controlled on/off test rather than trusting attributed numbers.
Should I pay to rank higher inside Rappi/Uber Eats or drive traffic from Instagram?
In-app placement usually wins for fast, high-intent volume because the shopper is already buying. Meta/Google wins for reaching new customers beyond the app's existing audience. Measure incremental contribution for each and fund whichever delivers more profit per dollar first.
How much of my delivery sales should I spend on ads?
A common working range is roughly 5–12% of delivery sales, adjusted down when margins are thin. Treat it as a ceiling, then allocate within it based on measured incremental ROAS rather than spending the full budget by default.
Do sponsored listings create new sales or just move my photo higher?
Both — but less "new" than the dashboard suggests. They raise visibility and capture more of the demand already shopping, which is partly incremental and partly re-captured. The only way to know your split is an on/off test comparing total orders, not attributed ones.
Ready to supercharge your delivery?
Message us on WhatsApp. We'll book a free consultancy with a clear diagnosis of channels, ops, and next steps.
Message on WhatsApp