"The deal isn't delivering" is one of the most common tickets in programmatic ad ops, and it's also one of the most frequently misdiagnosed, because there are at least five distinct root causes that all produce the exact same symptom on the buyer's dashboard: zero or near-zero impressions against an active line item. Jumping straight to "the floor price must be wrong" or "let's just recreate the deal ID" wastes hours when the actual issue is a targeting mismatch or a creative sitting in pending review.
The short answer: work the diagnosis in order — confirm the deal ID matches exactly between buyer and seller platforms and that both sides show the deal as active, then check for a floor price or currency mismatch, then audit targeting overlap between the deal and the buyer's line item, then confirm creative approval status on both the DSP and the publisher's ad server, and only then look at inventory availability and competing demand. Working through them out of order is the single biggest reason deal ID troubleshooting takes longer than it needs to.
1Start Here: Confirm the Symptom Before You Touch Anything
"Not delivering" means different things, and the fix depends on which one you're actually dealing with. Zero impressions with zero bid requests reaching the seller at all points toward a deal ID mismatch or a targeting setup that's excluding all inventory before it ever hits an auction. Bid requests arriving but zero bids being returned points toward the buyer's line item, not the seller's setup — check floor price, budget, and creative status on the DSP side first. Bids being submitted but consistently losing points toward a floor or competing-demand issue rather than a setup error. And partial or inconsistent delivery — some impressions serving, but far below the pacing you'd expect — usually points to a narrower targeting overlap or a capped inventory pool rather than a binary configuration mistake.
Pull whatever delivery diagnostics both platforms expose before escalating — Google Ad Manager's own Programmatic Guaranteed delivery troubleshooter and its general line item delivery troubleshooting guide are good starting references if GAM is anywhere in the chain, on either the buy or sell side. Knowing which of the four symptom patterns above you're looking at determines which of the next steps to start with, rather than working through all of them linearly regardless of what the data already tells you.
2Step 1: Check Deal ID Matching Between Buyer and Seller Platforms
This is the first thing to check precisely because it's the easiest to get wrong and the fastest to confirm. Pull the deal ID as it appears on the seller's platform, character for character, and compare it against what's entered in the buyer's PMP or programmatic guaranteed line item field. Trailing whitespace, a transposed digit, or a deal ID that was copied from an email thread instead of copy-pasted directly from the platform are all more common than they should be, and none of them throw an obvious error — the line item just quietly never matches to the deal.
Also check deal status on both sides, not just the ID string. A deal can show "ready" or "accepted" on the seller's platform while still propagating on the buyer's side, and that sync isn't always instantaneous — it can take anywhere from a few minutes to a day depending on the platforms involved, so a deal that was just created or just had terms changed may genuinely need more time before it's eligible to transact, not a re-creation. If you're troubleshooting a private auction rather than a programmatic guaranteed deal, Google's guide to Private Auction troubleshooting covers this sync behavior in more detail. Confirm both platforms agree the deal exists, is active, and has matching terms before moving to the next step — recreating the deal ID at this stage, before confirming it's actually broken, just resets the propagation clock and adds delay.
3Step 2: Verify Floor Price and Rate Card Alignment
If the deal ID matches and is active on both sides, the next most common culprit is price. Confirm the floor configured on the deal matches what was actually negotiated — it's easy for a rate card update on the seller's side to fall out of sync with what's entered in the buyer's line item, especially on deals that have been running for a while and gone through a renewal or rate change that didn't get communicated cleanly to both trafficking teams. Check currency as well if this is a cross-border deal; a floor entered correctly in the wrong currency will either block delivery entirely or produce wildly mispriced bids depending on how the platform handles the mismatch.
Also check how the deal's priority interacts with other demand competing for the same inventory. A programmatic guaranteed deal generally sits in a comparable priority tier to a publisher's direct-sold guaranteed line items, while private auction and preferred deals typically sit below that — so a deal configured correctly on price can still lose consistently to higher-priority guaranteed demand for the same inventory, which looks like a pricing problem but is actually a priority and inventory-competition problem you'll confirm properly in the last step. If everything on price and priority checks out but you're still seeing losses, move to targeting before assuming the floor needs to be adjusted again — a common mistake is repeatedly lowering the floor to "fix" delivery when the actual blocker is somewhere else entirely.
4Step 3: Audit Targeting Overlap Between the Deal and the Buyer's Line Item
This is where a surprising number of "the deal isn't delivering" tickets actually resolve. A deal is set up with its own targeting on the seller's side — specific ad units, geos, device types, or inventory segments the seller has scoped the deal to. If the buyer's line item targeting doesn't overlap with that scope — for example, the line item targets a broader set of ad units or geos than the deal was actually configured to serve against — the eligible inventory pool can shrink to zero even though both the deal ID and the price are configured correctly. This is especially easy to miss when a deal gets reused across multiple line items or campaigns and one of them has targeting that was never checked against the deal's actual inventory scope.
Walk through targeting field by field on both platforms — ad unit or app bundle, geography, device and OS, and any custom key-value targeting layered on top — and confirm the line item's targeting is a subset of, or at minimum genuinely overlaps with, what the deal is scoped to deliver against. This is exactly the kind of cross-platform reconciliation that campaign trafficking discipline is supposed to catch before launch, not after a week of flat delivery — and it's one of the most common findings when a team brings in outside help to look at a stalled deal. If this keeps happening across your programmatic deals, a free ad-stack audit will usually surface the pattern faster than working each broken deal as a one-off ticket.
5Step 4: Confirm Creative Approval Status
A deal can be perfectly configured — correct ID, correct price, correct targeting — and still not deliver a single impression because the creative attached to it is sitting in pending review or was rejected on the publisher's ad server, independent of whatever approval status it shows in the DSP. Creative review is typically a separate gate from deal activation, and a creative can be flagged for something as simple as a missing or mismatched advertiser domain declaration, an IAB category that doesn't match what the publisher allows for that inventory, or a routine malware/policy scan that just hasn't completed yet.
Check creative status on both platforms independently rather than assuming DSP-side "approved" means the publisher's ad server has also cleared it — these are frequently separate systems with separate review queues. This step is also where ad quality and compliance review earns its place earlier in the workflow rather than as an afterthought: catching a declared-attribute mismatch before a deal goes live is a five-minute fix, catching it after a week of zero delivery is a week of lost flight time you generally can't get back.
6Step 5: Check Inventory Availability, Competing Demand, and Supply Chain Authorization
If the first four steps all check out and the deal still isn't delivering, the remaining likely cause is that the inventory itself is oversold or unavailable — forecasted supply already committed to higher-priority direct-sold or guaranteed line items ahead of where a PMP or programmatic guaranteed deal sits in the publisher's priority stack. Ask the publisher directly whether the ad units targeted by the deal have available, unsold inventory in the relevant flight window; this is information the buyer's platform generally can't see on its own.
It's also worth checking supply chain authorization if this is a newer relationship or newer inventory path: confirm the seller is properly listed in the publisher's ads.txt or app-ads.txt file as an authorized reseller for that inventory. Some DSPs will silently drop bids against unauthorized supply paths rather than surfacing an explicit error, which produces a symptom identical to a targeting or floor problem but has nothing to do with either. Once you've worked through deal ID matching, price, targeting, creative, and inventory/authorization in that order, you've covered the realistic root-cause list — and if a deal still won't deliver after all five, the next step is a joint call between both trafficking teams with logs from both platforms in hand, not another round of guessing on either side alone. Bringing in technical QA support at that point is usually faster than continuing to trade emails back and forth between two teams each convinced the problem is on the other side.






