Header bidding

What traffic shaping is and how it changes your ad revenue

Traffic shaping explained for publishers: who filters your bid requests, how it changes your bids, and the Prebid and supply path steps you control.

Traffic shaping flow: one ad request filtered by QPS limits and bid history before reaching likely bidders

Traffic shaping is the filtering of ad requests so each buyer only gets the ones it's likely to bid on. SSPs, exchanges and DSPs do it to cut the cost of handling billions of requests, and publishers can do it in their own wrapper. For you, it decides which buyers ever see an impression.

That's why it matters even if you've never switched anything on. Your page sends one request, but somewhere upstream a system decides whether a given DSP hears about it. If your inventory looks like low-value noise, fewer buyers get asked, and your CPMs drift down without any error message.

This guide explains who shapes your traffic, what Google's own docs say about how it works, and how to tell it's happening. If the auction itself is new to you, read our guide to how real time bidding works first.

What is traffic shaping in programmatic advertising?

Traffic shaping in programmatic advertising is a filter that sits between the seller and the buyer. It looks at each bid request and decides which buyers should receive it, based on what they've bid on before and what they can handle.

The idea came from a simple mismatch. Sellers can send far more bid requests than buyers can process or would ever bid on. So every busy system in the chain learned to throw some requests away before they're sent.

Traffic shaping happens in three places:

  • In the SSP or exchange. It decides which DSPs get each request, often using each DSP's bidding history.
  • In the DSP. It sets which requests it wants at all (pretargeting) and how many per second it'll take.
  • In your wrapper. You decide which bidders get called for which ad units, and when to skip a call.

You run the third one. The first two run on your traffic whether you know it or not.

Why traffic shaping exists: bidstream bloat and QPS

Traffic shaping exists because of bidstream bloat: far more bid requests than there are real impressions or real buyers. Every system has a limit on how many requests it can take, and that limit is counted in queries per second.

Queries per second (QPS) is the number of bid requests a buyer agrees to receive each second. A DSP pays for the servers that read every request, so it caps QPS per seller and asks for the requests it's most likely to buy.

Bloat has a few causes, and you'll recognise some of them from your own advert technology stack:

  • One page view calls several SSPs through Prebid, and each SSP sends the same impression to the same DSPs.
  • Resellers pass your impression on again, so a buyer gets duplicate bid requests for it through different paths.
  • Ad refresh, infinite scroll and many ad slots per page multiply the requests per visit.

Each copy costs the buyer money to read. When requests outnumber what a buyer can take, something has to give. Traffic shaping is that something, and QPS throttling is its bluntest form. Our guide to what each bid request carries shows how much data travels in every one of those copies.

Who does traffic shaping on your inventory?

Several companies shape your traffic, each for its own reasons. The SSP wants to keep its buyers happy, the DSP wants to save money, and you want the most revenue per page. This table shows who does what.

Who shapesWhat they filter onWhose interest it servesWhat you control
SSP or exchangeEach DSP's QPS cap, its past bids on similar requests, response errorsThe exchange and its buyersInventory quality, a clean supply path, honest ad unit data
DSP (pretargeting)Formats, sizes, geography, publishers and deals it wantsThe buyerVery little, beyond being worth buying
Your wrapper (Prebid)Which bidders get called per ad unit, floors, timeoutsYouEverything in your config
A reseller in the chainIts own buyers and marginsThe resellerWhether it's in your ads.txt at all

The pattern is plain once you see it laid out. Most shaping on your traffic is done by someone else, for their goals. Your levers are the bottom two rows, plus making the first row work in your favour.

How traffic shaping works inside Google's exchange

Google's own documentation is the clearest public example of how traffic shaping works. Its Authorized Buyers system sends bid requests to buyers' bidders, and it limits and ranks those requests in ways any publisher on Ad Manager should know.

First comes pretargeting. Google's pretargeting guide says it "allows you to receive requests only for impressions that match your targeting criteria." A buyer whose pretargeting doesn't match your inventory never hears about it, however much traffic you send.

Then comes the quota. Google's callout quota system sets a maximum rate of callouts in QPS, and "if pretargeting matches exceed the requested quota limits, excess bid requests are throttled." The page then says the part that matters most for publishers:

  • "Sometimes bid requests you're likely to respond to are prioritized based on your recent bidding history."
  • The signals it uses include publisher IDs, environment type and ad format.
  • It "sends less callouts than it can if the bidder doesn't respond to bid requests in time or if the bidder's responses are invalid."
  • A bidder's quota is also capped by its spend: the effective limit is "the minimum of the configured quota and spend-based quota."

Put simply, buyers who've bid on inventory like yours keep getting it. If no buyer has bid on your ad format from your publisher ID lately, your requests rank lower when quota runs short. Google's real-time bidding guide also says it waits "80 to 1000 ms" for a bidder to respond, so slow buyers get throttled too.

Watch out for this. Shaping feeds on itself. Inventory that gets few bids gets sent to fewer buyers, which means fewer bids. Breaking that loop is about making your requests worth answering, not sending more of them.

Traffic shaping vs supply path optimization

Traffic shaping and supply path optimization both cut wasted requests, but different people do them for different reasons. Traffic shaping filters requests on the way to buyers. Supply path optimization (SPO) is a buyer choosing which routes to your inventory it'll keep buying through.

Traffic shapingSupply path optimization (SPO)
Who does itSSPs, exchanges, DSPs and publishersMostly DSPs and agencies
What it decidesWhich buyers receive each bid requestWhich sellers and resellers a buyer bids through
Main signalsQPS caps, bid history, response errorsads.txt, sellers.json, the supply chain object, fees, duplicates
How it hits youFewer buyers see some impressionsBuyers drop the paths to you they don't trust
What you do about itMake inventory worth bidding on; shape your own wrapper carefullyKeep paths short, direct and declared

SPO for publishers comes down to being easy to buy from directly. IAB Tech Lab's sellers.json page says the SupplyChain object lets buyers "see all parties who are selling or reselling a given bid request." The SupplyChain object spec adds a complete flag that says whether the chain leads all the way back to the site owner.

So check these things, in this order:

  • Your direct partners are listed as DIRECT in your ads.txt. The ads.txt 1.1 spec says DIRECT means "the Publisher (content owner) directly controls the account."
  • Each SSP's sellers.json lists your seller ID.
  • Resellers you don't recognise aren't in your file at all.
  • Since ads.txt 1.1, your file can also carry OWNERDOMAIN and MANAGERDOMAIN lines so buyers can match you to your company.

Our sellers.json guide walks through those checks step by step.

How to tell if your traffic is being shaped

You can't see an SSP's filter directly, but you can see its effects. The sign to look for is a gap between how many requests you send and how many bids come back, broken down by partner.

  1. Pull each SSP's report for ad requests, bids and wins over the last 30 days, by ad unit or format.
  2. Work out the bid rate for each: bids divided by requests. Compare formats and devices side by side.
  3. Look for one format, device or country with a much lower bid rate than the rest, or a bid rate that fell while traffic didn't.
  4. Ask the SSP's account team which DSPs are receiving that inventory, and whether QPS limits are holding any of it back.
  5. Check your ads.txt for resellers selling the same inventory. Buyers may be getting it through them instead.

When we review a publisher's setup, the bid rate by format is one of the first numbers we pull. A low rate on one format usually points to a fixable cause: a slot that's rarely in view, a size few buyers want, or a reseller path buyers have dropped.

Don't read every drop as shaping, though. Seasonality, a consent banner change or a new floor can move bid rates just as much. Change one thing at a time, so you know which one did it.

How publishers can do traffic shaping in Prebid

Publisher-side traffic shaping means calling fewer bidders, on fewer requests, without losing the bids that matter. In a Prebid setup you already have the tools, and most of them are plain config.

Call bidders per ad unit, not everywhere

In Prebid, every ad unit lists its own bidders. Prebid's ad unit reference calls the bids array the "demand partners and associated parameters for a given ad unit." That means a bidder that never bids on your sticky footer doesn't need to be called for it. Start with your bidder report by ad unit, and drop the bidder and ad unit pairs that bid close to never over a full month.

Set floors so buyers know what not to send

Prebid's price floors module sends a floor with each request, by ad unit, media type and size. A sensible floor tells bidders the minimum you'll take, and Prebid itself doesn't recommend static floors. Set it too high, though, and you're doing the same over-filtering you're trying to avoid. Our bid shading guide explains how floors and first-price bids interact.

Use a timeout that fits your page

A bidder that answers after the auction closes wasted the request. Prebid's timeouts page puts the trade-off well. Too short, "header bidding won't have enough time to take place." Too long, and "revenue may go down due to delaying the ad server call."

Check which bidders keep missing the timeout on your pages. Then either fix the cause or stop calling them where they're always late.

Try a shaping module only with a test

Prebid also has modules built for this job. The Prebid Server modules list describes one that "filters out bidders that are not expected to bid on this request." On the browser side, Prebid's Greenbids RTD module can "dynamically filter calls to SSP to reduce outgoing call to the programmatics chain." Both make the call for you, so measure before you trust them.

One detail in the Prebid Server Greenbids docs is worth copying even if you never use the module. Its explorationRate setting keeps a share of traffic "without filtering" so the model keeps learning. Any shaping you do should leave a slice like that unfiltered.

The benefits of traffic shaping for publishers

The benefits of traffic shaping for publishers are real, but smaller and slower than most vendor pitches suggest. Done well, it gives you three things:

  • Faster pages. Fewer bidder calls per ad unit means less work in the browser and an earlier ad server call.
  • Less data going out. Every bidder you don't call is one less company that sees the request, win or lose.
  • A better reputation with buyers. Fewer duplicate bid requests and a short path make your inventory cheaper for DSPs to read, which is what upstream filters reward.

Lower server costs come into it too if you pay to host Prebid Server. What you shouldn't expect is a quick CPM jump. Most of the gain comes from buyers trusting your supply over months.

The risks of traffic shaping, and a safe way to test it

The biggest risk of traffic shaping is over-filtering: cutting the requests that would have won. A bidder that rarely bids can still be the one that pays most for a few impressions a day. Drop it, and nothing tells you what you missed.

Here's what we'd watch for:

  • New buyers never learn your inventory. If you only call bidders who bid before, a buyer starting a new campaign can't find you.
  • The wrong number goes up. Bid rate and win rate look better after cutting calls. Revenue per thousand sessions is the number that pays you.
  • Short-term dips hide long-term gains, or the other way round. Run a test for at least two full weeks so both weekdays and weekends count.

So test it like any other change. Keep a holdout group, say 10% of page views, that runs your old setup with every bidder called. Compare revenue per thousand sessions, page speed and fill between the two groups. Our Prebid.js setup guide shows where those settings live if you're building the test yourself.

Our rule of thumb. Cut a bidder from an ad unit only when it has bid close to never for a month and the holdout shows no revenue drop. Everything else stays switched on.

Frequently asked questions

What is traffic shaping in simple terms?

It's deciding which buyers get each ad request, so buyers aren't flooded with requests they'll never bid on. SSPs, DSPs and publishers all do it at different points in the chain.

Is traffic shaping the same as SPO?

No. Traffic shaping filters bid requests on their way to buyers. Supply path optimization is a buyer picking which sellers and resellers it'll buy through. Both cut duplicate requests, so they often get mentioned together.

What does QPS mean in ad tech?

QPS means queries per second: how many bid requests a buyer agrees to receive each second from a seller. When requests go over that cap, the extra ones are throttled and never reach the buyer.

Does traffic shaping increase CPMs?

It can, when it removes noise and keeps buyers bidding on your best inventory. It can also lower revenue if it cuts bidders who win now and then. Only a holdout test on your own traffic tells you which way it goes.

Can I stop SSPs from shaping my traffic?

Not directly, since it's part of how exchanges manage their buyers. You can make your inventory more likely to be sent on: keep ads.txt and sellers.json clean, use viewable ad slots and give honest sizes and formats in your requests.

What is bidstream bloat?

Bidstream bloat is the excess of bid requests over real impressions, caused by the same impression being sent through many SSPs and resellers. It's the reason traffic shaping exists.

Next step

Traffic shaping mostly happens to your inventory, so the best move is to be worth sending: clean supply paths, slots buyers want and a wrapper that calls the right bidders. If you'd like someone to check your bidder setup and supply path, our header bidding service starts with that review.

Free tools

Is your site ready for Google AdX?

Check your AdX eligibility

Our current screening asks for $1,000 or more in two separate months of the last three, and invalid traffic under 10%.

Free AdX readiness checklist (PDF)

The 25 checks we run before recommending a site for AdX through MCM. Enter your details and download it straight away.

We will only use your email to reply about your site.

WhatsApp