Tracing an adult network back to the sites it monetises
The label describes a role rather than a business model. An adult network can own the inventory it sells, resell somebody else's, or mix both in proportions it never publishes, and that ratio decides whether your exclusions hold for months or decay within days. Three public files settle the question faster than a sales call: the publisher's ads.txt, the platform's sellers.json, and the SupplyChain object riding inside each bid request. Read them in that order. Pricing, targeting depth and refund policy follow from what those files admit.
What sits behind the dashboard of an adult network
Supply arrives by two routes and the interface flattens both into one column of zone identifiers. Some slots come from a direct contract with a site owner who is paid per thousand impressions and hands the placement over. The rest is bought from another platform and resold, which means a second party has already priced it, taken its cut, and decided how much of the origin you get to see. Reporting rarely separates the two. That silence is the first thing worth breaking with an adult network.
Direct stock behaves like a subscription. The same domain returns week after week, volume tracks the site's own audience curve, and an exclusion holds until you lift it. Resold stock rotates instead. Identifiers change on a schedule nobody publishes, a zone you cut on Monday returns on Thursday wearing a new number, and one visitor can be sold to you twice inside an hour by two intermediaries who both booked the same impression along different paths. Ask for the split as a share of spend rather than as a share of zone count, because zones cost nothing to mint and spend does not.
Why a zone identifier is rarely a domain
Reporting here exposes supply at zone level, and a zone is one slot on one page. A single property therefore generates dozens of them, each carrying its own history and its own conversion record. The domain behind the number is often withheld on purpose, since site owners in this vertical keep monetisation partners off the record. Behaviour becomes the only evidence. You keep the identifiers that convert, cut the rest, and never learn which site produced either group.
Two zones on one property routinely differ by an order of magnitude, so a domain-level exclusion would have removed the good half along with the bad. The trade holds only while numbering stays stable long enough for last month's record to still describe this month's stock.
| Supply route | What stays fixed across weeks | Control retained |
|---|---|---|
| Direct publisher contract | Zone ID and the domain sitting behind it | Exclusions hold |
| Resold through a partner | Format and country | Bid adjustment, nothing more |
| Negotiated fixed placement | Named site, agreed daily schedule, creative slot | Full, in writing |
| Remnant backfill | Nothing worth naming | Accept or refuse |
Public files that expose an adult network's resale chain
Three IAB Tech Lab specifications settle ownership without anyone having to be candid. Publishers host ads.txt at their own root, listing every advertising system cleared to sell that inventory and marking each line DIRECT or RESELLER. Exchanges host sellers.json, naming whoever they pay. The clearest walkthrough I found of a declared chain checked against a live bid stream came from a working adult network rather than from the specification text, which defines the fields without ever showing them populated.
The SupplyChain object then rides inside the bid request itself, one node per party in the payment path. Each node carries two required properties: an advertising system identifier, which is a domain, and the seller ID naming whoever gets paid. Those values are meant to match ads.txt and sellers.json exactly. A seller ID must map to a single paid entity, so a chain that resolves cleanly tells you how many hands the money passes through before it reaches the site owner. Three nodes is ordinary. Five is a warning, because every node takes a margin out of the bid meant to win the placement.
What an unresolvable chain tells you
Files go missing. A sellers.json returning a 404, entries marked confidential without a seller name, or a chain node whose domain hosts no declaration at all are permitted under the specification and inconvenient for you. Confidential entries exist for real commercial reasons, so their presence proves nothing on its own. Volume is the tell.
When most of your spend routes through nodes that cannot be resolved, you are not buying placements so much as buying a lottery ticket on somebody else's inventory quality. Check that ratio before the second deposit clears rather than after the first invoice lands.
Where an adult network takes its margin
Margin is taken in three places and only one of them is ever quoted. The visible one is the spread between what a publisher receives per thousand impressions and what you are charged for the same thousand. The second sits in auction mechanics, where a floor set above the honest clearing level converts a competitive auction into a fixed rate without announcing it. The third hides in measurement, because whoever counts the impressions decides how many there were, and the counting happens on the servers of the adult network.
Popunder inventory shows the third case better than any explanation. Look at the billing trigger. The session registers when the window opens rather than when the page finishes rendering, so a user who closes it inside a second is billed exactly like one who reads. The Media Rating Council sets the reference bar elsewhere: at least half the creative's pixels inside the viewport for one continuous second, two continuous seconds for video, thirty percent for creatives above roughly 242,500 pixels. Almost nothing in this vertical is measured against that standard and nobody is obliged to be.
Floors, first price and second price
Auction rules shape bidding style more than any recommendation will. Under second-price settlement a high bid clears at barely above the runner-up, so bidding your true ceiling costs little. Under first-price settlement that same bid is charged in full, and overbidding is punished on the very first impression.
Publisher floors sit beneath both models and are rarely disclosed. A bid under the floor buys nothing and reports as zero impressions rather than as a rejection, which is why a campaign that looks broken is often priced two cents too low. Raise the bid before rewriting the creative. Floors also move: a site that raised its floor overnight will silently drop you out of its auction while your dashboard keeps showing an active, funded campaign with a healthy balance.
| Where margin sits | How it surfaces in reporting | Question to ask first |
|---|---|---|
| Publisher spread | Invisible | What percentage |
| Floor above clearing price | Zero impressions on a live, funded campaign | Who sets the floor here |
| Impression definition | Counts above your own tracker | Which event fires billing |
| Discrepancy tolerance | A gap you absorb in silence | What gap triggers credit |
Controls an adult network hands over, and the ones it keeps
Bidding granularity is the control worth negotiating for. One bid across a country treats every source as identical, so zone-level bidding becomes the working unit: price each identifier against its own record. Whether a change applies without a campaign restart matters as much as whether the control exists at any adult network.
Frequency caps, dayparting and creative rotation usually sit with you. Traffic quality filtering usually does not. The platform decides what gets removed before it reaches your report, and that threshold is a commercial decision rather than a technical one, because every impression filtered out is revenue nobody books. Platforms with heavy direct supply can afford strict filtering, since the cost is recoverable from the publisher who sent the bad traffic.
Resellers cannot recover anything upstream, which is precisely why their filtering runs looser and their refund conversations run longer. The two-sided operations where advertisers and site owners buy and sell adult traffic under one roof set this reasoning out openly, and it matches what the refund clauses say once you read them properly.
Judging an adult network after the first month of data
Four exports settle the question and none of them appear on a summary screen. Pull the share of sessions arriving from data centre address ranges, the spread of time between click and conversion, the click-to-impression ratio per zone, and the proportion of conversions landing inside ten seconds of the click. Anything clustered too tightly was manufactured rather than earned, and a summary dashboard aggregates that shape away before you can see it on an adult network. Postback discrepancy deserves its own daily line rather than a monthly reconciliation.
A gap between what the platform counted and what your tracker recorded is ordinary at low single digits and diagnostic well beyond that. Pull it at the same hour each day, because the shape of the gap matters more than its size: a stable five percent is a measurement artefact, while a figure that swings between two and twenty is somebody's filtering switching on and off.
Stability is the metric nobody sells you
Count how many of last month's productive zone identifiers still exist this month. On direct supply the figure is high and dull. On heavily resold supply it collapses, and each collapse turns the whitelist you spent a deposit building into a list of numbers pointing at nothing.
Refund policy tells you the rest. A platform confident in its filtering credits detected invalid traffic without argument, because the cost lands upstream on whoever sent it, while a reseller argues because it has nobody left to charge. Material published from the supply side by this porn ad network draws the same distinction in reverse, and the two accounts line up neatly.
Get the policy in writing before the first deposit clears, since credit terms invented mid-dispute favour whoever drafts them. The account worth keeping at any adult network is the one where identifiers persist, discrepancy stays flat, and questions come back answered with exports.