Stay organized with collections
Save and categorize content based on your preferences.
This guide provides an overview of real-time bidding (RTB) concepts that are
needed to write bidder applications that can participate in Authorized Buyers
Real-time Bidding.
Basics
A bidder application can communicate with Google using one of the
supported RTB protocols. A bid request sent to
an application provides context about at least one ad opportunity so that the
bidder can determine the optimal creative and bid amount (if any) for each
impression. A bidder can respond with a bid response to place at least one bid
and specify the creative to be placed for ad opportunities sent in the request.
The following scenario is one possible interaction between a bidder
application and Authorized Buyers:
Google sends the bidder application a bid request that describes an
impression being auctioned. The bidder's account is configured to use
OpenRTB in the Protobuf format, so the request arrives as a serialized
BidRequest as seen in
openrtb.proto.
To learn how your application should interpret the bid request, see
Processing the Request.
The bidder application parses the request and applies its bidding logic to
construct a BidResponse that includes a bid and creative for the
ad opportunity. The application then serializes the bid response and sends it
to Google. To learn how your application should create and return a bid
response, see
Building the Response.
The bid response is received and its bid enters the open auction, where it
wins the impression because it is the highest bid. As a result, the creative
specified in the response is placed.
Select a protocol
The real-time bidding protocol specifies the signals your application can
use to evaluate and bid on each impression sent in a request, as well as how to
construct a response. There are two ways to modify the protocol associated with
your bidder application:
Contact your Technical Account Manager to manually change it.
An implementation of the OpenRTB specification using JSON.
About Protocol Buffers
Protobuf is an
open-source
format for representing and serializing structured information.
If you want to use OpenRTB Protobuf, you must install the protocol compiler
and Protobuf runtime for your chosen language. You can then
download the proto files you
intend to use and run the compiler to generate a library that can serialize or
deserialize messages defined in the proto, such as BidRequest or
BidResponse. This
Protobuf reference
demonstrates how to do this for several languages.
Protocol updates
The RTB protocols will be modified as Google adds new features and
deprecates others. Changes will be announced well before they take effect,
which should give you sufficient time to remove any dependencies your
application may have on fields that are scheduled for deprecation. For more
information on handling deprecated fields, see
Adapting as BidRequest Fields are Deprecated.
Next steps
The following content provides more specifics about real-time bidding
concepts:
Process the Request:
How to parse and interpret signals found in most bid requests.
Build the Response:
How to build a bid response, and fields commonly specified in the response.
OpenRTB Guide: Reference
for the Authorized Buyers implementation of the OpenRTB specification, in
addition to Authorized Buyers-specific extensions. Details edge-cases
and limitations specific to this implementation, and identifies equivalent
fields in the Google protocol.
Requirements for Third-party Ad Serving:
Defines policies bidders must comply with to use various ad formats, as well
as technical specifications of those formats.
Pretargeting:
How to configure your bidder application to receive only impressions matching your
targeting criteria.
Cookie Matching:
Reference for the Cookie Matching Service, and other related services, used
for remarketing.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-18 UTC."],[[["\u003cp\u003eThis guide outlines the fundamental concepts of real-time bidding (RTB) for building bidder applications that integrate with Authorized Buyers.\u003c/p\u003e\n"],["\u003cp\u003eBidder applications communicate with Authorized Buyers using supported RTB protocols, receiving bid requests containing ad opportunity details and responding with bids and creative selections.\u003c/p\u003e\n"],["\u003cp\u003eThe interaction involves Google sending a bid request, the bidder processing it and sending a bid response, and, if successful, the winning creative being placed.\u003c/p\u003e\n"],["\u003cp\u003eAuthorized Buyers supports the OpenRTB (Protobuf and JSON) protocols, while the older Google protocol is now deprecated and should not be used.\u003c/p\u003e\n"],["\u003cp\u003eThere are several resources provided for understanding request processing, response building, OpenRTB guidelines, testing, pretargeting, and more to complete bidder development.\u003c/p\u003e\n"]]],[],null,["This guide provides an overview of real-time bidding (RTB) concepts that are\nneeded to write bidder applications that can participate in Authorized Buyers\nReal-time Bidding.\n\nBasics\n\nA bidder application can communicate with Google using one of the\n[supported RTB protocols](#select-a-protocol). A bid request sent to\nan application provides context about at least one ad opportunity so that the\nbidder can determine the optimal creative and bid amount (if any) for each\nimpression. A bidder can respond with a bid response to place at least one bid\nand specify the creative to be placed for ad opportunities sent in the request.\n\nThe following scenario is one possible interaction between a bidder\napplication and Authorized Buyers:\n\n1. Google sends the bidder application a bid request that describes an impression being auctioned. The bidder's account is configured to use OpenRTB in the Protobuf format, so the request arrives as a serialized `BidRequest` as seen in [openrtb.proto](/authorized-buyers/rtb/downloads/openrtb-proto). To learn how your application should interpret the bid request, see [Processing the Request](/authorized-buyers/rtb/request-guide).\n2. The bidder application parses the request and applies its bidding logic to\n construct a `BidResponse` that includes a bid and creative for the\n ad opportunity. The application then serializes the bid response and sends it\n to Google. To learn how your application should create and return a bid\n response, see\n [Building the Response](/authorized-buyers/rtb/response-guide).\n\n3. The bid response is received and its bid enters the open auction, where it\n wins the impression because it is the highest bid. As a result, the creative\n specified in the response is placed.\n\n | **Note:** Google waits 80 to 1000 ms for the bidder application to respond, depending on the format and auction type. To determine the exact value, see the `BidRequest.tmax` field. All responses received after the deadline will be excluded from the auction.\n\nSelect a protocol\n\nThe real-time bidding protocol specifies the signals your application can\nuse to evaluate and bid on each impression sent in a request, as well as how to\nconstruct a response. There are two ways to modify the protocol associated with\nyour bidder application:\n\n- Contact your Technical Account Manager to manually change it.\n- Use the [Authorized Buyers REST API](/authorized-buyers/apis/v1.4/accounts#bidderLocation.bidProtocol) to programmatically change it..\n\nSupported protocols\n\nAuthorized Buyers supports two RTB protocols:\n\n[OpenRTB](/authorized-buyers/rtb/openrtb-guide) (Protobuf)\n\n: An implementation of the OpenRTB specification using Protobuf.\n\n[OpenRTB](/authorized-buyers/rtb/openrtb-guide) (JSON)\n\n: An implementation of the OpenRTB specification using JSON.\n\nAbout Protocol Buffers\n\nProtobuf is an\n[open-source](//github.com/protocolbuffers/protobuf?tab=readme-ov-file#overview)\nformat for representing and serializing structured information.\n\nIf you want to use OpenRTB Protobuf, you must install the protocol compiler\nand Protobuf runtime for your chosen language. You can then\n[download](/authorized-buyers/rtb/data#protos) the proto files you\nintend to use and run the compiler to generate a library that can serialize or\ndeserialize messages defined in the proto, such as `BidRequest` or\n`BidResponse`. This\n[Protobuf reference](/protocol-buffers/docs/reference/overview)\ndemonstrates how to do this for several languages.\n\nProtocol updates\n\nThe RTB protocols will be modified as Google adds new features and\ndeprecates others. Changes will be announced well before they take effect,\nwhich should give you sufficient time to remove any dependencies your\napplication may have on fields that are scheduled for deprecation. For more\ninformation on handling deprecated fields, see\n[Adapting as BidRequest Fields are Deprecated](/authorized-buyers/rtb/request-guide#adapt).\n\nNext steps\n\nThe following content provides more specifics about real-time bidding\nconcepts:\n\n- [Process the Request](/authorized-buyers/rtb/request-guide): How to parse and interpret signals found in most bid requests.\n- [Build the Response](/authorized-buyers/rtb/response-guide): How to build a bid response, and fields commonly specified in the response.\n- [OpenRTB Guide](/authorized-buyers/rtb/openrtb-guide): Reference for the Authorized Buyers implementation of the OpenRTB specification, in addition to Authorized Buyers-specific extensions. Details edge-cases and limitations specific to this implementation, and identifies equivalent fields in the Google protocol.\n- [Requirements for Third-party Ad Serving](//support.google.com/adspolicy/answer/94230): Defines policies bidders must comply with to use various ad formats, as well as technical specifications of those formats.\n- [Pretargeting](/authorized-buyers/rtb/target-guide): How to configure your bidder application to receive only impressions matching your targeting criteria.\n- [Cookie Matching](/authorized-buyers/rtb/cookie-guide): Reference for the Cookie Matching Service, and other related services, used for remarketing.\n- [Latency Restrictions and Peering](/authorized-buyers/rtb/peer-guide): Details on trading locations and how to lower latency, such as by peering.\n- [Testing and Releasing Your Application](/authorized-buyers/rtb/test-guide): Details on how to start testing your bidder application with traffic sent by Google at scale."]]