AHMED.AYOUTTY Back to writing

Google Ads & Performance Max ROAS: The Real GCC Number

Paid Ads · Jul 2026 · 8 min

Google's number is easier to trust than Meta's, and that is exactly what makes it dangerous. Search and Shopping capture people who already typed what they want, so the intent is real and the attributed conversions usually line up with sales better than a demand-gen platform's do. Then Performance Max arrives, folds six placements into one box, and quietly claims a slice of revenue you were going to get anyway. Your Google Ads ROAS in the GCC is still a platform number: conversion value the tag recorded, divided by spend. Your real number starts from cash the business actually collected. In COD markets those two figures can sit a long way apart.

So I run every Google account on the two-number rule. Show the platform ROAS and the collected ROAS side by side, name the gap, and make the budget decision from the second one. This post owns the Google and Performance Max side of that method. The Meta-specific calculation lives in its own post; here the traps are different, because the platform is different.

Intent capture is a better starting point, not a finished one

Meta builds demand. You interrupt someone in a feed, the ad creates a want, and the platform takes credit for a purchase it genuinely influenced but cannot always prove. Google mostly captures demand that already exists. Someone searches "protein powder same-day delivery Riyadh" and clicks a Shopping listing. The intent was there before your ad; the ad won the click. That makes Google's attributed conversions feel more honest, and often they are.

The trap is treating "more honest" as "reconciled." A high-intent click still becomes a cancelled order, a refused COD parcel, a return two weeks later. Google recorded the conversion value at checkout. It has no idea the courier came back with the box. Higher intent narrows the gap between platform and collected ROAS. It does not close it.

Why Performance Max hides where your spend went

Performance Max is where the reporting gets genuinely opaque, and it is now the default Google nudges every GCC advertiser toward. One campaign spends across Search, Shopping, Display, YouTube, Gmail, Discover, and Maps, and the standard reporting will not tell you how much went to each. You get asset-group labels and a blended ROAS. You do not get channel-level ROAS. So when PMax reports 6× you cannot see whether that came from Shopping on high-intent queries or from cheap Display and YouTube impressions credited on a view-through.

Two leaks hide inside that blend, and both inflate the platform number.

Brand cannibalization. Left alone, PMax will happily serve against your own brand searches and count that revenue as new. A buyer who already knew your store, typed your name, and would have bought regardless now shows up as a PMax conversion. The ROAS looks spectacular because you are paying a small toll to intercept a sale you already owned.

Search-term invisibility. PMax gives you far less of a search-terms report than standard Search campaigns do. You can be paying for junk queries and near-brand misspellings with no easy way to see them, let alone exclude them. The spend is real; a chunk of the "performance" is you buying back your own traffic.

The two leaks you can actually close

You cannot fix opacity you refuse to look at. Two moves make the Google number more honest before you ever touch the collected side.

Split brand from nonbrand. Run a dedicated brand Search campaign so you can see, in isolation, what your name is worth, and then judge PMax on what it does with nonbrand and Shopping demand. Blended together, brand traffic props up every average and hides weak prospecting.

Apply brand exclusions and negatives. Google lets you feed PMax a brand-exclusion list; use it, and keep real negative-keyword discipline on the Search campaigns. This is unglamorous account hygiene. It is also the difference between a ROAS that reflects new demand and one that reflects you renting back customers you already had.

The two-number rule, applied to Google

Keep two measures separate on every account.

Platform ROAS — Google-attributed conversion value divided by Google spend. Use it to compare ad groups, asset groups, and campaigns inside the same account with the same conversion setup. It is a steering wheel, not a P&L.

Collected ROAS — revenue actually collected from Google-attributed orders divided by Google spend. Use it to decide whether the spend produced bankable money. This is the number you scale on.

If you sell a service rather than ship a box, those two numbers nearly converge, and that is worth knowing on its own. For FIT Institute, an education client I can name with consent, 121,330 AED of ad spend produced roughly 912,550 AED in collected revenue, about 7.5×. A booked course has no return-at-the-door step, so gross and collected sit close together. The reconciliation still runs. It just confirms there is no fulfilment gap to subtract, which is its own kind of answer.

COD is where the Google gap gets wide

Ship physical goods on cash-on-delivery and Google's cleaner intent stops protecting you. The conversion fires when the order is placed. Whether the customer is home, whether they have the cash, whether they change their mind at the door: none of it reaches the tag. Across the GCC, COD still carries a meaningful share of e-commerce orders, and a real slice of those never turn into collected cash.

I have watched this gap on the Meta side of an anonymised Egyptian COD store, and it behaves the same when Google sources the order: 4.1× gross ROAS on paper, 1.9× once delivery outcomes were counted, with roughly a third of orders lost to COD failures and returns. Same platform-versus-collected structure, whichever channel found the buyer. The full walk-through is in the COD mobile-commerce case study. Do not lift that ratio as a benchmark; return rates, margins, and courier performance differ by store.

Here is a constructed illustrative scenario, not a real client, with round figures only to show the shape. Say a PMax campaign spends 100,000 in a month and reports 600,000 in conversion value: 6× on the dashboard, and everyone relaxes. Pull it apart and two things are true at once. A slice of that value is brand traffic PMax intercepted, so it is not all new demand. And this is a COD catalogue, so once you reconcile placed orders against delivered-and-paid orders, part of the revenue never collects. Strip the brand overlap and the failed deliveries and the collected figure lands well below 600,000. The dashboard's 6× and the collected number are answering different questions, and only the second one tells you whether spending more makes money. Put your real brand share and your real COD failure rate in place of the round numbers and the staircase holds.

Make the number honest: a Google reconciliation workflow

The fix is the same discipline I run everywhere, wired for Google's plumbing.

  1. Export Google-attributed orders for the period by order ID, not just totals.
  2. Match them against your commerce or order-management system.
  3. Assign each a final status: paid, delivered, cancelled, returned, refunded, or unresolved.
  4. Use the collected amount, not the checkout basket value.
  5. Separate brand from nonbrand so PMax cannot pass owned demand off as new.
  6. Divide collected revenue by Google spend for the real ROAS.
  7. Feed the outcome back to Google.

That last step matters more on Google than on Meta, because PMax is heavily automated and will chase whatever conversion you feed it. This is what offline conversion import and Enhanced Conversions are for: send delivered-and-paid as the conversion, not order-placed, and the campaign starts optimising toward cash instead of toward orders that bounce at the door. Feed it placed orders in a COD market and it will get very good at generating orders that never collect. The mechanics of matching platform orders to collected revenue across systems are in reconciling platform, CRM, and collected revenue.

Where Google's number is enough, and where it is not

One caution on lead generation, because it is the easiest place to fool yourself. A Google campaign can report cheap conversions that are only form fills. In an anonymised AI-SEO SaaS account, Search generated 1,230 leads at about $6.50 each. That is a genuinely strong cost per lead and nothing more. It says nothing about revenue until those leads are qualified and closed. Cost per lead answers a media question; cost per closed deal answers the business one. Do not let a low cost per lead stand in for a result.

Next step

If Google Ads or Performance Max looks profitable while finance stays unconvinced, request a systems diagnostic. We can map the tag, the order, the delivery, and the collected trail, split brand from nonbrand, and then decide what is safe to scale. For the broader paid-growth operating model in the GCC, see AI performance marketing. For the cross-channel reporting method, read the two-number report.

Internal links: Facebook Ads ROAS · Two-Number Report · COD case study

Ready to build a system that runs your marketing?

Start with a diagnostic — one call to find where AI earns its keep in your funnel, and what to skip.

Request a diagnostic → Who am I — track record

Privacy · Terms