What Happens in the 200 Milliseconds Before an Ad Appears on Your Site
The Invisible Economy Running on Your Website
Every time someone loads a page on your site, a financial transaction happens faster than you can blink. In roughly 200 milliseconds — less than the time it takes to click a mouse button — dozens of advertisers evaluate your visitor, decide how much that impression is worth, submit bids in a real-time auction, and the winner's ad appears on your page. This happens billions of times per day across the web, and it's the engine that turns your content into revenue.
Most publishers have a vague sense that "ads get shown through auctions," but understanding the mechanics helps you make better decisions about everything from ad placement to floor prices to which network to use. So let's follow a single ad impression from page load to rendered ad, step by step.
Step 1: The Page Loads (0ms)
A visitor clicks on your article about the best hiking boots. Their browser starts downloading HTML, CSS, and JavaScript. Among those scripts is your ad wrapper — the code from your ad network (Mediavine, Raptive, Google Publisher Tag, or whatever you use) that manages ad loading.
Step 2: The Ad Wrapper Initializes (50ms)
Your ad wrapper identifies the ad slots on the page — leaderboard at the top, medium rectangle in-content, sidebar unit. For each slot, it knows the size, position, and any targeting parameters (like the page topic or user geography). It packages this information into a "bid request" — essentially a description of what's for sale.
Step 3: Header Bidding Auction (50-150ms)
If you're on a network using header bidding (most premium networks do), the bid request goes out simultaneously to 10-30 demand partners (SSPs and ad exchanges). Each partner receives the same information: "there's a 300x250 ad slot on a hiking content page, viewer is a 35-year-old from Colorado, page has high viewability." Each partner runs their own internal auction among their connected advertisers and returns a bid.
This is happening in parallel — all partners receive the request at the same time and race to respond within the timeout window (usually 1-3 seconds, though most respond within 200ms). The parallel nature of header bidding is what makes it superior to the old "waterfall" approach, where demand partners were called sequentially.
Step 4: The Bids Come In (100-200ms)
Your ad wrapper collects all the bids. For that hiking boots article, the bids might look like: Merrell's campaign via Google Ad Exchange bids $4.50 CPM. REI's campaign via Amazon Publisher Services bids $6.20 CPM. A generic display campaign via OpenX bids $1.80 CPM. A retargeting campaign from a shoe retailer the user visited last week bids $8.00 CPM via The Trade Desk.
The retargeting bid is highest because that advertiser knows this specific user recently browsed hiking boots on their site — this impression is worth more because the user already showed purchase intent. This is why user data makes impressions more valuable and why the cookie deprecation discussion is so significant for publisher revenue.
Step 5: Google Ad Manager Decides (200ms)
The winning header bid ($8.00 in our example) gets sent to Google Ad Manager (or whatever ad server you use) to compete against Google's own demand (AdX/AdSense). Google runs a second-price auction internally: if Google has a bid of $8.50, Google wins. If not, the header bidding winner serves. This two-stage competition maximizes your revenue by ensuring no single demand source has a monopoly.
Step 6: The Ad Renders (200-500ms)
The winner's ad creative — an image, HTML5 animation, or video — gets loaded and displayed in the ad slot. The visitor sees a hiking boot ad from the retargeting campaign. They might click it, they might ignore it. Either way, you just earned roughly $0.008 from that single impression ($8.00 CPM / 1,000).
That number seems tiny — eight tenths of a cent. But multiply it across 3-5 ad slots per page, 3 pages per session, thousands of sessions per day, and it adds up to real revenue. A site with 100,000 monthly sessions, 3 pages per session, 4 ads per page, and a $20 average CPM earns: 300,000 pageviews × 4 ads × $20/1000 = $24,000/month. Not bad for something that happens automatically in 200 milliseconds.
Why This Matters for Your Decisions
Ad placement affects auction competition. Above-the-fold placements get more bidders because viewability is guaranteed. More bidders = higher winning bids = higher RPM. The ad placement heatmap shows you which positions on your page attract the most competition.
Page content affects bid values. Advertisers bid based on contextual signals. An article about "best credit cards for travel" attracts finance advertisers with $50+ CPMs. An article about "funny cat videos" attracts generic advertisers with $2-3 CPMs. Your content strategy directly influences your auction economics.
Your audience affects who bids. Advertisers target specific demographics, geographies, and behaviors. A US visitor aged 25-54 with a browsing history showing purchase intent will attract more and higher bids than an anonymous visitor from a low-CPM region. This is why audience quality matters beyond just traffic quantity.
Speed affects everything. If your page takes 5 seconds to load, the ad auction doesn't even start until the ad wrapper script loads — which might be 3 seconds in. That's 3 seconds of delay where no auction is happening and no revenue is being generated. Faster pages = earlier auctions = more impressions = more revenue. Site speed and ad revenue are directly linked.
The Takeaway
You don't need to understand every technical detail of ad auctions to be a successful publisher. But knowing the basics — that it's a competitive auction, that more bidders mean higher prices, that placement and content drive bid values, and that speed affects everything — helps you make informed decisions about ad strategy. The 200 milliseconds between page load and ad render is where your content becomes revenue. Everything you do to optimize your site, content, and audience ultimately flows through that fraction of a second.