Real-time Bidding

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.


A bidder application can communicate with Authorized Buyers 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.

Architecture diagram

The following scenario is one possible interaction between a bidder application and Authorized Buyers:

  1. Google sends the bidder application a bid request that describes an impression being auctioned. The bidder's account is configured to use the PROTOCOL_ADX RTB protocol (hereafter referred to as the "Google protocol"), so the request arrives as a serialized BidRequest as seen in realtime-bidding.proto. To learn how your application should interpret the bid request, see Processing the Request.
  2. 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.

  3. 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.
  • Use the Authorized Buyers REST API to programmatically change it..

Supported protocols

Authorized Buyers currently supports three RTB protocols:

Google protocol
The original Authorized Buyers-proprietary protocol.
OpenRTB (Protobuf)

An implementation of the OpenRTB specification using Protobuf.


An implementation of the OpenRTB specification using JSON.

About Protocol Buffers

Both the Google protocol and OpenRTB have a Protocol Buffer implementation. Protobuf is an open-source format for representing and serializing structured information.

To use either protocol, 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 Fieldsare 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.
  • Google Protocol Guide: Reference for the Google protocol that describes all of the messages defined in the protocol and their attributes, along with implementation details on their intended usage.
  • 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.
  • Latency Restrictions and Peering: Details on trading locations and how to lower latency, such as by peering.
  • Testing and Releasing Your Application: Details on how to start testing your bidder application with traffic sent by Google at scale.