When an exchange receives a response of no-bid, the easiest option is to return an empty HTTP 204 error response. But if a bidder wants to convey a reason for not bidding, a response object can be returned with a reason code in the nbr attribute. Even when an exchange prefers a simple HTTP 204 response to indicate a no-bid, response codes can still be useful if debugging is needed. 

See bid response objects

Note: The NBR field is disabled by default. To enable it, reach out to your Account Manager.

Sample response code

In this sample response:

HTTP/1.1 200 OK

No-bid reason codes

When an ad server sends an empty bid to the translator, the PubMatic system derives the NBR and send it to translator. The translator then forwards the NBR code to the publisher using a publisher-level control.

The following tables list the options for a bidder to signal the exchange as to why it did not offer a bid for the item.

IAB no-bid reason codes

These codes are specified by OpenRTB 3.0.  

NBR codesReason
0Unknown error
1Technical error
2Invalid request
3Known web crawler
4Suspected non-human traffic
5Cloud, data center, or proxy IP
6Unsupported device
7Blocked publisher or site
8Unmatched user
9Daily user cap met
10Daily domain cap met
11Ads.txt authorization unavailable
12Ads.txt authorization violation
13Ads.cert authentication unavailable
14Ads.cert authentication violation
15Insufficient auction time
16Incomplete supply-chain
17Blocked supply-chain node
500+See PubMatic-specific list below.

500+ PubMatic-specific NBR codes

This section contains PubMatic's custom NBR codes.

Translator-side NBR codes

NBR codeReason
546IP is not present in request
547User agent is not present in request
548Auction type is not supported
549Max allowed active wrapper test calls have been reached

Ad server-side NBR codes

NBR codeReason
550Impression passed back because page domain is not allowlisted
551Impression received from area/country blocked by PubMatic
552Impression received from area/country blocked by Publisher
553Impression rejected under GDPR privacy compliance
554Ad Size not recognized by Pubmatic
555Impression rejected under CCPA privacy compliance
556Impression is throttled

Campaign filter group NBC codes

NBR codeReason
557Zero bids received from DSP
558It's a PMP-only campaign, but no deal ID was found in the bid response
559Obtained incorrect response from DSP
560Ad did not pass ad quality checks
561Bid filtered due to pricing filters (for example, invalid currency from DSP and publisher eCPM/bid eCPM is less than the pre-specified minimum eCPM)
562Impression filtered due to various other reasons
563DSP campaigns filtered due to various pre-filter reasons (for example, GDPR and ads.txt)