原生廣告會配合周圍內容和視覺設計,調整過格式,更有機會吸引使用者瀏覽和點擊。原生廣告廣告空間支援行動應用程式、電腦和行動版網站。如要進一步瞭解原生廣告,請參閱「原生廣告總覽 」一文。
Authorized Buyers 和公開出價皆支援原生廣告。
原生廣告的工作流程如下:
Google 發出原生廣告呼叫。呼叫會指定以下其中一個原生廣告範本,或兩個都指定偏好的原生欄位。
Google 傳送 RTB 出價要求,其中包含所要求欄位的清單。
有興趣的買方透過回應傳回要求的欄位。
Google 會舉行競價選出得標出價,並將買方提供的廣告素材資源傳送給發布商。
發布商將素材資源組合成原生廣告,並調整其風格以符合網站的設計。
Google 支援 JSON 和 Protobuf 中的
OpenRTB 規格 。
如果是 OpenRTB Protobuf 原生廣告,下列欄位與規格不同:
JSON 規格 (PROTOCOL_OPENRTB_2_4)
JSON 類型
OpenRTB 導入 (PROTOCOL_OPENRTB_PROTOBUF_2_4)
OpenRTB 類型
BidRequest.imp[].native.request
string
BidRequest.imp[].native.request_native
NativeRequest
BidResponse.seatbid[].bid[].adm
string
BidResponse.seatbid[].bid[].adm_native
NativeResponse
OpenRTB 欄位是 Protobuf 訊息,而不是字串。
如果您使用 OpenRTB Protobuf 實作,就不會收到 BidRequest.imp[].native.request
,且必須使用 BidResponse.seatbid[].bid[].adm_native
回應。系統會篩除包含 BidResponse.seatbid[].bid[].adm
的出價回應。OpenRTB Protobuf 出價回應不需要素材資源 ID。
如果您使用買方 SDK 顯示原生廣告,當您將廣告素材送審 時,就必須在 declared_ad
中加入圖片 type
。
原生廣告範本
Google 支援非影片和影片原生廣告的兩種最常見的原生廣告範本:
也有其他範本,對於欄位、維度和大小可能有不同的規定。
應用程式安裝廣告範本
必要和建議欄位
下表顯示了標示為「必要」 或「建議」 的欄位。
規則如下:
標示為必要 的欄位是出價方必填的欄位。
標示為「建議」 的欄位並非出價方的必要欄位,發布商不一定會顯示這些欄位 (例如星級評等)。
系統一律會將行動號召 (CTA) 標示為「建議」 ,因為如果出價方未傳送,系統會指派預設值,但一律會在傳送後顯示行動號召。
下表列出應用程式安裝廣告範本的欄位。行動應用程式會使用這些欄位建立原生應用程式安裝廣告。
欄位
說明
是否必要或建議?
是否一律顯示?
建議圖片大小/字元數量上限
範例
廣告標題
應用程式名稱
需要
是
25 個半形字元
Flood It!
映像檔
應用程式的螢幕截圖或其他相關圖片
需要
否
1,200 x 627 像素或 600 x 600 像素,視發布商所需的顯示比例而定。
<遊戲 Flood-It! 的螢幕截圖。>
Body
應用程式的主要文字
需要
否
90 個半形字元
騙局簡單,令人驚訝的 = 令人賞心悅目且充滿魅力!
應用程式圖示
應用程式圖示
需要
否
128 x 128 像素
<Flood-it! 應用程式圖示>
行動號召
偏好的使用者動作
Recommended
是
15 個半形字元
安裝
星級評等
代表應用程式在應用程式商店中評分的星號數量 (0 至 5 顆星)
Recommended
否
0 到 5 年
4.5
價格
應用程式的費用
Recommended
否
15 個半形字元
免費
文字長度附註
如果買方傳送的文字素材資源 (例如內文) 超過建議的字元數上限,Google 或發布商可能會截斷文字或將其刪除。請注意,截斷限制是中文、日文和韓文的一半大小。例如,英文的廣告標題數量上限為 90 個,中文則為 45 個。
圖片大小注意事項
發布商可以:
在單一尺寸 (高度或寬度) 中對稱地裁剪主要圖片,高度最多 20%。
縮放圖片,而不變更顯示比例。
如果圖片的顯示比例與高度和寬度隱含的差異明顯不同,系統可能會篩選。
內容廣告範本
下表列出內容廣告範本的欄位。發布商可以使用這些欄位建立原生內容廣告。
欄位
說明
是否必要或建議?
是否一律顯示?
建議圖片大小/字元數量上限
*
範例
廣告標題
廣告標題
需要
是
25 個半形字元
最低抵押貸款利率
映像檔
廣告主要圖片
需要
否
1,200 x 627 像素或 600 x 600 像素,視發布商所需的顯示比例而定。
<廣告的主要圖片>
Body
廣告素材
需要
否
90 個半形字元
Brooklyn 回家的溫馨地點,價格便宜,而且比想像更快!
標誌
廣告主的標誌或其他相關小型圖片
Recommended
否
128 x 128 像素
<NY Mortgage Inc. 的標誌>
行動號召
使用者偏好的動作
Recommended
否
15 個半形字元
取得報價
廣告主
廣告主或品牌的識別文字
需要
否
25 個半形字元
紐約抵押貸款公司
影片應用程式安裝廣告範本
欄位
說明
是否必要或建議?
是否一律顯示?
建議圖片大小/字元數量上限*
範例
影片
播放影片廣告所需的所有必要素材資源都屬於影片 VAST 回應。
必要
否
-
包含 Flood-It! 的 VAST XML 網址影片廣告
廣告標題
應用程式名稱
必要
是
25 個半形字元
Flood-It!
圖片
在影片廣告獲得點擊或載入期間,播放器中顯示的圖片 (縮圖)。
必要
否
應與影片的長寬比一致 (例如:16x9 影片的大小為 1280x720,640x480 影片則為 4x3)。
Flood-It! 遊戲的螢幕截圖或觀看影片
內文
應用程式的主要文字
必要
否
90 個半形字元
騙局簡單,令人驚訝的 = 令人賞心悅目且充滿魅力!
應用程式圖示
應用程式圖示
必要
否
128 x 128 像素
Flood-it! 應用程式圖示
行動號召
偏好的使用者動作
必要
是
15 個半形字元
安裝
星級評等
代表應用程式在應用程式商店中評分的星號數量 (0 - 5 顆星)
建議
否
0 - 5
4.5
價格
應用程式的費用
建議
否
15 個半形字元
免費
限制
應用程式安裝廣告範例
影片內容廣告範本
欄位
說明
是否必要或建議?
是否一律顯示?
建議圖片大小/字元數量上限*
範例
影片
播放影片廣告所需的所有必要素材資源都屬於影片 VAST 回應。
必要
是
-
包含 Flood-It! 的 VAST XML 網址影片廣告
廣告標題
廣告標題
必要
是
25 個半形字元
最低抵押貸款利率
圖片
在影片廣告獲得點擊或載入期間,播放器中顯示的圖片 (縮圖)。
必要
否
應與影片的長寬比一致 (例如:16x9 影片的大小為 1280x720,640x480 影片則為 4x3)。
影片的螢幕截圖
內文
廣告素材
必要
否
90 個半形字元
Brooklyn 回家的溫馨小家庭,價格便宜,而且比想像更快!
標誌
廣告客戶的標誌或其他相關小型圖片
建議
否
128 x 128 像素
NY Mortgage Inc. 的標誌
行動號召
使用者偏好的動作
必要
否
15 個半形字元
取得報價
廣告客戶
廣告客戶或品牌的識別文字
必要
否
25 個半形字元
紐約抵押貸款公司
所有支援的廣告範本都會共用以下中繼欄位:
Authorized Buyers 即時通訊協定緩衝區
對等 Authorized Buyers OpenRTB
說明
NativeAd.click_link_url
Link.url
使用者點選廣告時,瀏覽器會呼叫的網址。
可以是重新導向鏈結中最終導向到達網頁的第一步。針對原生廣告,我們建議使用 click_link_url
做為欄位,設定使用者最終前往的目的地。如果是動態到達網頁,您必須使用這個欄位。
Ad.click_through_url
Bid.adomain
如果出價方要出價,則必須設定。這是程式碼片段的一組到達網頁網址,包括使用者點選廣告後會前往的網址,以及所有顯示在顯示廣告中的網址。請勿加入向廣告伺服器發出的中繼呼叫,與最終到達網頁無關。如果 BidResponse 傳回程式碼片段或影片廣告,但並未宣告任何 click_through_url
,系統就不會將其捨棄。只有在已設定 html_snippet
、video_url
或 native_ad
時,才需要設定這個欄位。這項資料會用來當做到達網頁網址宣告,例如用來篩選發布商封鎖的網址或廣告分類。使用原生廣告時,請參閱上述 NativeAd.click_link_url
。
如果是非原生廣告,則不會用於點擊追蹤或任何其他廣告功能,只會用做到達網頁網址宣告。
針對原生廣告,如未設定 NativeAd.click_link_url
,系統會使用 click_through_url
的第一個值將使用者導向到達網頁。此外,所有值都會做為到達網頁網址宣告 (類似非原生案例)。
NativeAd.click_tracking_urls
Link.clicktrackers
選用設定。可讓廣告客戶追蹤廣告點擊
的其他網址。
Ad.ad_choices_destination_url
BidExt.ad_choices_destination_url
連結至廣告偏好設定或停用頁面。如果有,系統會在原生廣告素材中加入標準的 AdChoices 圖示,並連結到這個網址。原生廣告支援這項參數,但並非出價回應中的原生訊息的一部分。
Ad.impression_tracking_url
NativeResponse.imptrackers
Authorized Buyers 即時出價通訊協定或 OpenRTB 中的原生曝光追蹤程式應使用 impression_tracking_url
追蹤原生曝光。
必要和建議欄位
required_fields
和 recommended_fields
是由發布者指定。我們將說明如何翻譯這些位元欄位,以判斷欄位是必要還是建議欄位。
位元欄位會使用二進位值的每一位元儲存 true 或 false 陳述式,等同於傳送 is_logo_required
、is_header_required
等許多布林值信號,但全都組合在一起。
範例
在這個範例中,我們會使用 1085
的 required_fields
值。
首先,找出對等二進位值 :10000111101
取得二進位值後,您可以檢查位元,看看欄位是否為必要 (1) 或非必填欄位 (0)。
下表對應欄位與欄位在二進位值中的位置。從右至左讀取二進位檔,其中 1 位元對應到二進位值中最右邊的位置。
欄位
二進位值刊登位置 (由右至左)
HEADLINE
1
BODY
2
CALL_TO_ACTION
4
ADVERTISER
8
IMAGE
16
LOGO
32
APP_ICON
64
STAR_RATING
128
PRICE
256
STORE
512
VIDEO
1024
查看二進位值 10000111101
範例,最右側的 1 位元 (最右側) 為 1
,代表必要值。根據表格,1 位元會對應至 HEADLINE
。
2 位元 (右側第二個值) 表示 0
不 必要。2 位元對應 BODY
。
以下是範例中所有解讀的必填欄位:
值
說明
必填與否
1
VIDEO
是
0
STORE
否
0
PRICE
否
0
STAR_RATING
否
0
APP_ICON
否
1
LOGO
是
1
IMAGE
是
1
ADVERTISER
是
1
CALL_TO_ACTION
是
0
BODY
否
1
HEADLINE
是
NativeAdTemplate 訊息
收到包含原生廣告空間的出價要求時,其中會包含已填入的 BidRequest.adSlot[].native_ad_template 。
NativeAdTemplate
訊息提供以下規格:
此為必填欄位或建議的欄位。
圖片、標誌和應用程式圖示的尺寸。
廣告顯示樣式的規格。
注意: 在 style_layout_type
欄位,PIXEL
表示原生單位是固定的大小,FLUID
則表示原生單元會縮放至填滿元素所包含的欄寬並調整高度,以保持顯示比例。如果指定 FLUID
,高度和寬度可能會達到 1x1。
message BidRequest {
//...
message AdSlot {
//...
message NativeAdTemplate {
// Defines the bits used in required_fields and recommended_fields.
// There is one bit for each of the fields in BidResponse.Ad.NativeAd
enum Fields {
NO_FIELDS = 0x0;
HEADLINE = 0x1;
BODY = 0x2;
CALL_TO_ACTION = 0x4;
ADVERTISER = 0x8;
IMAGE = 0x10;
LOGO = 0x20;
APP_ICON = 0x40;
STAR_RATING = 0x80;
PRICE = 0x100;
DEPRECATED_STORE = 0x200;
VIDEO = 0x400;
}
// Bitfield describing which fields are required by the publisher. Bid
// responses with no value for these fields will be rejected. Click
// and view tracking urls are always implicitly required.
optional int64 required_fields = 1;
// Bitfield describing which fields are recommended by the publisher.
// All recommended field are supported, but not all recommended fields
// are required.
optional int64 recommended_fields = 2;
// max_safe_length indicates the maximum number of Unicode characters that
// are guaranteed to be shown without truncation. Longer strings may be
// truncated and ellipsized by Ad Exchange or the publisher during
// rendering.
optional int32 headline_max_safe_length = 3;
optional int32 body_max_safe_length = 4;
optional int32 call_to_action_max_safe_length = 5;
optional int32 advertiser_max_safe_length = 6;
optional int32 price_max_safe_length = 15;
// The width and height from which to calculate the required aspect ratio.
// You can provide a larger image in the response. Images that have aspect
// ratios substantially different than those implied by the height and
// width may be filtered.
optional int32 image_width = 7;
optional int32 image_height = 8;
optional int32 logo_width = 9;
optional int32 logo_height = 10;
optional int32 app_icon_width = 11;
optional int32 app_icon_height = 12;
// Globally distinct id for the specific style, HTML, and CSS with which
// the native ad is rendered.
optional int32 style_id = 16;
// Type of style layout for each native ad template.
enum LayoutType {
PIXEL = 0;
FLUID = 1;
}
optional LayoutType style_layout_type = 17 [default = PIXEL];
// If the style_layout_type is Pixel, width and height of the
// entire native ad after rendering. If the style_layout_type is
// Fluid, the style_height and style_width may optionally
// not be populated.
optional int32 style_height = 18;
optional int32 style_width = 19;
}
repeated NativeAdTemplate native_ad_template = 51;
}
// NativePlacementType describes placement of native ad slot with respect to
// surrounding context.
enum NativePlacementType {
PLACEMENT_UNKNOWN = 0;
// In the feed of content - for example as an item inside the organic
// feed/grid/listing/carousel.
PLACEMENT_IN_FEED = 1;
// In the atomic unit of the content - for example, in the article page or single
// image page.
PLACEMENT_ATOMIC_UNIT = 2;
// Outside the core content - for example in the ads section on the right
// rail, as a banner-style placement near the content, etc.
PLACEMENT_OUTSIDE = 3;
// Recommendation widget, most commonly presented below the article
// content.
PLACEMENT_RECOMMENDATION = 4;
}
optional NativePlacementType native_placement_type = 45;
// ...
}
NativeAd 訊息
針對原生廣告空間出價時,買方必須在 BidResponse.ad[].native_ad 填入相應 BidRequest.adSlot[].native_ad_template
中宣告的必填欄位。
注意 :以下 BidResponse.Ad
中的某些額外欄位與原生廣告相關,因此也包含在內。
message BidResponse {
//...
message Ad {
//...
message NativeAd {
// A short title for the ad.
optional string headline = 1;
// A long description of the ad.
optional string body = 2;
// A label for the button that the user is supposed to click.
optional string call_to_action = 3;
// The name of the advertiser or sponsor, to be displayed in the ad
// creative.
optional string advertiser = 4;
// Next tag to use: 4
message Image {
optional string url = 1;
// Image width and height are specified in pixels. You may provide a
// larger image than was requested, so long as the aspect ratio is
// preserved.
optional int32 width = 2;
optional int32 height = 3;
}
// A large image.
optional Image image = 5;
// A smaller image, for the advertiser's logo.
optional Image logo = 6;
// The app icon, for app download ads.
optional Image app_icon = 7;
// The video file. Only set this field if the video field is requested.
oneof video {
// The URL to fetch a video ad. The URL should return an XML response
// that conforms to VAST standards.
string video_url = 13;
// The VAST document to be returned.
string video_vast_xml = 16;
}
// The app rating in the app store. Must be in the range [0-5].
optional double star_rating = 8;
// The URL that the browser/SDK will load when the user clicks the ad.
// This can be the landing page directly, or the first step of a redirect
// chain that eventually leads to it. For backward compatibility, if this
// is not set, the first Ad.click_through_url is used.
optional string click_link_url = 14;
// The URL to use for click tracking. The SDK pings click tracking url on
// a background thread. When resolving the url, HTTP 30x redirects are
// followed. The SDK ignores the contents of the response; this URL
// has no effect on the landing page for the user.
// This field is planned to be deprecated and we are moving to the
// repeated click_tracking_urls field.
optional string click_tracking_url = 11;
// The URLs to use for click tracking. This will be used throughout the
// serving stack and will incorporate any URL in click_tracking_urls.
repeated string click_tracking_urls = 15;
// The price of the promoted app including the currency info.
optional string price = 10;
};
optional NativeAd native_ad = 18;
// The set of destination URLs for the snippet. This includes the URLs that
// the user will go to if they click on the displayed ad, and any URLs that
// are visible in the rendered ad. Do not include intermediate calls to the
// adserver that are unrelated to the final landing page. A BidResponse that
// returns a snippet or video ad but declares no click_through_url will be
// discarded. Only set this field if html_snippet or video_url or native_ad
// are set. This data is used as a destination URL declaration, for example
// for post-filtering of publisher-blocked URLs or ad categorization.
//
// For non-native ads, it is not used for click tracking or any
// other ad functionality; it is only used as a destination URL
// declaration.
//
// For native ads, if NativeAd.click_link_url is not set, the first
// value of click_through_url is used to direct the user to the landing
// page. In addition, all values are used as destination
// URL declarations (similar to the non-native case).
repeated string click_through_url = 4;
//...
// The URLs to call when the impression is rendered. The SDK pings
// impression urls on a background thread and ignores the contents
// of the response.
repeated string impression_tracking_url = 19;
// Link to ad preferences page. This is only supported for native ads.
// If present, a standard AdChoices icon is added to the native ad creative and
// linked to this URL.
optional string ad_choices_destination_url = 21;
// ...
}
}
出價要求範例
注意:如要瞭解如何在回應中顯示必要或選用內容,請參閱下方 Google 要求中的 BidRequest.adslot.native_ad_template
。如果是 OpenRTB JSON,相關規定位於 BidRequest.imp.native
的 request
欄位中。如果是 OpenRTB Protobuf,請參閱 BidRequest.imp.native
的 request_native
欄位。 非影片出價要求
Google
顯示範例
id: "\020?|;\324c\013\010b\323\321A\277]\017\3643\232.<\230?b"
ip: "\300\250"
user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0"
url: "https://www.google.com"
detected_language: "pl"
adslot {
id: 1
excluded_attribute: 95
excluded_attribute: 16
allowed_vendor_type: 3
allowed_vendor_type: 42
excluded_sensitive_category: 4
excluded_sensitive_category: 23
matching_ad_data {
billing_id: 63548360940
billing_id: 73058881203
minimum_cpm_micros: 210000
}
matching_ad_data {
billing_id: 47396933418
billing_id: 29288464031
minimum_cpm_micros: 1000000
}
slot_visibility: BELOW_THE_FOLD
excluded_product_category: 13680
ad_block_key: 7661032520
publisher_settings_list_id: 3957665107521501273
publisher_settings_list_id: 2660288298851198176
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
iframing_state: UNKNOWN_IFRAME_STATE
viewability: 49
allowed_ad_types: ALLOWED_AD_TYPE_NATIVE
is_amp_page: DIALECT_HTML
amp_ad_requirement_type: AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
secure_signals {
data: "Test Data: PDj94L0qm9"
source: "OMITTED"
}
consented_providers_settings {
consented_providers: 1186
consented_providers: 1301
tcf_consent_string: "OMITTED"
additional_consent_string: "OMITTED"
}
regs_gdpr: true
native_ad_template {
required_fields: 17
recommended_fields: 0
headline_max_safe_length: 90
body_max_safe_length: 90
call_to_action_max_safe_length: 15
advertiser_max_safe_length: 25
image_width: 800
image_height: 800
style_id: 536714
style_layout_type: FLUID
style_height: 1
style_width: 1
}
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment: SERVER_SIDE_AUCTION
impression_expiration_seconds: 3600
supported_auction_environment: SERVER_SIDE_AUCTION
}
is_test: false
timezone_offset: 120
postal_code: "10011"
geo_criteria_id: 20858
encrypted_hyperlocal_set: "!\363\260\353\204l\255n\216\215\201G\261e/\t\305\350=\220\034\220\\J\310\305\247\266\247\027\347\212_\211\363\332\370baL\226\312\375\007}\017\0140\000\262\363\373Y\243\223d\022d=\342\257\340b]\367\356\304\357 \302\204\rC\000|\245\312\235\321\323\265\357K`\307vL\354\220V\346"
publisher_type: PUBLISHER_OWNED_AND_OPERATED
hyperlocal_set {
hyperlocal {
corners {
latitude: 0.0
longitude: 0.0
}
corners {
latitude: 0.0
longitude: 0.0
}
corners {
latitude: 0.0
longitude: 0.0
}
corners {
latitude: 0.0
longitude: 0.0
}
}
center_point {
latitude: 0.0
longitude: 0.0
}
}
device {
device_type: PERSONAL_COMPUTER
platform: "Windows"
os_version {
}
screen_pixel_ratio_millis: 1000
limit_ad_tracking: false
}
publisher_country: "PL"
publisher_id: "pub-1111111111111111"
response_deadline_ms: 300
google_query_id: "ANy-z31Byn-43v7X648f48t464c0VJ47168b3x66Lz451VGsHXp58L9O1o135IzD1F09ZZGb"
auction_type: FIRST_PRICE
geo {
lat: 50.72
lon: 21.32
country: "POL"
region: "PL-SK"
zip: "27-570"
utcoffset: 120
accuracy: 4730
}
user_agent_data {
platform {
brand: "Windows NT"
version: "10"
version: "0"
}
mobile: false
browsers {
brand: "Mozilla"
version: "5"
version: "0"
}
browsers {
brand: "Gecko"
version: "20100101"
}
source: USER_AGENT_STRING
}
page_visibility: VISIBILITY_STATE_VISIBLE
supply_chain {
complete: true
nodes {
advertising_system_identifier: "testdomain.com"
seller_identifier: "pub-1111111111111111"
handles_payment: true
}
version: "1.0"
}
frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_NONE
privacy_treatments {
allow_user_data_collection: true
}
inventory_partner_domain: "OMITTED"
OpenRTB JSON
顯示範例
{
"id": "05nylT967i314zc0550QIR",
"imp": [
{
"id": "1",
"tagid": "9635174525",
"bidfloor": 0.01,
"bidfloorcur": "USD",
"secure": 1,
"native": {
"request": "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":25}},{\"id\":2,\"required\":1,\"data\":{\"type\":1,\"len\":25}},{\"id\":3,\"required\":1,\"img\":{\"type\":3,\"wmin\":1200,\"hmin\":627}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]}],\"ext\":{\"style_id\":221281,\"style_height\":1,\"style_width\":1,\"style_layout_type\":1}}",
"ver": "1.2"
},
"exp": 3600,
"metric": [
{
"type": "viewability",
"value": 0.02,
"vendor": "EXCHANGE"
},
{
"type": "session_depth",
"value": 7,
"vendor": "EXCHANGE"
}
],
"ext": {
"billing_id": [
97677444075
],
"publisher_settings_list_id": [
2939393531484090288,
7076809137765332725
],
"allowed_vendor_type": [
42,
144
],
"ampad": 3,
"excluded_creatives": [
{
"buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
},
{
"buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
}
],
"allowed_restricted_category": [
32,
33
],
"creative_enforcement_settings": {
"policy_enforcement": 2,
"publisher_blocks_enforcement": 1
},
"auction_environment": 0,
"ae": 0
}
}
],
"site": {
"page": "https://www.google.com",
"publisher": {
"id": "pub-1111111111111111",
"ext": {
"country": "JP"
}
},
"content": {
"livestream": 0,
"language": "ja"
},
"mobile": 1,
"ext": {
"amp": 0,
"page_visibility": 1,
"inventorypartnerdomain": "OMITTED"
}
},
"device": {
"ua": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Mobile Safari/537.36",
"geo": {
"lat": 0.0,
"lon": 0.0,
"country": "JPN",
"region": "JP-21",
"city": "Ogaki",
"type": 2,
"utcoffset": 540,
"accuracy": 1485
},
"ipv6": "2402:6b00:f311::",
"make": "Sharp",
"model": "shg05",
"os": "android",
"osv": "13",
"devicetype": 4,
"lmt": 0,
"w": 320,
"h": 721,
"pxratio": 3.375,
"sua": {
"browsers": [
{
"brand": "Chromium",
"version": [
"124",
"0"
]
},
{
"brand": "Google Chrome",
"version": [
"124",
"0"
]
}
],
"platform": {
"brand": "Android",
"version": [
"13",
"0"
]
},
"mobile": 1,
"model": "SHG05",
"source": 2
}
},
"user": {
"id": "RMnq2980sl68Ha7b7TUd4clG7ab",
"buyeruid": "nc79n59R0Ubi1zrgc9X923Oe72M34CfD",
"customdata": "I2P0IGi7dhNG943Ecm6436198j178K6v4nP3s99456bUbc27"
},
"at": 1,
"tmax": 300,
"cur": [
"USD"
],
"bcat": [
"IAB9",
"IAB26"
],
"source": {
"schain": {
"complete": 1,
"nodes": [
{
"asi": "testssp.com",
"sid": "pub-1111111111111111",
"hp": 1
},
{
"asi": "testssp2.com",
"sid": "pub-1111111111111112",
"hp": 1
}
],
"ver": "1.0"
},
"ext": {
"schain": {
"complete": 1,
"nodes": [
{
"asi": "testssp.com",
"sid": "pub-1111111111111111",
"hp": 1
},
{
"asi": "testssp2.com",
"sid": "pub-1111111111111112",
"hp": 1
}
],
"ver": "1.0"
}
}
},
"ext": {
"google_query_id": "ANy-ze18lg-8rEH89k518130b8zL5N4Lm590d756ONF330Yg8zoqpisuOv2m5YH2o4712Z0A",
"fcap_scope": 2,
"privacy_treatments": {
"allow_user_data_collection": 0
}
}
}
OpenRTB 通訊協定緩衝區
顯示範例
id: "4vO3ESnZs7gsbNlU3LHL56"
imp {
id: "1"
tagid: "4199517334"
bidfloor: 1.88
bidfloorcur: "USD"
pmp {
deals {
id: "21043453"
bidfloor: 1.88
bidfloorcur: "USD"
[com.google.doubleclick.deal] {
deal_type: AUCTION_PACKAGE
}
}
}
secure: true
native {
ver: "1.2"
api: VPAID_1
api: VPAID_2
battr: VIDEO_IN_BANNER_AUTO_PLAY
battr: VIDEO_IN_BANNER_USER_INITIATED
request_native {
ver: "1.2"
assets {
id: 1
required: true
title {
len: 90
}
}
assets {
id: 2
data {
type: CTATEXT
len: 15
}
}
assets {
id: 3
required: true
data {
type: SPONSORED
len: 25
}
}
assets {
id: 4
required: true
img {
type: MAIN
wmin: 1200
hmin: 627
}
}
eventtrackers {
event: IMPRESSION
methods: IMG
}
[com.google.doubleclick.native_ext] {
style_id: 775009
style_height: 1
style_width: 1
style_layout_type: FLUID
}
}
}
exp: 3600
metric {
type: "click_through_rate"
value: 0.0011545843444764614
vendor: "EXCHANGE"
}
metric {
type: "session_depth"
value: 1.0
vendor: "EXCHANGE"
}
[com.google.doubleclick.imp] {
billing_id: 85753840376
publisher_settings_list_id: 5097279519468003913
publisher_settings_list_id: 4840342404554094271
allowed_vendor_type: 3
allowed_vendor_type: 42
ampad: AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
excluded_creatives {
buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
}
allowed_restricted_category: 32
allowed_restricted_category: 33
creative_enforcement_settings {
policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
}
auction_environment: SERVER_SIDE_AUCTION
ae: SERVER_SIDE_AUCTION
}
}
site {
page: "https://www.google.com"
publisher {
id: "pub-1111111111111111"
[com.google.doubleclick.publisher] {
country: "US"
}
}
content {
livestream: false
language: "en"
}
[com.google.doubleclick.site] {
amp: DIALECT_HTML
page_visibility: VISIBILITY_STATE_VISIBLE
inventorypartnerdomain: "OMITTED"
}
}
device {
ua: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0"
ip: "192.168.1.0"
geo {
lat: 0.0
lon: 0.0
country: "USA"
region: "KY"
metro: "659"
city: "Russellville"
zip: "42276"
type: IP
utcoffset: -300
accuracy: 2548
[com.google.doubleclick.geo] {
geo_criteria_id: 9014733
}
}
os: "Windows"
devicetype: PERSONAL_COMPUTER
lmt: false
pxratio: 1.0
sua {
browsers {
brand: "Chromium"
version: "124"
version: "0"
}
browsers {
brand: "Microsoft Edge"
version: "124"
version: "0"
}
platform {
brand: "Windows"
version: "10"
version: "0"
}
mobile: false
architecture: "x86"
bitness: "64"
source: CLIENT_HINTS_HIGH_ENTROPY
}
}
user {
id: "83b9429Xl4Xh2aj6j098Ep3qM0K"
}
at: FIRST_PRICE
tmax: 300
cur: "USD"
bcat: "IAB23-1"
bcat: "IAB23-10"
regs {
gpp: "OMITTED"
}
source {
schain {
complete: true
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: true
}
ver: "1.0"
}
[com.google.doubleclick.source] {
schain {
complete: 1
nodes {
asi: "testssp.com"
sid: "pub-1111111111111111"
hp: 1
}
ver: "1.0"
}
}
}
[com.google.doubleclick.bid_request] {
google_query_id: "ANy-z2S2lv-WNT3r7KS3S939181y04U9RrC4mv4669j3v5FJ3F823683vd9W3j4q7T3hZr1P"
fcap_scope: FREQUENCY_CAPPING_SCOPE_BROWSER
privacy_treatments {
allow_user_data_collection: true
}
}
影片出價要求
示範
{
id: "\\\123/f\000\t\456&\n\789\1234\"\001a\123",
ip: "\0338\355",
google_user_id: "CAESEJ1ur2l94_8ruuu",
cookie_version: 1,
cookie_age_seconds: 5184000,
hosted_match_data: "W9ABDAAAAGR67nl0",
user_agent: "Mozilla/5.0 (Linux; Android 5.1; CP8298_I00) Mobile Safari/537.36",
publisher_country: "IN",
geo_criteria_id: 1007796,
timezone_offset: 330,
publisher_id: "pub-2230723027927371",
seller_network_id: 989,
url: "https://m.example.com",
detected_language: [en],
google_query_id: "ANy-zJEgdus4l0MishbSmH0eOcXUA1Fbo4_tKROsbR37q",
auction_type: "SECOND_PRICE",
device: {
device_type: "HIGHEND_PHONE",
platform: "android",
brand: "coolpad",
model: "cp8298_i00",
os_version: {
major: 5,
minor: 1
},
carrier_id: 70210,
screen_width: 360,
screen_height: 640,
screen_pixel_ratio_millis: 2000
},
mobile: {
is_app: false,
is_mobile_web_optimized: true,
DEPRECATED_platform: "android",
DEPRECATED_mobile_device_type: "HIGHEND_PHONE",
DEPRECATED_brand: "coolpad",
DEPRECATED_model: "cp8298_i00",
DEPRECATED_os_version: {
os_version_major: 5,
os_version_minor: 1
},
DEPRECATED_screen_width: 360,
DEPRECATED_screen_height: 640,
DEPRECATED_carrier_id: 70210,
DEPRECATED_device_pixel_ratio_millis: 2000
},
publisher_type: "ADX_PUBLISHER_OWNED_AND_OPERATED",
adslot: [{
id: 1,
ad_block_key: 2882274820,
width: [300,250],
height: [250,250],
excluded_attribute: [114,22,34,25,27,13,14,15,16,17,18,19,20,25,27,22],
allowed_vendor_type: [42,144,575,698,704,743,776,785,793,797,808,828,832,885],
excluded_sensitive_category: [36,27,19,4,23,30,10,3,31,5,8,37,18],
excluded_product_category: [10031,11669,13423,13525,13566,13589,13612,13740],
excluded_creatives: [{
buyer_creative_id: "1234567.1234567890-ssl"
}],
matching_ad_data: [{
billing_id: [6629616415,51386650457],
minimum_cpm_micros: 1380000,
direct_deal: [{
direct_deal_id: 410401,
fixed_cpm_micros: 1360000,
deal_type: "PREFERRED_DEAL",
publisher_blocks_overridden: true
},{
direct_deal_id: 240644,
fixed_cpm_micros: 1500000,
deal_type: "PREFERRED_DEAL",
publisher_blocks_overridden: true
}]
},{
billing_id: [1234567890],
minimum_cpm_micros: 1380000
}],
publisher_settings_list_id: [12109930661871909476,11138951146123409010],
slot_visibility: "BELOW_THE_FOLD",
viewability: 30,
click_through_rate: 0.0010072842,
iframing_state: "UNKNOWN_IFRAME_STATE",
native_ad_template: [{
required_fields: 1065,
recommended_fields: 4,
headline_max_safe_length: 25,
body_max_safe_length: 90,
call_to_action_max_safe_length: 15,
advertiser_max_safe_length: 25,
logo_width: 100,
logo_height: 100,
style_id: 199892,
style_height: 250,
style_width: 300
}],
sticky_settings: {
},
renderer: "GOOGLE",
is_amp_page: "DIALECT_HTML",
amp_ad_requirement_type: "AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED",
allowed_ad_types: [ALLOWED_AD_TYPE_BANNER,ALLOWED_AD_TYPE_NATIVE],
session_depth: 1,
internal_data: {
}
}],
response_deadline_ms: 122,
is_test: false
}
出價回應範例
請注意,這些回應中的值並非與上述對應的要求相符。不過,如果要求中的範本建議必填/選填欄位,則這裡的回應會遵循這些規定。
非影片出價回應
Google
顯示範例
ad {
adslot {
id: 1
max_cpm_micros: 14161
billing_id: 63548360940
}
click_through_url: "google.com"
attribute: 47
attribute: 8
buyer_creative_id: "test_creative_id_374241"
advertiser_name: "Google"
native_ad {
headline: "Luxury Mars Cruises"
body: "Visit the planet in a luxury spaceship."
call_to_action: "Book today"
advertiser: "Galactic Luxury Cruises"
image {
url: "https://native.test.com/image?id=123456"
width: 800
height: 800
}
logo {
url: "https://native.test.com/logo?id=123456"
width: 200
height: 200
}
price: "213,99 z\305\202"
click_link_url: "https://www.google.com"
}
impression_tracking_url: "https://test.com/imp?id=123456"
impression_tracking_url: "https://test.com/imp?id=123456"
ad_choices_destination_url: "https://test.com/preferences"
event_notification_token: "token"
}
processing_time_ms: 21
OpenRTB JSON
顯示範例
{
"id": "Z8TDDaW77DBY91rct559D3",
"seatbid": [
{
"bid": [
{
"id": "20g178F1nO1U81rq3l6",
"impid": "1",
"price": 0.12127,
"adid": "test_creative_id_879318",
"adm": "{\"assets\": [{\"id\": 1, \"title\": {\"text\": \"Luxury Mars Cruises\"}}, {\"id\": 2, \"data\": {\"value\": \"Galactic Luxury Cruises\"}}, {\"id\": 3, \"img\": {\"url\": \"https://native.test.com/image?id=123456\", \"w\": 1200, \"h\": 628}}], \"link\": {\"url\": \"https://www.google.com\", \"clicktrackers\": [\"https://native.test.com/click?id=123456\"]}, \"imptrackers\": [\"https://test.com/impression?id=123456&amt=${AUCTION_PRICE}\"]}",
"adomain": [
"google.com"
],
"cid": "97677444075",
"crid": "test_creative_id_879318",
"ext": {
"app_promotion_type": "INSTALLS",
"ad_choices_destination_url": "https://test.com/preferences"
}
}
],
"seat": "9714:3611:768318"
}
],
"bidid": "V2drbz93-w5w09453-0766-pLu36cYs0I91"
}
OpenRTB 通訊協定緩衝區
顯示範例
id: "Z1ooz319AuluM78c9gs382"
seatbid {
bid {
id: "27Zv77s98G1G6j81vg2"
impid: "1"
price: 1.9337624810013911
adid: "test_creative_id_425686"
adomain: "google.com"
cid: "85753840376"
crid: "test_creative_id_425686"
dealid: "21043453"
cat: "IAB7-5"
burl: "https://test.com/imp?id=123456"
adm_native {
ver: "1"
assets {
id: 1
required: true
title {
text: "Luxury Mars Cruises"
}
}
assets {
id: 2
data {
value: "Book today"
}
}
assets {
id: 3
data {
value: "Galactic Luxury Cruises"
}
}
assets {
id: 4
img {
url: "https://native.test.com/image?id=123456"
w: 1200
h: 627
}
}
link {
url: "https://www.google.com"
}
imptrackers: "https://test.com/impression?id=123456&amt=${AUCTION_PRICE}"
}
}
seat: "1287:1720:806996"
}
cur: "USD"
影片出價回應
示範
bid_response {
ad {
...
click_through_url: "https://www.exampleDomain.com"
impression_tracking_url: "https://my_impression_tracking_url.com/"
ad_choices_destination_url: "https://my_ad_choices_destination_url.com/"
...
native_ad {
headline: "Lowest mortgage rates"
video_url: "https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast"
call_to_action: "Get a quote"
advertiser: "NY Mortgage Inc."
image {
url: "https://www.example.net/mypromoimage.png"
width: 1200
height: 700
}
logo {
url: "https://www.example.net/mylogo.png"
width: 200
height: 200
}
click_link_url: "https://r1.example.com/r/u1dhfh3cow00/b1_googleadx/830/41972/ ?_b_ctrl=1"
click_tracking_urls: "https://my_click_tracking_url.com/"
}
}
}