OpenRTB Extensions Protocol Buffer v.23

View raw content Back to Reference page

// Protocol version: v.23
import "openrtb.proto";
option java_outer_classname = "AdxExt";
package com.google.doubleclick;

// Copyright 2017 Google Inc. All Rights Reserved.

// Protocol buffer for Ad Exchange OpenRTB specification.

// Ad Exchange extensions for the Imp object.
message ImpExt {
  // [AdX: BidRequest.AdSlot.MatchingAdData.billing_id]
  repeated int64 billing_id = 1;

  // [AdX: BidRequest.publisher_settings_list_id]
  // [AdX: BidRequest.AdSlot.publisher_settings_list_id]
  repeated fixed64 publisher_settings_list_id = 2;

  // [AdX: BidRequest.AdSlot.allowed_vendor_type]
  repeated int32 allowed_vendor_type = 3 [packed=true];

  // [AdX: BidRequest.AdSlot.ExchangeBidding.publisher_parameter]
  repeated string publisher_parameter = 4;

  // [AdX: BidRequest.AdSlot.dfp_ad_unit_code]
  optional string dfp_ad_unit_code = 6;

  // [AdX: BidRequest.AdSlot.is_rewarded]
  optional bool is_rewarded_inventory = 7;

  // Possible requirement types for AMP ads.
  enum AmpAdRequirementType {
    // AMP ad requirements unknown.
    UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 1;
    // AMP ads are not allowed.
    AMP_AD_NOT_ALLOWED = 2;
    // Either AMP ads or non-AMP ads are allowed;
    // AMP ads are not early rendered.
    AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED = 3;
    // Either AMP ads or non-AMP ads are allowed;
    // AMP ads are early rendered.
    AMP_AD_ALLOWED_AND_EARLY_RENDERED = 4;
    // AMP ads are required.
    // Ads that are non-AMP may be rejected by the publisher.
    AMP_AD_REQUIRED = 5;
    // Exchange-specific values above 500.
  }
  optional AmpAdRequirementType ampad = 8
    [default = UNKNOWN_AMP_AD_REQUIREMENT_TYPE];
}

extend com.google.openrtb.BidRequest.Imp {
  // Extension key for AdX Imp.ext.
  optional ImpExt imp = 1009;
}

// Ad Exchange extensions for the BidResponse object.
message BidResponseExt {
  // [AdX: BidResponse.processing_time_ms]
  optional int32 processing_time_ms = 1;
}

extend com.google.openrtb.BidResponse {
  // Extension key for AdX BidResponse.ext.
  optional BidResponseExt bid_response = 1005;
}

// Ad Exchange extensions for the Bid object.
message BidExt {
  // [AdX: BidResponse.Ad.impression_tracking_url]
  repeated string impression_tracking_url = 1;

  // [AdX: BidResponse.Ad.ad_choices_destination_url]
  optional string ad_choices_destination_url = 2;

  // [AdX: BidResponse.Ad.bidder_name]
  optional string bidder_name = 3;

  // [AdX: BidResponse.Ad.AdSlot.exchange_deal_type]
  enum ExchangeDealType  {
    OPEN_AUCTION = 0;
    PRIVATE_AUCTION = 1;
    PREFERRED_DEAL = 2;
  }
  optional ExchangeDealType exchange_deal_type = 4 [default = OPEN_AUCTION];

  // [AdX: BidResponse.Ad.attribute]
  // See buyer-declarable-creative-attributes.txt in the technical documentation
  // for a list of ids. Note that not all declarable attributes come through in
  // the BidRequest in the various `battr` fields.
  repeated int32 attribute = 5 [packed = true];
}

extend com.google.openrtb.BidResponse.SeatBid.Bid {
  // Extension key for AdX Bid.ext.
  optional BidExt bid = 1014;
}

message NativeRequestExt {
  // [AdX: BidRequest.AdSlot.native_ad_template[0].style_id]
  optional int32 style_id = 1;

  // [AdX: BidRequest.AdSlot.native_ad_template[0].style_height]
  optional int32 style_height = 2;

  // [AdX: BidRequest.AdSlot.native_ad_template[0].style_width]
  optional int32 style_width = 3;

  // [AdX: BidRequest.AdSlot.native_ad_template[0].style_layout_type]
  enum LayoutType {
    PIXEL = 0;
    FLUID = 1;
  }
  optional LayoutType style_layout_type = 4 [default = PIXEL];
}

extend com.google.openrtb.NativeRequest {
  // Extension key for the AdX Native.ext.
  optional NativeRequestExt native_ext =  1001;
}

message PublisherExt {
  // The billing address country code of the publisher. This may be different
  // from the hosting country of the website. For a complete list of country
  // codes, please refer to
  // https://developers.google.com/adwords/api/docs/appendix/codes-formats#country-codes
  optional string country = 1;
};

extend com.google.openrtb.BidRequest.Publisher {
  // Extension key for the AdX Publisher.ext
  optional PublisherExt publisher = 1002;
};

message SiteExt {
  enum AmpPage {
    // This is not an AMP page.
    DIALECT_HTML = 0;
    // This is an Amp page.
    DIALECT_HTML_AMP = 1;
  }
  // Whether this is an AMP page or not. Omitted if unknown.
  optional AmpPage amp = 1;
}

extend com.google.openrtb.BidRequest.Site {
  // Extension key for the Adx Site.ext
  optional SiteExt site = 1010;
};

Send feedback about...

Real-Time Bidding Protocol
Real-Time Bidding Protocol