Setting Up Direct Campaigns in GAM Without Cannibalizing Programmatic Demand
Priority in Google Ad Manager is not a preference setting, it is a contest that runs on every ad call. When a guaranteed line item is eligible for an impression, Ad Manager prices that impression with a temporary CPM, an opportunity cost the system calculates automatically, and Open Auction takes it only if it pays more. Direct campaigns therefore do not cannibalize programmatic demand simply by existing. They cannibalize it when the guarantee is mispriced, mistargeted, or configured at a priority that breaks the delivery mechanism, and the damage shows up as auction revenue leaking quietly while the direct campaign's own report looks clean.
We sit on both sides of that collision. At OnlyMedia, we run Google Ad Manager, AdX and MCM for thousands of publisher partners, each above one million monthly pageviews, and our agency side brings direct budgets and guaranteed deals into the same inventory. A direct campaign that starves the auction shows up in supply-side reporting within days; a direct campaign the auction starves turns into a make-good weeks later. Both failures start at line item setup, so the settings deserve more attention than most ops calendars give them.
What the priority numbers control
Ad Manager assigns every line item type a fixed priority, and delivery follows the numbers:
- Sponsorship line items run at priority 4.
- Standard line items run at priority 6, 8 or 10.
- Network, Bulk and Price Priority line items, together with AdSense and Ad Exchange, run at priority 12.
- House line items run at priority 16.
The lower the number, the higher the priority. Google documents line item types and priorities in Ad Manager Help, and the source deserves a re-read before every guaranteed launch. The split that matters for direct campaigns runs along a second axis: Sponsorship and Standard serve guaranteed demand, while Network, Bulk and Price Priority serve non-guaranteed demand. Priority decides which line items are eligible to contest an impression. It does not decide the winner between a guaranteed line item and Open Auction: that decision runs through dynamic allocation and a computed price.
Teams that treat priority as a yield dial break the mechanism in both directions. Lifting Open Auction demand above the guaranteed tier starves the guarantee. Dragging guaranteed line items into placements they do not belong in walls off inventory the auction monetizes every day. The settings that follow decide how much inventory each side sees in the first place.

How dynamic allocation prices the guarantee
Dynamic allocation lets all non-guaranteed demand, Open Auction and remnant line items, compete in real time with guaranteed demand on an impression-by-impression basis. When a guaranteed line item is eligible, it competes using that temporary CPM, and Open Auction or a remnant line item serves only if it pays more than the opportunity cost. Google's page on dynamic allocation and opportunity cost covers the full mechanism, and three consequences drive every setup decision that follows:
- The opportunity cost is not the CPM on the insertion order. It is a computed value that moves with delivery pressure. Behind pace, the number rises and the auction needs a bigger bid to buy the impression; ahead of pace, the number falls and the auction wins more often.
- A guarantee and Open Auction can share a single placement without leakage, provided pacing works. The campaign takes what it needs for delivery, and the auction buys every impression where it out-pays the computed price.
- Cannibalization has a precise definition in this system: the guarantee earns less than auction demand would have paid for the same impressions, or the guarantee's configuration pushes inventory out of the auction entirely.
Every lever in the rest of this article exists to keep those three consequences working in your favor.

The one setting that breaks the safeguard
Google's documentation carries a warning worth taping to the monitor: raising the Ad Exchange priority above guaranteed line items causes delivery issues for guaranteed line items, because it disables pacing consideration in dynamic allocation. The temptation is real. A strong Open Auction week arrives, someone wants to ride it, and lifting AdX above the guaranteed tier looks like a one-click fix. Once pacing leaves the calculation, the auction takes impressions without accounting for what the guarantee still needs, and the Standard line item starves mid-flight. The make-good on that campaign costs more than the incremental auction revenue ever earned.
Treat this as a hard rule. If Open Auction wins impressions you promised to a buyer, the fix lives in the forecast, the targeting, the cap structure or the price, never in the priority column. Priority stages eligibility. Dynamic allocation decides the winner. Confusing the two is the most expensive configuration error in this workflow.
Forecast the slice, not the site
Guaranteed volume gets sold against a forecast, and most bad guarantees die at this step. Run the forecast with the exact targeting the campaign will carry: the ad unit, the geographies, the key values, the device classes, the dayparts. A site-level number hides the fact that one placement in one country on weekday evenings can run thin while the site total looks abundant. Re-forecast weekly during the flight, because availability moves with seasonality, with your other direct campaigns, and with whatever the auction pays on those pages.
Two practices keep the forecast honest. Commit less than the forecast shows, and size the buffer from your own history of forecast misses rather than a rule of thumb. Treat roadblocks as their own inventory class: when a buy requires every slot to fill together, the rarest slot governs how many complete roadblocks exist, so forecast the roadblock, never the sum of its parts.
Key values deserve the same discipline. A campaign targeting a rare key value on a high-traffic placement can consume a slice too thin to pace, and the miss appears after the IO is signed. If a placement has no sell-through history, run it under non-guaranteed demand first and learn its yield curve before anyone guarantees volume against it.
Choose the line item type and pacing deliberately
Sponsorship line items at priority 4 sell a share of traffic rather than a fixed volume. That fits long-running section sponsors and page takeovers with no impression commitment. It removes volume control: you cannot pace a percentage buy toward an impression goal. Use Standard for anything with a fixed number attached.
Standard line items at priority 6, 8 or 10 sell an impression goal. The sub-priority decides which guaranteed line item earns the right to contest a contended impression; the contest with Open Auction then runs on opportunity cost either way. Run workhorse campaigns at 8, reserve 6 for buys that must take impressions from other guaranteed lines when inventory tightens, and leave 10 for the lowest tier of guaranteed fill.
Pacing settings matter more than the tier. Even delivery across the flight keeps the opportunity cost stable, which keeps both revenue lines predictable. Front-loaded pacing drains the strongest inventory in the first days and distorts auction yield exactly where it is highest. Hard end dates concentrate delivery spikes into the final days; use soft end dates for anything with schedule flexibility, and pair any hard end date with a realistic impression goal, because the last week will otherwise serve in a panic.
Frequency caps decide who buys the heavy user
Ad Manager lets you add up to 10 frequency caps per line item. When caps exist at both the line item and the creative level, the more restrictive rule always applies. Preferred Deals line items do not accept caps at all. Google's guidance on frequency caps for line items covers the limits and the interaction, and the interaction rule surprises most teams the first time a creative-level cap quietly overrides their line item plan.
A cap is a yield decision, not just a user experience setting. Every impression beyond a user's cap flows to the contest below, so a capped direct campaign deliberately shares each heavy user with Open Auction. Tight caps on a small audience under-deliver the impression goal. Loose caps concentrate the buy on your heaviest users, who tend to be the least valuable impressions in the auction. Set caps from the reach goal the buyer actually wants, then confirm in delivery reporting that the passed impressions land in Open Auction rather than in unfilled requests.
Build the fallback chain on purpose
House line items run at priority 16, serve only when remnant line items are not available to serve, and act as if they have a zero rate. That makes House fill the alarm at the bottom of the stack. Order the chain deliberately: guaranteed demand first, then non-guaranteed network lines, then Open Auction, then House as the floor that keeps unsold impressions rendering something. Watch the House rate daily, because a rising share of House fill means demand failed somewhere upstream: a broken key value, a header or server-side Prebid timeout, a targeting expression that excludes the wrong inventory. House volume is one of the first things we filter for across the partner stacks we run, because it catches demand breakage faster than any revenue report.
Where programmatic deal types land
A direct insertion order becomes a Sponsorship or Standard line item, but buyers increasingly offer three programmatic shapes for the same money. A Preferred Deal reserves inventory at a negotiated fixed CPM without a volume guarantee, and, as noted above, it carries no frequency caps. A private marketplace runs a curated auction with floors. Programmatic Guaranteed commits volume through a programmatic pipe and fits the buyer who wants its own data attached to a fixed number of impressions. All three shapes reach the same pages through pipes we already operate: DSP seats, SSP pathways, agency lines for the deals themselves, plus OpenRTB 2.6 seats and Prebid for header and server-side demand. On the buy side, advertisers arrive for demand side reach and verified audiences, and they judge every shape on whether the impressions match the audience they bought.
The operational question is coordination, not preference. Two guaranteed shapes aimed at the same placement in the same week will fight for the same impressions: stagger the flights, split them by geo or key value, or price the conflict away on purpose. A Preferred Deal running alongside a Standard line item on one placement needs the direct campaign's caps and targeting to leave room, since the Preferred Deal cannot carry caps of its own.
Price the guarantee against net yield
At OnlyMedia, the team that books the guarantee also watches the auction it displaces, so every IO goes through a net-to-net comparison before countersigning. Pull the programmatic net CPM for the exact placement, geography and format, over a lookback long enough to capture both weekday and weekend behavior. Subtract from the direct gross rate the agency commission and any serving or reporting overhead the campaign adds. Compare the two net numbers.
If the direct net clears the programmatic net for that slice, sign the deal. Dynamic allocation still sells the auction any impression where programmatic out-pays the computed price, and the guarantee fills the rest at a rate you chose. If the direct net sits below the programmatic net, three moves fix it: raise the rate, narrow the guarantee to slices where the auction runs weaker, meaning lower-yield channels, geographies or dayparts, or accept the discount deliberately and write it down as relationship investment. What you cannot do is sign a below-net guarantee and then protect it by lifting the guaranteed tier, because that just moves the loss into the auction.
Pricing interacts with pacing in one specific way. When a campaign runs behind, its opportunity cost rises and the guarantee takes impressions even where the auction would have paid more, because delivery of the guarantee is the commitment you sold. A below-net rate plus behind-pace delivery is the exact recipe for cannibalization, and the auction report will show it as a revenue drop with no corresponding gain on the direct line.
On the programmatic side of the comparison, our auction mechanics and expected value ranking decide what demand pays: first price with bid shading, reserve prices, goal-based pacing. The net figures you compare therefore reflect filtered, shaded demand, not raw bids. And because publishers in our network receive Net 30, CPM based payouts, the comparison converts to cash in the month the impressions serve, which keeps the yield math honest on both sides.
Structural safeguards that prevent collisions
Dedicated ad units for takeover formats keep sponsorships from touching shared inventory. Key value targeting handles section exclusivity without spawning a new ad unit for every deal. Both moves contain direct demand in slots built for it, so the auction keeps clean access to everything else.
Competitive exclusions belong in the setup checklist, not in the incident review. Use Ad Manager's exclusion controls to keep a direct advertiser's competitors out of the Open Auction impressions around the campaign, not just out of the direct slot. Buyers notice the difference, and the check costs minutes at setup.
Governance completes the safeguard. Name line items with the IO number and the buyer so any report traces back to a contract. Keep a change log for priority, cap and targeting edits, and give one person ownership of priority changes, because pressure, not process, decides who edits that setting unless a single owner controls it.
After launch: read the contest, not just the delivery
Under-delivery gets cheaper to fix the earlier you catch it, so set the monitoring cadence before the first impression serves:
- In the first 48 hours, check the line item's delivery pace against its goal, the remaining forecast, and creative serving errors. Gaps found on day one take minutes to fix; the same gaps found in week three take make-goods.
- Compare Open Auction revenue per ad unit before and during the flight. A healthy trade shows auction volume down by about the campaign's fill while total revenue holds or rises. A decline larger than the campaign's own volume means the guarantee displaced auction demand beyond its share, usually through overly broad targeting or front-loaded pacing.
- Verify cap spill. Impressions a cap passes should surface in Open Auction or in your non-guaranteed lines. If they surface as House or as unfilled requests, the chain below the campaign has a break, and it costs yield every hour it sits there.
- Triage under-delivery in a fixed order: broaden targeting first, then loosen caps, then extend the flight, then reprice. Touch priority last, and never raise Ad Exchange above the guaranteed tier.
The guarantee and the auction share one pool of impressions, and Ad Manager arbitrates between them on every call. Your job at setup is to feed that arbitration honest inputs: a forecast run on the campaign's exact targeting, a net-to-net price comparison, pacing that keeps the opportunity cost meaningful, and caps that decide in advance which impressions the guarantee buys and which the auction gets. Configure a direct campaign that way and it stops harming programmatic demand at all; the two revenue lines price each other instead.