Supply path optimization with domain data
Supply path optimization usually starts with fees and seller files. This guide adds the piece most teams skip: what each path actually reaches, measured by domain category, country, popularity and parked status.
What supply path optimization means
The same ad slot can reach a buyer through several exchanges and resellers at once. Supply path optimization, often shortened to SPO, is the choice of which of those routes to keep. The goal is to pay fewer fees, see more clearly, and spend on inventory you actually want.
Where this guide fits: it assumes you already read seller files and want to go further. The focus is on joining every domain in your logs to a category, a country and a popularity band, then using those labels to rank paths. It suits DSP teams, agency trading desks, in-house programmatic teams and exchanges reviewing their own supply.
What you will end up with: a monthly path table, a short scoring rule your traders can read, a category based allow list and block list, and a small set of alerts that flag paths drifting into parked, risky or off topic inventory between reviews.
The three inputs to a supply path decision
Good SPO combines cost, transparency and reach. Domain data is the third leg, and the one that turns a cost exercise into a quality exercise.
Cost and performance
Fees, take rates, win rates, bid density, timeouts and the outcomes each path delivers. These come from your own logs and your partners' reports.
Transparency
ads.txt authorization, sellers.json identity, complete chains and the number of hops. Our guide to ads.txt and sellers.json covers each field.
Reach by domain
The topics, countries, popularity bands and risk categories of the domains a path delivers. This is where a categorized domain database fits.
Domain signals that change path decisions
Each signal below can be joined to your bid logs by domain. None of them needs page level scanning at bid time, which keeps the work cheap and fast.
| Signal | What it tells you about a path | Typical rule |
|---|---|---|
| IAB Content Taxonomy category | Which topics a path reaches, down to tier 2 or tier 3. | Keep paths that reach your target topics at a good price. |
| Web filtering category | Risk classes such as adult, gambling, malware or parked. | Cut paths where risky categories make up a large share. |
| Parked / For-Sale flag | Domains that show ads but carry no real content. | Exclude outright, whatever the path. |
| Popularity band | Whether a path leads to well known sites or the deep long tail. | Weight paths by reach into the bands you value. |
| Country | Where the sites in a path are based or mainly used. | Match paths to campaign markets. |
| Multiple categories | Whether sites are focused or scattered across many topics. | Prefer focused sites for contextual campaigns. |
| Domain age | Newly registered domains entering a path. | Hold new domains on a watch list until they are categorized. |
The full list of labels is in our category taxonomy, and the dual taxonomy guide explains why both label sets sit on the same row.
A six step workflow
This is a workflow a media buying team or a DSP can run each month. It assumes you have bid logs with domain, exchange and seller ID for each request.
1. Build the path table
Group bid requests by domain, exchange and seller ID. Each unique combination is one path. Count requests, bids, wins and spend for each.
2. Attach seller file status
Mark each path as authorized or not in the site's ads.txt, and note the seller type and chain length. Unauthorized paths are usually the first to go.
3. Join domain categories
Look up every domain in the category file and add topic, risk category, country and popularity band. A local file makes this a simple join on millions of rows.
4. Score each path
Combine cost, transparency and reach into one score. Keep the weights simple and written down, so traders can follow the logic.
5. Decide keep, cap or cut
Keep the best path to each important domain. Cap paths that add some unique reach. Cut paths that duplicate others or land mostly on unwanted categories.
6. Review and refresh
Rerun monthly with refreshed categories. Watch newly seen domains daily, since they enter the stream before anyone has reviewed them.
Example: scoring three paths to the same site group
An invented example of a buyer targeting home and garden content in two markets. Three paths reach overlapping sites. The scores are illustrative, not benchmarks.
| Path | Hops | Share in target topic | Parked or risky share | Popular band share | Decision |
|---|---|---|---|---|---|
| Exchange 1, direct sellers | 1 | High | Very low | High | Keep |
| Exchange 2, one reseller | 2 | Medium | Low | Medium | Cap |
| Exchange 3, two resellers | 3 | Low | Noticeable | Low | Cut |
What the domain data changed: on price alone, path 3 looked attractive. Once each domain carried a category and popularity band, it was clear that its low cost came from long tail and parked inventory that the campaign did not want.
Allow lists and block lists built from categories
SPO decides the route. Domain lists decide the destination. The two work best together, because a clean path to the wrong site is still wasted spend.
Category based allow lists
- Start from the IAB categories that match the campaign topic.
- Filter to the target countries and popularity bands.
- Remove anything in risky web filtering categories.
- Refresh monthly so new sites in the topic join the list.
Category based block lists
- Parked / For-Sale Domains and Malware / Phishing / Suspicious.
- Categories outside your brand suitability profile.
- Thin ad pages from a made for advertising sites list.
- Newly seen domains until they carry a category.
If your team is deciding which topics count as unsafe, our page on brand safety categories walks through risk tiers. Export options for list files are covered in domain list download formats.
SPO from the sell side
Buyers are not the only ones cutting paths. Exchanges, sales houses and publisher groups use the same data to stay on the right side of those cuts.
Packaging inventory
Group supply into topic packages, such as automotive or travel, using IAB categories rather than hand built site lists.
Cleaning supply
Remove parked and for-sale domains before buyers find them, which protects the exchange's reputation in path reviews.
Explaining reach
Show buyers what share of supply sits in each topic, country and popularity band, so path reviews start from facts.
Vetting new sellers
Check a new publisher's domains against categories before onboarding. See publisher monetization for related uses.
Mistakes to avoid
Supply path work can backfire when it is done in one big cut, or when it ignores what each path uniquely reaches.
Cutting on price alone
The cheapest path is often cheap for a reason. Look at what it reaches before you keep it, and before you cut a pricier one.
Losing unique reach
Some resold paths are the only route to certain niche sites. Check category coverage before removing a path entirely.
Static lists
A list built once ages fast. New domains appear daily and parked domains change hands, so build refresh into the process.
Opaque scoring
If traders cannot see why a path was cut, they will add it back. Keep rules short and keep a note of each decision.
Ignoring country
A path can look strong overall but be weak in your target market. Split scores by country before deciding.
Page level only thinking
Page checks at bid time are slow and costly. Domain level categories handle most decisions upstream and leave page checks for edge cases.
Measuring whether it worked
Set the measures before the first cut, so you can tell a real gain from a reshuffle of the same spend.
A simple path score you can explain
Complex models are hard to defend in a trading meeting. A short weighted score, built from a few columns, is usually enough to rank paths and start the conversation.
| Component | How to measure it | Example weight |
|---|---|---|
| Topic fit | Share of a path's spend landing on domains in the campaign's IAB categories. | 30% |
| Clean inventory | One minus the share landing on parked, malware or blocked filtering categories. | 25% |
| Reach quality | Share of spend in the popularity bands and countries you value. | 15% |
| Transparency | Authorized in ads.txt, named seller, complete chain, few hops. | 15% |
| Cost | Effective cost after fees, compared with the cheapest path to the same domains. | 15% |
Tip: the weights are a starting point, not a standard. A performance campaign may lift cost, while a brand campaign may lift clean inventory. Write the weights down and keep them stable for a full review cycle.
Web, app and CTV paths behave differently
The same method works in each channel, but the key that joins logs to domain data differs. Plan the join before the first review.
Open web
The site domain in the request is the join key. Normalize it to the registered domain, strip www, and keep subdomains only where they host different content.
Mobile apps
Requests carry a store ID. The developer website from the store listing links the app to a domain, which you can then categorize and check against app-ads.txt.
Connected TV
Prices are high and spoofing pressure is strong. Developer domains and channel publisher domains give a first layer of context before deeper checks.
Who usually owns the work
SPO cuts across teams. Naming an owner for each part prevents the classic outcome where every team assumes another one is reviewing paths.
Buy side roles
- Programmatic lead: sets the rules and signs off on cuts.
- Data analyst: builds the path table and the domain join.
- Traders: apply caps and report unexpected drops in delivery.
- Brand safety owner: maintains the category block list.
Sell side roles
- Supply quality team: removes parked and risky domains.
- Partnerships: keeps seller files aligned with partners.
- Product: builds topic packages from categories.
- Sales: explains reach by category and country to buyers.
Quick glossary
Short definitions for terms used across this guide.
Path
One combination of domain, exchange and seller ID through which an impression reaches a buyer.
Take rate
The share of the buyer's payment kept by an intermediary rather than passed to the publisher.
Bid duplication
The same impression offered several times through different paths, so a buyer may bid against itself.
Allow list
A list of domains a campaign may buy on. Built from categories, it grows as new sites in the topic are categorized.
Popularity band
A range that places a domain among the most visited sites globally or in a country, used to weigh reach.
Long tail
The very large number of small sites with little traffic each. Useful for niche reach, risky without context.
Data you need and how to hold it
The work is a large join, so a local copy of the category data is usually easier than calling an API for every domain in the logs.
From your own systems
- Bid request logs with domain or app, exchange and seller ID.
- Win and spend data by the same keys.
- Crawled ads.txt and sellers.json snapshots.
- Campaign outcomes joined by line item.
From a categorized domain database
- Web filtering and IAB categories per domain, ranked by fit.
- Country and country level popularity band.
- Global popularity band.
- Daily newly registered domains, monthly full refresh.
Our comparison of API versus database explains when each access mode fits. Most SPO teams use the file for the monthly join and the included lookup API for one off checks.
Warning signs that a path needs review
Between monthly reviews, a few simple alerts catch most problems early. Each can run on the same joined table.
| Signal | Likely cause | First action |
|---|---|---|
| Sudden jump in new domains on one path | A reseller added a batch of unknown sites. | Hold the new domains until each carries a category. |
| Parked share rising week on week | Expired domains bought for ad traffic. | Cut the path or block the parked domains directly. |
| Topic mix drifting away from target | Seller packages changed or were relabelled. | Compare category shares with last month and ask the seller. |
| Country mix not matching targeting | Traffic sourced from other markets. | Split the path score by country and cap weak markets. |
| Spend concentrated on a few tiny sites | Possible arbitrage or invalid traffic. | Check popularity bands and run traffic quality checks. |
Why categories matter for alerts: without a label on each domain, a new batch of sites looks like any other growth. With categories, the same batch shows up as "200 parked domains" or "a new cluster of gambling sites" and the response is obvious.
Frequently asked questions
What is supply path optimization?
It is the practice of choosing which routes a buyer uses to reach the same ad inventory. The buyer keeps paths that are cheaper, clearer and better at reaching the sites it wants, and drops the rest.
Why does domain data matter for SPO?
Most SPO looks at fees, win rates and seller files. Domain data adds what each path reaches. A path can be cheap and transparent yet lead mostly to parked domains or thin ad pages.
Is SPO only for large buyers?
No. Smaller teams can start with simple rules: keep direct paths to known sites, cap resellers, and exclude parked and for-sale domains. Categories make those rules easy to write.
How often should supply path rules be reviewed?
Most teams review monthly, matching monthly category refreshes, and watch newly registered domains daily. Paths change as publishers switch partners.
Do sellers also use supply path data?
Yes. Exchanges and sales houses use categories to package inventory, explain reach by topic and country, and remove domains buyers would filter anyway.
Which categories are most useful for SPO?
IAB categories for topic, web filtering categories for risk such as parked or malware, plus country and popularity bands. See the IAB categories list for the topic labels.
Know what every path reaches
Category, country and popularity data for over 120 million domains, in files that join straight onto your bid logs, with a lookup API included.
IAB is a trademark of the Interactive Advertising Bureau. It is named here only to identify the content taxonomy discussed. URL Categorization Database is not affiliated with, sponsored or endorsed by the Interactive Advertising Bureau.