Performance marketing in the GCC has a measurement problem. Your dashboard says one thing; your bank account says another. The fix isn't a prettier dashboard — it's reporting two numbers, every single time.
Platform-reported ROAS overstates reality — sometimes dramatically — and nowhere more than in cash-on-delivery markets, where an order counted at checkout can still be refused at the door. Most agencies show you the figure that makes them look good: the gross, platform-attributed number. The honest fix is the two-number rule — report what the platform claims AND the real money you collected. This hub explains why the gap exists, shows it on real client work, and points you to three deep-dives on closing it.
The money is pouring in. Middle East digital ad spend is projected to grow from roughly $10.1B in 2025 to about $18.5B by 2029 — nearly doubling in four years. At the same time, GCC organizations are wiring AI into how they operate: McKinsey reports organizational AI adoption across the region rising from about 62% to 84%.
More budget, more automation — and, paradoxically, more ways for reporting to drift from reality. When spend scales and dashboards run on autopilot, the gap between the number on screen and the money in the bank scales right along with it. Growth makes honest measurement harder, not easier, because there's more to misread and more incentive to show the flattering figure.
Here's the rule, and it's the whole philosophy: every report shows two figures. The platform-reported number — what Meta, Google or TikTok attribute to the campaign — and the real, collected number: revenue that actually landed and stayed after returns, refunds and failed deliveries. You never see the flattering one alone.
In cash-on-delivery markets the gap between gross and delivered can be large. An order is "converted" the moment someone taps buy, but in COD a share of those orders are refused at the door, returned, or never collected — and the platform never claws the conversion back. So gross ROAS can look spectacular while collected ROAS tells a soberer story.
I've watched this play out. A client like STARTEMarket showed a meaningful gap between gross and collected revenue — the kind of gap honest reporting surfaces immediately and a single-number dashboard hides for months. Knowing the gap is what lets you act on it: kill the offers that look great gross and bleed on delivery, and double down on the ones that actually collect.
This hub is the map; these three posts are the territory. Read them in order — what to expect from an agency, how to read your real ROAS, then the report that ties it together.
If you'd rather have the plumbing built than read about it, that's the day job. Marketing Automation wires the two-number rule into your reporting — tying ad spend through to delivered, collected revenue so gross and net sit side by side automatically, not in a month-end spreadsheet. Hiring closer to home? I work remotely across the GCC and US — start from the market page for the UAE, Qatar or Saudi Arabia.
FIT Institute (Dubai): paid campaigns took 121,330 AED in ad spend to roughly 912,550 AED in enrolled revenue — about 7.5x gross ROAS, reported with both the gross and the delivered number, never one without the other.
That's the standard for every account: the figure the platform claims, and the figure that actually collected. Read the full case study →
Because the platform reports gross, attributed orders — not money in the bank. Meta and Google count a conversion the moment someone taps buy, before returns, refunds, chargebacks and failed cash-on-delivery deliveries fall out. In COD markets across the GCC the gap between what the dashboard claims and what you actually collect can be large. The reported number isn't lying; it's measuring a different thing than your bank statement.
Every report shows two figures side by side: the platform-reported number — what Meta, Google or TikTok attribute to the campaign — and the real, collected number, the revenue that actually landed and stayed after returns, refunds and failed deliveries. You never get the flattering figure alone. If the two are close, the channel is healthy; if they diverge, that gap is the first thing to fix.
You reconcile ad-platform conversions against delivered-and-collected orders from your fulfillment or courier data, not against the checkout event. Each order is tracked through to delivery status, then reported as cost per delivered order and collected ROAS alongside the platform numbers. It's more plumbing than a dashboard screenshot, but it's the only ROAS you can actually spend.
Bring a campaign that looks great on the dashboard but you're not sure you trust. One call and I'll tell you where gross and collected are likely to diverge — and how to report it honestly from here on.
Book a call →