Hello,
Thanks for reaching out! Based on the description of fields that you're referencing, it sounds like you're referring to the OpenRTB protocol. In particular,
BidResponse.seatbid[].bid[].cat,
BidResponse.seatbid[].bid[].nurl, and
BidResponse.seatbid[].bid[].adm. I'll answer your questions in order:
1. That's actually not true, the Google OpenRTB implementation does not require the
BidResponse.seatbid[].bid[].cat field to be populated. To get a better sense of what is and isn't supported for the Google implementation, see the
OpenRTB Guide; in particular, the section on
BidResponse.SeatBid.Bid would be where you would want to look for information on these fields.
2. The
BidResponse.seatbid[].bid[].adm and
BidResponse.seatbid[].bid[].nurl fields serve very different roles in the OpenRTB spec; at a high level, the former is used to specify ad markup for various ad types, and the latter is used to specify a win notice callback URL. However,
BidResponse.seatbid[].bid[].nurl is not currently supported in the Google implementation, meaning you will not need to specify it.
Regards,
Mark

ref:_00D1U1174p._5001UAq7JH:ref