← ALL NOTES
ADX / / 11 MIN READ Updated

AdX vs. AdSense

AdX vs. AdSense

AdX and AdSense settle through the same Google payment system, on identical official terms, and both fill impressions from Google's exchange demand. The difference sits upstream of payment: AdSense hands a publisher a closed pool with almost no levers, while Ad Exchange, or AdX, exposes that same demand to an ad server that can price, filter and package it. On November 2, 2023, Google split the published AdSense revenue share into a buy-side rate and a sell-side rate, and those two numbers explain the products better than any positioning page does. Before the change, a publisher kept a flat 68 percent of what an advertiser paid when Google Ads bought display inventory on AdSense. After it, Google Ads discloses an average retention of 15 percent of advertiser spend, AdSense discloses an 80 percent payout to the publisher, and the two rates multiply back to the old number.

A product versus a layer inside an ad server

AdSense is a product. A publisher opens an account, pastes a tag or enables Auto ads, and reads aggregate reports. The account carries no line items, no impression-level floors and no deal objects, and AdSense decides format placement itself. Ad Manager is the ad server, and Ad Exchange is the exchange layer inside it: the demand that fills non-guaranteed Ad Manager line items when direct, house and sponsored campaigns do not clear.

Ad Exchange began as a separate account class for large publishers. The current structure folds it into Ad Manager, and "AdX account" survives as shorthand for an Ad Manager network with a linked Ad Exchange account. A publisher reaches that layer through one of two routes. The first is a direct link: a user with administrative permissions in Ad Manager links an Ad Exchange account to the network, and Ad Manager keeps new Ad Exchange line items and yield groups unavailable until that link exists. The second is MCM, Multiple Customer Management, available only in Ad Manager 360 for the managing publisher: a third party runs the AdX relationship on behalf of child publishers, the hierarchy supports up to 15 Manage Inventory parents, and the managing publisher configures a revenue share from 0 to 100 percent.

The consequence for planning: AdX is not a signup product in the way AdSense is. It arrives through an Ad Manager network, either your own or a managing publisher's. AdSense also runs as a network inside Ad Manager under dynamic allocation, and Google treats it and AdX identically there: both count as non-guaranteed exchange demand competing against the rest of the line items. So the real question is never AdX versus AdSense as tags. The question is who owns the ad server that prices the impression, and therefore who sets the floors, the exclusions and the deals.

The published money, in both directions

For AdSense for Content, Google publishes the current split in the AdSense revenue share disclosure: the publisher receives 80 percent of the revenue after the advertiser platform takes its fee. When the advertiser platform is Google Ads and the purchase is display inventory on AdSense, the publisher keeps about 68 percent. The arithmetic is clean: of 100 units of advertiser spend, Google Ads retains on average 15, leaving 85; the sell side takes 20 percent of that remainder, or 17, and the publisher nets 68.

The change is a disclosure change, not a rate cut. Before it, Google published one flat figure, 68 percent, for display bought through Google Ads on AdSense. The November 2023 announcement split that single number into a buy-side rate, the 15 percent average Google Ads retention, and a sell-side rate, the 80 percent payout, and the change took effect in early 2024. Two cautions apply when you model on these figures. Google no longer discloses a percentage for AdSense for Search, so do not anchor Search revenue to a published split. And the 68 figure describes Google Ads display buys specifically: other advertiser platforms carry different fees, which is why the sell-side disclosure reads as 80 percent after the platform fee rather than as one net number.

For an agency advising a publisher, the modeling consequence matters more than the percentages. An AdSense property has one published net per demand source. An AdX property nets whatever the exchange clears, minus the MCM share you negotiated, so demand a monthly clearing view by geography before you accept a blended account number as proof of anything.

How 100 of advertiser spend splits on AdSense
The buy-side and sell-side rates multiply back to the old flat 68 percent for display bought through Google Ads.

What dynamic allocation actually changes

AdX does not carry a hidden pool of richer bids. Its value is competition: exchange demand bids against your own line items under rules you define. Dynamic allocation operates within Google Ad Manager, and you cannot configure or manage it inside an AdSense account. When guaranteed demand targets an impression, Ad Manager computes a temporary opportunity-cost CPM, and Ad Exchange or AdSense deliver against the other line items only when they offer a higher CPM than those line items. Your sponsorships and direct placements therefore act as a dynamic floor, impression by impression, and exchange demand has to beat them to serve.

Run standalone, AdSense offers none of this. The pool clears against itself, you cannot set a reserve, and the reporting shows results rather than clearing prices. That opacity is the operational cost of the product, and it grows with scale.

Around dynamic allocation, Ad Manager exposes the levers a monetization team expects from an ad server: unified pricing rules and yield group floors by geography and size, frequency caps, competitive exclusions, key-value targeting, roadblocking. On the demand side, DV360, The Trade Desk, Amazon DSP and Criteo reach AdX inventory through OpenRTB, and a Prebid wrapper puts those buyers in competition ahead of the ad server call. We integrate OpenRTB 2.6 seats and Prebid for header and server-side demand, and our auction mechanics rank bids by expected value, with first-price bids shaded against the expected clearing price, reserve prices and goal-based pacing.

Header bidding changes the job of dynamic allocation rather than replacing it. In our stack, Prebid bids land on the ad call as key-values, and the yield group floor lifts to the winning header price so exchange demand must beat that price rather than shadow it. Configure price granularity and floor policy together, or AdX will clear impressions below the header bid and the report will look like an exchange problem when it is a configuration problem.

Deals, vendors and the control gap

Google positions Ad Manager for large publishers with a significant direct sales team or granular inventory control needs, and Google's official product comparison lists the differences line by line. Only Ad Manager supports Preferred Deals, at fixed CPMs, and Private Auctions, with floor prices. AdSense offers no Preferred Deals. For a team with a sales function, that gap is the whole argument for moving: packages and preferred access convert buyer relationships into priced, incremental inventory, and AdSense contains no instrument for either.

The deal mechanics are worth knowing before you sell against them. A Preferred Deal carves the impression out ahead of the open auction at a fixed CPM, so price it against your exchange clearing average before you sign. A Private Auction runs invited buyers against a floor, which keeps the competition inside a named list. Neither exists outside Ad Manager.

Vendor controls differ just as sharply. Ad Manager allows all Google-certified vendors and lets a publisher block any vendor. AdSense allows most vendors and gives no option to block an individual one. Under TCF consent strings and category signaling, that difference decides whether you can honor an advertiser exclusion list, quarantine a low-quality vendor, or keep a category clear for a sensitive placement. Buyers increasingly ask for the vendor list and the exclusion log during RFPs, and only one of the two products can answer.

Reporting follows the same pattern. Ad Manager reports by order, line item, key-value and yield group, with delivery and forecast data, while AdSense reports at product level. Our partners read the whole stack, external demand included, in our ten minute reporting console, alongside curated demand and Net 30 payments.

AdSense versus AdX at a glance
The two products differ in access path, auction scope, deals, vendor control and how the net rate is set.

Payment terms are identical, so compare demand instead

Both products pay through Google on identical official terms. Treat any claim that one Google product pays faster than the other as false. The real comparison sits in the net rate: AdSense pays the published split on whatever demand Google surfaces, while AdX clears at the exchange price and then the MCM revenue share, configured from 0 to 100 percent, divides the proceeds between the managing publisher and the child.

Our own terms sit on top of that stack and do not move. We pay publishers Net 30, CPM based, with no chasing and no sliding terms. We are OnlyMedia: an ad network, an SSP and an agency in one company, working with thousands of publishers, each above one million monthly pageviews. We run Google Ad Manager, AdX and MCM for our publisher partners, and our demand network and payout terms carry the demand those partners cannot reach on their own.

The migration path

Migration is a sequencing problem. Follow this order and revenue reporting stays continuous through the move.

  1. Build the baseline: net revenue per thousand impressions by geography, unit and device, out of the AdSense account.
  2. Create the Ad Manager network and the ad unit structure, with key-values for section, template and audience.
  3. Link Ad Exchange first. A user with administrative permissions links the Ad Exchange account, and Ad Manager keeps new Ad Exchange line items and yield groups unavailable until the link exists, so create the link before the yield groups.
  4. Set unified pricing floors by geography and size, and decide the reserve policy for dynamic allocation against guaranteed demand.
  5. Attach Prebid across header and server-side seats over OpenRTB 2.6, so external demand competes ahead of the ad server call.
  6. Route AdSense as a network inside Ad Manager under dynamic allocation, and retire the standalone tag placement by placement. Two independent tags on one slot double-serve and corrupt every comparison you run.
  7. Cut traffic over in stages, and judge the result on net CPM per impression by geography, not on account-level monthly totals.

Under MCM, the same sequence holds with one difference in ownership: the managing publisher holds the Ad Exchange relationship and configures the revenue share, while the child publisher serves through the managing network and reads delivery reporting there. Choose a managing partner that exposes clearing data and floor logic, because a share configured from 0 to 100 percent means the contract, not the product, sets your net.

When AdSense alone is enough

AdSense remains the correct tool in specific cases, even at scale. It fits when no sales function exists and none is planned, when auto-placed formats cover the template without build effort, and when a test property needs placement-level experiments more than auction control. It also fits publishers who already run Ad Manager and want a second exchange network inside dynamic allocation, and agencies sometimes keep it for nonstandard long-tail placements while Ad Manager handles the sold inventory.

AdX through Ad Manager wins when any of these hold: a direct sales team exists; floor policy, vendor exclusions and roadblocking matter; header bidding or server-side demand sits in scope; deals with named buyers form part of the model; or a managing publisher carries the AdX relationship under MCM while the publisher keeps first-party ad serving. Above one million monthly pageviews, at least two of those conditions usually hold, which is why the standalone AdSense account is rare in that tier.

Failure modes we keep seeing

Gross-to-net confusion tops the list. Comparing an AdX clearing CPM to an AdSense net RPM without netting the MCM share and the buy-side fee produces fictional lift. A 10.00 gross bid from a DSP nets to a different number once the average 15 percent buy-side retention and your MCM share come out, so run the arithmetic before declaring a winner.

Double serving comes second. A standalone AdSense tag left live next to the Ad Manager tag on the same placement pays twice for impressions that should compete, and it makes every test unreadable. Serve AdSense only through dynamic allocation once the ad server owns the placement.

Two quieter failures follow. Without unified pricing floors, AdX clears low-value international traffic against thin competition, so treat floor policy as part of the migration rather than a later optimization. And AdSense gives no way to block an individual vendor, so adjacency and compliance problems have no resolution inside that product. The last failure is arithmetic again: teams treat the published 68 percent as an AdX rate, when it describes AdSense display bought through Google Ads, and AdX nets depend on clearing prices and the negotiated share.

What to measure after the switch

Track five things weekly: net CPM per impression by geography and size; fill against opportunity; viewability of exchange impressions; Prebid bid density and shading loss; and the revenue share held by deals versus open exchange. Add payment timing against terms, because a stack that clears well but pays late fails at the payout step.

We size all of this before anyone touches a tag. Send the domain and the audience profile and we return a revenue estimate by email, with the demand mix and the floor assumptions written out. Above one million monthly pageviews, the publisher who owns the ad server sets the floors, the deals and the vendor list. The publisher who does not accepts whatever the closed pool pays.

WRITTEN BY THE DEMAND DESK MORE NOTES →