A Programmatic Guaranteed (PG) deal is a fixed number of impressions the buyer has committed to purchasing. CPM, ad sizes, and start / end date for the deal are all fixed.
Queries per second (QPS) is bypassed for PG, however, if a bidder is QPS-constrained it can result in opportunities being taken away for Preferred Deals (PD), Private Auctions (PA) and Open Auctions (OA) if the bidder is not optimally setup.
A callout may include more than one PG deal ID. When this happens, a bidder is expected to respond with a bid for each deal ID submitted in the request. The bidder should try to respond to as many deal IDs as possible to ensure an accepted bid.
Learn more about the Real-time Bidding (RTB) Protocol.
PG prerequisites
- Contact your support representative to review technical eligibility for enabling Programmatic Guaranteed.
- Bidders must turn on the option to always include Guaranteed deals in their pretargeting settings (in the Authorized Buyers user interface).
Real-time Bidding fields for Programmatic Guaranteed
direct_deal_id
- Consistent with Private Auctions/Preferred Deals, every Programmatic Guaranteed deal is addressed by a deal id.
deal_type
- Will be set to PROGRAMMATIC_GUARANTEED
Fixed_cpm_micros
- Represents the deal terms CPM that was agreed by both parties. At this time, we ignore the bid price (in the response) in the auction and always clear the bid at the deal terms CPM.
Publisher_blocks_overridden
- This value will be always set be true for Programmatic Guaranteed and Preferred Deals. Consistent with Private Auctions, this setting overrides the publisher blocking setting but does not override Ad Exchange policies or Ad Review Center decisions.
must_bid
- While buyers must meet the impression goal on the PG deal, they don’t always have to bid on every callout. To help buyers determine when to pass on callouts or bids, the
must_bid
signal is exposed:- If the deal is pacing ahead of schedule (
must_bid=false
), the buyer can choose not to bid. - If the deal isn’t pacing ahead of schedule (
must_bid=true
), the buyer is required to bid.
must_bid=true
and the buyer doesn’t bid, the buyer may be negatively impacting deal delivery and inventory availability. - If the deal is pacing ahead of schedule (
- While buyers must meet the impression goal on the PG deal, they don’t always have to bid on every callout. To help buyers determine when to pass on callouts or bids, the
All other RTB fields (for example, ad slot size, creative attributes, and so forth) remain the same for Programmatic Guaranteed.
OpenRTB
For OpenRTB, Programmatic Guaranteed deals use the OpenRTB standard PMP object.
Example
pmp {
deals {
id: "364236728761843960"
bidfloor: 16.64
bidfloorcur: "USD"
at: 3
}
}
-
Deals.id
is the same asdirect_deal_id.
-
Deals.bidfloor
is the same asfixed_cpm_micros
(withbidfloorcur
indicating the currency). -
Deals.at
indicates the “auction type”. Programmatic Guaranteed/Preferred Deals will always be set to 3 for “fixed price”. -
DealExt.must_bid
is the same asmust_bid
.
Additions to MatchingAdData
in the bid request
Additions to the bid request are highlighted below:
// Information about the pre-targeting configs that matched.
message MatchingAdData {
// Information about any deals that matched for this inventory.
message DirectDeal {
// An id identifying the deal
optional int64 direct_deal_id = 1 [
(datapol.semantic_type) = ST_PUBLISHER_ID
];
// The fixed CPM deal that applies to your account for this ad slot. If
// you choose to bid on this impression, then you must bid at least the
// value of fixed_cpm_micros, and if you win, you will always be charged
// fixed_cpm_micros. The value is in micros of your account currency.
// For example, if the fixed cpm is 1290000 (1.29 in your account
// currency), then you need to bid at least this amount. If you win, you
// will be charged a CPM of 1.29 in your account currency.
optional int64 fixed_cpm_micros = 2;
// The type of the deal.
enum DealType {
UNKNOWN_DEAL_TYPE = 0;
PREFERRED_DEAL = 1;
PRIVATE_AUCTION = 2;
PROGRAMMATIC_GUARANTEED = 3;
}
optional DealType deal_type = 3 [default = UNKNOWN_DEAL_TYPE];
// Whether the publisher has exempted this deal from configured blocks.
// This setting does not override AdX policies or Ad Review Center
// decisions.
optional bool publisher_blocks_overridden = 4 [default = false];
Negotiate deals
Deals can be negotiated in Authorized Buyers. Search for transaction type "Programmatic Guaranteed" in the search box of the Discover tab in Authorized Buyers Marketplace.
Deals can also be negotiated with the AdX Buyer REST API v2
Finalize deals with setup complete
Once a deal proposal is finalized, you can choose to upload creatives and associate them to the deal (using the Buyer REST API v1.4).
This is done using the addDeal method in the Rest API.