Loss notifications
Unity strives to enable partner success on its exchange by providing real-time loss notifications. These notifications communicate the reason that the participating bid lost in the auction. Advertising partners can leverage real-time information to inform their bidding strategies effectively across Unity’s inventory.
Integration
To receive loss notifications, include an optional lurl
(loss URL) attribute in your response's bid object (for a complete guide on generating bid responses, see Unity's OpenRTB bid responses specs). This allows Unity to populate the loss reason code within the bid response.
Attribute | Type | Example | Description |
---|---|---|---|
lurl |
string | "lurl": "http://example.com/?bid=123456&loss=${AUCTION_LOSS}" |
Loss notice URL called by the exchange when a bid loses in auction. |
Unity will return the loss reason code within the ${AUCTION_LOSS}
macro.
Loss reason codes
The following are loss reason codes Unity may return. Note that codes below 1001
are custom loss reasons that are not defined in the OpenRTB 2.5 spec.
Code | Reason | Description |
---|---|---|
1 |
Internal error | A Unity internal error. |
2 |
Impression opportunity expired | The impression took too long to show, such that the impression tracker was no longer valid. |
3 |
Invalid bid response | The partner responded with no fill, did not respond at all. |
4 |
Invalid Deal ID | The Deal ID in the bid response does not match the deal(s) in the bid request. |
5 |
Invalid auction ID | The ID in the bid request is not same as the ID in the bid response. |
6 |
Invalid (malformed) advertiser domain | The adomain (ad domain) attribute field in the bid response is an invalid format. |
7 |
Missing ad markup | The adm (ad markup) attribute field is empty. |
8 |
Missing creative ID | The crid (creative ID) attribute field is empty. |
9 |
Missing bid price | The price (bid price) attribute field is empty. |
101 |
Bid below deal floor | The bid price was below the bid floor set in the request. |
102 |
Lost to higher bid | The bid lost the auction because to a higher bid price. |
104 |
Buyer seat blocked | The publisher has blocked the buyer or partner. |
200 |
Creative filtered (reason unknown) | A catch-all for creatives that were filtered when the reason is unknown. |
201 |
Creative filtered (pending approval) | The creative’s status is pending approval for the exchange. |
202 |
Creative filtered (approval denied) | The creative was disapproved by Unity’s exchange review. |
203 |
Creative filtered (invalid size) | The width and height of the creative does not match the dimensions defined in the request. |
205 |
Creative filtered (advertiser exclusions) | The publisher has excluded the advertiser. |
206 |
Creative filtered (app bundle exclusions) | The publisher has blocked the app bundle. |
209 |
Creative filtered (category exclusions) | The publisher has blocked the advertising content category. |
212 |
Creative filtered (video length) | The video length exceeds 30 seconds. |
1000 |
Failed Unity validator | The bid failed validation due to compliance with Unity’s OpenRTB standards described in the request-response integration guides. |
1001 |
Invalid JSON format | The bid response is a malformed JSON. |
1002 |
General marketplace rule block | A catch-all error for marketplace blocks that occur in the Unity Auction. |
1003 |
Max age rating exceeded | The publisher blocked the bid due to the advertised app's age rating. |