What you'll learn in this article
- Why a Google Ads real-time auction has to fully resolve in roughly 100 milliseconds, and who that deadline is actually set for
- Why the speed of light in fiber, not server code, is the real ceiling on how fast a bid can travel and come back
- How the distance between an advertiser's bidding infrastructure and Google's data centers quietly eats into that budget before any bidding logic runs
- Why a bid that arrives one millisecond late doesn't show up as an error — it just vanishes, and the loss hides inside normal-looking numbers
- What's actually within an advertiser's control: which parts of the auction chain you can shorten, and which are simply physics
Open a page, and somewhere between your tap and the ad rendering on screen, an entire auction has been run, priced, and settled. Not eventually. Not in a batch job overnight. In about the time it takes a hummingbird's wing to complete a third of a single beat. That number, roughly 100 milliseconds, gets treated in most Google Ads conversations as a technical footnote, something the platform handles so marketers don't have to think about it. I want to argue the opposite: it's one of the few hard limits in this entire industry that no amount of budget, creativity, or account structure can move, because it isn't a Google decision. It's physics.
Every other constraint we talk about in paid media is negotiable. Budgets can go up. Bids can be raised. Audiences can be widened. Quality Score can be improved with better ad copy. But the ~100 millisecond auction window is bounded by how fast a signal can physically travel down a strand of glass and back, and that number hasn't changed and isn't going to change, no matter what gets announced at the next product update. Understanding that distinction, between limits we can negotiate and a limit set by the speed of light, changes how you think about anything that touches real-time bidding: server-side tagging, custom bidding integrations, first-party data pipelines feeding Smart Bidding in near-real time.
This is systems engineering wearing a marketing costume. Let me take the costume off.
The real budget isn't milliseconds of code, it's kilometers of fiber
Here is the part that turns this from a trivia fact into an engineering constraint worth respecting. Light travels through fiber-optic cable at roughly two-thirds of its speed in a vacuum, around 200,000 kilometers per second. That sounds close enough to instant to ignore. It isn't, once you add up a real path.
A signal from a bidder's server to an ad exchange's data center a few thousand kilometers away, and then the response traveling back, isn't a straight beam of light either: it moves through routing equipment, switches, and whatever physical route the cable actually takes, which is rarely the geometric shortest path between two points on a map. Add the processing time every hop introduces, and a round trip across a continent, or between continents, can comfortably consume tens of milliseconds before a single line of bidding logic has evaluated anything. In a 100-millisecond auction, that's not a rounding error. That can be half the clock, gone, on transit alone.
This is why the physical location of a data center is not a footnote in ad tech, it's a competitive variable. A bidder whose infrastructure sits physically close to the exchange it's bidding into has more of the 100 milliseconds left over for actually deciding what to bid. A bidder several thousand kilometers further away is spending that same budget just getting the message there and back. No amount of clever machine learning inside the bid logic buys back milliseconds that distance already spent. You cannot optimize your way around the speed of light; you can only choose to stand closer to where the auction happens.
The loss that never shows up as a loss
Here's the part that should actually change how you read your reporting. When a bid doesn't make it back before the auction closes, whether because the round trip was too long or because the bidding logic on the other end took a few extra milliseconds to decide, it isn't flagged, penalized, or logged anywhere you'll see it. It's simply too late to participate. The impression clears to whoever answered on time. The late response is discarded as if it never happened.
There is no line item in Google Ads, or in any DSP, that reads "bid dropped for latency." A timed-out bid looks identical, from the reporting side, to a bid that was never submitted at all. It doesn't count as spend. It doesn't count as a loss. It doesn't count as anything. Which means an infrastructure problem, a server sitting too far from the auction, an integration adding an unnecessary round trip, a real-time data lookup that takes longer than it should, can sit inside a normal-looking win rate for months, quietly shrinking the pool of impressions you're even eligible to compete for, with nothing on the dashboard pointing back at the cause.
That's the pattern this entire publication keeps circling back to in different forms: the failure that never announces itself, because the system built to report on performance has no vocabulary for the thing that happened before performance was even measured.
A real account, anonymized
A client running a custom real-time bidding integration alongside their standard Google Ads campaigns came to me confused about a plateau. Their standard Search and Performance Max campaigns performed as expected. Their custom programmatic layer, built by a third-party team to pull in a proprietary scoring signal before every bid, had a win rate that had quietly drifted down over two quarters, and nobody could point to a cause in the bid strategy, the creative, or the targeting, because none of those had changed.
We eventually got infrastructure logs from the bidding vendor, not the ad platform, and found the real story: the scoring service the integration called for that proprietary signal had been migrated to a new region during a routine infrastructure update, months earlier, and was now physically farther from the exchanges being bid into. The added round trip was small in absolute terms, a handful of milliseconds, but it was enough to push a meaningful share of bids past the timeout on the faster-clearing auctions. Nothing in Google Ads reporting showed this. The win rate simply softened, gradually, the way a slow leak softens tire pressure rather than the way a puncture does.
The fix wasn't a bidding strategy change. It was moving the scoring service back to a region physically closer to the exchange traffic it served. Win rate on the affected inventory recovered within days, with zero change to budget, creative, or targeting. The problem, and the fix, were entirely about kilometers of fiber, not marketing.
Design around the physics, don't fight it
You can't negotiate with the speed of light, but you can stop spending its budget carelessly. A few things that actually help.
First, understand what's running inside Google's own infrastructure versus what isn't. Standard Smart Bidding strategies, Performance Max, and Google's native auction path all execute inside Google's own data centers, which means the physical round trip most advertisers worry about doesn't exist for them, Google already engineered that distance away. The moment you introduce a custom integration, a server-side conversion pipeline with a real-time lookup, a proprietary bidding layer, a first-party data feed queried live during the auction, you are personally reintroducing physical distance into a process that was built to minimize it. That's not a reason to avoid these tools; it's a reason to treat every external round trip as a cost with a real, physical price tag.
Second, if you do run anything real-time and external, ask where it physically lives relative to where your traffic and your exchanges are, the same way you'd ask about a server's specs. A scoring service, a customer data platform lookup, or a server-side tagging endpoint sitting in the wrong region isn't a minor technical detail, it's a direct tax on your win rate that will never appear as a line item telling you so.
Third, treat unexplained, gradual win-rate softening on any real-time integration as an infrastructure question before a strategy question. If nothing about your bids, budgets, or targeting changed, but performance is quietly drifting, check the plumbing before you touch the campaign. The auction doesn't send you a note when it starts rejecting you for being too slow. It just stops waiting.