Loss Reasons
Loss reasons provides insight into why a buyer lost/is losing in the programmatic auction. Media owners can share this information with the buyer to help them improve their bidding strategies.
How can this be used?
Whenever an advertising campaign isn’t performing as well as expected, it's natural to want to figure out why. Loss reasons help media owners quickly identify the root cause of the problem, pinpoint the issue, and take the appropriate next steps to immediately improve campaign performance.
Loss Reasons Diagram
The following visual explains how loss reasons are passed back to the buyer:
Infrastructure
Loss reasons are part of the standard Open RTB v2.5 specifications. In addition to the loss reasons listed in the Open RTB v2.5 specifications, Vistar’s loss reason list also includes those commonly seen in the Vistar exchange ecosystem.
Loss reason codes, descriptions, and their definitions are provided below:
| Code | Description | Notes |
|
0 |
Bid Won | Bid won the auction. |
|
1 |
Internal Error | An error on Vistar's end prevented the ad from serving. |
|
3 |
Invalid Bid Response | Bid response doesn't match bid request buy type. |
|
4 |
Invalid Deal ID | The deal ID in the bid isn't in the request. |
|
6 |
Invalid (i.e. malformed) Advertiser Domain | No adomain passed. |
|
7 |
Missing Markup | No creative found. |
|
8 |
Missing Creative ID | No crid passed. |
|
9 |
Missing Bid Price | No bid price passed. |
|
100 |
Bid Below Auction Floor | The bid was below the open exchange auction price floor. |
|
101 |
Bid Below Deal Floor | The bid was below the price floor for the PMP. |
|
102 |
Lost to Higher Bid | The bid lost to a higher-priced bid CPM. |
|
103 |
Lost to a Bid for a PMP Deal | Lost to a buyer bidding on a deal. |
|
104 |
Buyer Seat Blocked | The buyer seat isn't eligible for the bid request. |
|
202 |
Creative Filtered - Disapproved by Exchange | Creative is either denied or not yet approved. |
|
205 |
Creative Filtered - Advertiser Exclusions | The requesting venue doesn't allow the advertiser contained in the bid. |
|
209 |
Creative Filtered - Category Exclusions | The requesting venue doesn't allow the category contained in the bid. |
|
210 |
Creative Filtered - Creative Attribute Exclusions | The requesting venue has a block against the creative contained in the bid. |
| Code | Description | Notes |
|
1000 |
Invalid Bid Type |
The bid is for open exchange when open exchange isn't supported. |
|
1001 |
Missing Campaign ID |
The bid response is missing the campaign ID. |
|
1002 |
Missing Burl |
The bid response is missing the billing URL. |
|
1003 |
Lost to a Direct Bid |
The bid lost to a direct campaign at a higher priority level. |
|
1004 |
Lost to an Exchange Bid |
The bid lost to an exchange campaign at a higher priority level. |
|
1005 |
Lost due to Weighted Auction |
The highest bid doesn't always win for open exchange auctions. |
|
1006 |
Invalid Auction - Multiple Bids Won |
Vistar doesn't support multiple bids with the group set to true. |
|
1009 |
Lost to a Guaranteed Bid |
The bid lost to a programmatic guaranteed campaign. |
|
1010 |
No Expected Guaranteed Bids Returned |
The targeted bidder didn't return a programmatic guaranteed bid. |
|
1011 |
Unknown Bidder for a Guaranteed Bid |
Can't identify the bidder making the programmatic guaranteed bid. |
|
1100 |
Creative Filtered - New Creative Asset |
Vistar system sees a new creative and is processing the information. When this process is complete, the media owner will be able to see the creative for approval. |
|
1101 |
Creative Filtered - Audio Not Allowed |
The bid required audio to play and the requesting screen doesn't support audio. |
|
1102 |
Creative Filtered - Assets don't Match Targeting |
The creative size, duration, or mime type in the bid doesn't match the request. |
|
1103 |
Creative Filtered - ID Excluded |
The creative ID is blocked. |
|
1104 |
Not IAB Category |
The creative category isn't a valid IAB category. |
|
1200 |
VAST Error - Error Unmarshaling VAST XML Bytes |
The VAST doc is incorrectly formatted. |
|
1201 |
VAST Error - VAST XML has No Ad |
The VAST doc doesn't contain an ad. |
|
1202 |
VAST Error - VAST XML Has Multiple Ads |
The VAST doc has multiple ads when only one is supported. |
|
1203 |
VAST Error - No InLine Ad Found |
The full VAST doc passed via adm doesn't contain a video file. |
|
1204 |
VAST Error - Duration and Media Files Missing |
Missing duration and media file. |
|
1205 |
VAST Error - More than 1 Redirect |
Vistar supports at most 1 redirect. |
How do I get started?
There are two ways to view loss reasons:
- For buyers, Vistar surfaces loss reasons to DSPs directly through the bid stream. DSPs pass a macro in their loss URLs that Vistar replaces with the loss reason code.
- For media owners, loss reasons are available in Auction Analytics. Auction Analytics provides media owners insight into the bid exchange process.. Visibility into loss reasons presents opportunities for media owners. They can proactively collaborate with buyers to increase monetization opportunities in active campaigns. It can also be used reactively to troubleshoot buyer issues.
Auction Analytics - Loss Reasons
- Swap to a specific advertiser domain in your filters. From here we can see a majority of their bids are not winning because the creative is not approved.
- With this information, you can go approve this creative as the media owner or go and tell the advertiser that you're not approving it and why.
- Find an advertiser with a low win rate. Locate the exchange they're running their ads through.
- Bring up their loss reasons code and look for "None of assets matched targeting."
- Next, move into the size visualization and see what orientations are winning and losing. If most of the winning bids are in landscape orientation, tell the advertiser they need to bid with the right orientation on their creatives.
- Log into the dashboard.
- Find specific Deal IDs with high problem cases. If an exchange is throwing a VAST error and wasn’t sending out a proper ID, look up the specific error and escalate the ID to figure out the error.