The Algorithm Saw It Before You Did
When a ROAS campaign loses delivery for no visible reason, the first question is not what changed in the campaign. It is what shipped in the last 72 hours.
When your Google UAC ROAS campaign loses delivery for no visible reason, stop calling the media buyer. Call the product team.
Here is the mechanism most UA managers have never been told explicitly. Firebase sends in-app event signals to Google Ads in near real-time. Your BigQuery dashboard runs on daily batch exports, with a documented 24 to 72 hour processing lag. Google’s own documentation confirms this gap exists by design.
Which means Google’s bidding algorithm is always working on fresher cohort data than you are. I call this the Algorithmic Latency Trap. It is not that Google is faster — it is that your reporting is slower.
The place this shows up most clearly is product updates. When your team ships a new build — tweaked onboarding, adjusted difficulty curve, changed monetization flow — the downstream behavioral change hits Google’s ML before it hits your retention curve in BigQuery. Users are behaving differently. The algorithm notices. Your dashboard has not caught up yet.
The response: ROAS campaign delivery starts softening. No creative fatigue. No budget issue. No auction change you can point to.
So the UA manager does what UA managers do — adjusts bids, refreshes creatives, reorganizes geo splits. Reasonable responses to a campaign problem. Except it is not a campaign problem.
The tell is in which campaigns are affected
CPI campaigns hold volume because they are just buying installs — quantity, not quality. ROAS campaigns soften because they are bidding on predicted user value, and the algorithm just downgraded its prediction on the new cohort coming through the updated build.
Not every delivery drop is a product signal. Campaigns slow down for real campaign reasons — creative fatigue, increased auction competition, budget pacing, seasonal shifts. The tell that separates a product signal from a campaign problem is campaign specificity. A creative fatigue issue affects all campaign types proportionally. A budget constraint shows up as an impression share problem. A product signal looks different: ROAS campaigns soften while CPI campaigns hold volume.
If your CPI campaigns are delivering normally and your ROAS campaigns have gone quiet, look at what shipped in the product in the last 72 hours before you touch anything in the campaign.
Google UAC as an early warning system
Google UAC is the most honest stakeholder in your entire growth stack. It has no incentive to flatter your product decisions. No feelings to protect. It just quietly reduces spend when the math stops working, before anyone on your team has run the numbers.
That makes unexplained delivery changes one of your earliest product quality signals. Not a perfect signal — there is noise, and campaign factors are always in play. But in the absence of obvious campaign explanations, a ROAS delivery drop is the algorithm telling you something about your product before your dashboard can.
There is a habit most growth teams need to build and almost none have formally established: a standing communication channel between UA and product, triggered by builds. Every time a significant update ships — anything that touches the core session loop, onboarding, or monetization flow — the UA team should be notified in advance. Not because they need to approve product decisions, but because they need context to read algorithm behavior correctly in the 48 to 72 hours that follow.
Next time delivery drops with no obvious cause, the first question should not be “what changed in the campaign?” It should be: “what shipped in the last 72 hours?”