Bid Loss Notifications provide DSPs with real-time feedback on a per-impression basis. This allows you to receive auction transparency on pricing and blocks, such as bids below the floor, losses to a higher bidder, or blocked advertisers. Notifications also identify technical issues that prevent successful bids, such as timeouts and invalid domains. This feedback allows you to understand the winning auction's clear price and improve pricing strategies.
Note
The partner must be configured as an RTB-enabled bidder on the DT Exchange
Contact your dedicated Programmatic Demand Manager to activate this feature:
- Include the
lurl
in the bid response, which allows DT to fire a loss notification when applicable. - Provide a static URL endpoint to your Demand Manager for timeout notifications.
- Add the
${AUCTION_PRICE}
macro to your tracking pixel to receive transparency on the winning clear price, and DT returns the winning price in $USD. - Add the
${AUCTION_LOSS}
macro to receive the encoded auction loss reason. - Add the
${AUCTION_MIN_TO_WIN}
macro to receive the minimum bid the bidder needs to win the auction.
Loss Notifications Errors
Important
DT does not support error code 0 (win) for the lurl
parameter. For win notifications, use the nurl
parameter.
The following table lists error codes and possible reasons for loss notification errors.
CODE | REASON |
---|---|
1 |
Internal Error |
2 |
Impression Opportunity Expired |
3 |
Invalid Bid Response |
6 |
Invalid (i.e., malformed) Advertiser Domain |
7 |
Missing Markup |
9 |
Missing Bid Price |
100 |
Bid Below Auction Floor |
101 |
Bid Below Deal Floor |
102 |
Lost to Higher Bid |
103 |
Lost to a Bid for a PMP Deal |
202 |
Creative Filtered - Disapproved by Exchange |
204 |
Creative Filtered - Incorrect Creative Format |
205 |
Creative Filtered - Advertiser Exclusions |
206 |
Creative Filtered - App Bundle Exclusions |
207 |
Creative Filtered - Not Secure |
209 |
Creative Filtered - Category Exclusions |
210 |
Creative Filtered - Creative Attribute Exclusions |
1010 |
Invalid or malformed Bundle. A valid bundle is considered to be either:
|
The following example demonstrates how to pass the lurl
parameter in the bid response to trigger a loss notification.
{
"id": "5194605187929577452",
"impid": "1",
"price": 2.522437,
"adomain": ["example.com"],
"attr": [6],
"lurl": "http://dsp_sample/inneractiveid=5194605187929577452\u0026code=${AUCTION_LOSS}",
"w": 320,
"h": 480
}
Bid Statuses
The DT ad exchange uses real-time bidding (RTB) protocols to conduct auctions which allow you to filter out or reject bids for various reasons. The following table describes each Bid Status.
Note
Rejected bid responses appear as bid requests in DT's Buyer's Report.
BID STATUS | DEFINITION | CORRESPONDING LURL |
---|---|---|
Adapter Failure | FairBid only. DT's SDK fails to activate the adapter of the mediation network. | Not Applicable |
Below the Floor Price | Bid response does not meet the publisher's floor price. | 100 |
Blocked Advertiser App | Bid response rejected due to a blocked app. | 206 |
Blocked Advertiser Domain | Bid response rejected due to a blocked advertiser domain. | 205 |
Blocked Category | Bid response rejected due to a blocked category. | 209 |
Blocked on Creative | Bid response is manually blocklisted for creative content. | Not Applicable |
Blocked On Creative Attribute | Bid response rejected due to a mismatch between the required and supported ad features. | Not Applicable |
Capped | Bid request dropped due to frequency cap. | Not Applicable |
Child Audience Eligibility Filter/Child Content Support Bundle Domain Filter | Only age-appropriate content may appear when a user is flagged as a child with Google Play Families Ads API. The bid response was rejected because the campaign was determined to be not age-appropriate. | |
Demand QPS Throttling | Bid request blocked due to exceeding the manual queries-per-second (QPS) cap. | Not Applicable |
Empty Advertiser Domain | Bid response rejected as the advertiser domain is empty. | 6 |
Failed Creative ID Blocked | Bid is automatically blocked due to a consistently low survival rate. | Not Applicable |
Filtered Out for Optimization | Automatically blocked for optimization. | Not Applicable |
HTTP Error | Request failed due to a server error. | 3 |
Incompatible SKAD Versions | Bid response is blocked when the SKAdNetwork version returned on BidResponse.seatbid.bid.ext.skadn.version is higher than the SKAdNetwork supported by the app and on the bid request. |
214 |
Invalid Advertiser Domain | An invalid bid response where the demand source bids with an invalid advertiser domain.
|
6 |
Invalid or Malformed Bundle | Bid response fails when the demand source bids with an invalid bundle format. | 1010 |
Invalid Response | Bid response fails due to an invalid format or missing parameters. | 3 |
Invalid SKAD Parameters | An invalid bid response where the demand source returned one or more invalid parameters on the BidResponse.seatbid.bid.ext.skadn . More information is available in IAB specifications. |
214 |
Lost on Price | Bid loses because the price is lower than the bid in the auction. | 102 |
Missing Creative Data | The non-video bid response for a rewarded request rejected because the required fields bid.ext.crtype: , Playable , and seatbid.bid.attr:
13 do not pass. |
|
No Bid | No Content response. | Not Applicable |
Timeout | Response exceeds the timeout window: 350ms for RTB Bidders. A best practice is for Demand Partners to pass a no-bid instead of allowing timeout. | 2 |