原生廣告會配合周圍內容和影像內容調整格式 才能提高能見度和點擊次數。原生廣告 廣告空間適用於行動應用程式、電腦版和行動版網站。 如要進一步瞭解原生廣告,請參閱原生廣告總覽 廣告。
Authorized Buyers 和 公開出價。
以下是原生廣告的工作流程:
- 系統會向 Google 發出原生廣告呼叫。呼叫會指定 下面其中一個或兩個原生廣告範本,分別指定 原生欄位。
- Google 向買方送出即時出價要求,其中包含 欄位。
- 有興趣的買方透過回應傳回要求的欄位。
- 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 不需要資產 ID
Protobuf 出價回應。
如果您使用買方 SDK 顯示原生廣告,
在收到回應時,您必須在 declared_ad
中加入圖片 type
將廣告素材送審。
原生廣告範本
Google 支援兩種最常見的非影片廣告範本 影片原生廣告:
- 應用程式安裝廣告範本 - 宣傳 並提升行動應用程式安裝次數
- 內容廣告範本 - 較籠統 適用於品牌或網路廣告的文字和圖片組合。
- 影片應用程式安裝廣告範本
- 影片內容廣告範本
還有其他範本,對 欄位、維度和大小
應用程式安裝廣告範本
必填欄位和建議欄位
下表列出標示為「必要」或「建議」的欄位。 規則如下:
- 標示為「必要」的欄位是出價方的必填欄位。
- 標示為「推薦」的欄位並非出價方的必要欄位,而且 發布商不一定會顯示這些資訊 (例如星號 評分)。
- 行動號召一律標示為「建議」,因為 未由出價方傳送時,系統會指定預設值,但一律會予以指派 (傳送後會顯示)。
下表列出應用程式安裝廣告範本的欄位。 行動應用程式會使用這些欄位製作原生應用程式安裝廣告。
欄位 | 說明 | 必填或建議? | 一律顯示? | 建議的圖片大小/字元數上限 | 範例 |
---|---|---|---|---|---|
廣告標題 | 應用程式名稱 | 必填 | 是 | 25 個半形字元 | Flood It! |
圖片 | 應用程式的螢幕截圖或其他相關圖片 | 必填 | 否 | 1,200 x 627 像素或 600 x 600 像素 (視所需的顯示比例而定) 廣告。 | <Flood-It! 遊戲的螢幕截圖> |
內文 | 應用程式的主要文字 | 必填 | 否 | 90 個半形字元 | 極簡且充滿挑戰的極限挑戰 = 令人愛不釋手! |
應用程式圖示 | 應用程式圖示 | 必填 | 否 | 128 x 128 像素 | <Flood-it!應用程式圖示> |
行動號召 | 偏好的使用者動作 | 推薦 | 是 | 15 個半形字元 | 安裝 |
星級評等 | 代表星級數 (0 - 5) 該應用程式在應用程式商店中的評分 | 推薦 | 否 | 0 - 5 | 4.5 |
價格 | 應用程式費用 | 推薦 | 否 | 15 個半形字元 | 免費 |
文字長度相關注意事項
如果買方送出的文字素材資源 (例如內文) 超過 建議字元數上限,文字可能會遭到截斷 由 Google 或發布商代為處理請注意 中文、日文和韓文的上限是一半。舉例來說, 英文標題上限為 90,中文則是 45。
圖片大小相關注意事項
發布商可以:
- 以單一維度 (高度或高度) 以對稱方式裁剪主要圖片的 20% 寬度)。
- 在不變更顯示比例的情況下縮放圖片。
- 顯示比例與暗示兩者截然不同的圖片 可能會遭到篩除
內容廣告範本
下表列出內容廣告範本的欄位。發布端 就能使用這些欄位製作原生內容廣告
欄位 | 說明 | 必填或建議? | 一律顯示? | 建議的圖片大小/字元數上限 *。 | 範例 |
---|---|---|---|---|---|
廣告標題 | 廣告標題 | 必填 | 是 | 25 個半形字元 | 最低抵押貸款利率 |
圖片 | 廣告主要圖片 | 必填 | 否 | 1,200 x 627 像素或 600 x 600 像素 (視所需的顯示比例而定) 廣告。 | <廣告的主要圖片> |
內文 | 廣告素材 | 必填 | 否 | 90 個半形字元 | Brooklyn - 是全家福音的家,價格便宜,比想像中還快! |
標誌 | 廣告客戶的標誌或其他相關小型圖片 | 推薦 | 否 | 128 x 128 像素 | <NY Mortgage Inc. 的標誌> |
行動號召 | 使用者偏好的動作 | 推薦 | 否 | 15 個半形字元 | 詢價 |
廣告主 | 廣告主或品牌的識別文字 | 必填 | 否 | 25 個半形字元 | NY Mortgage Inc. |
影片應用程式安裝廣告範本
欄位 | 說明 | 必填或建議? | 一律顯示? | 建議的圖片大小/字元數上限 * | 範例 |
---|---|---|---|---|---|
影片 | 影片 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 網址格式 或 VAST 代碼您無法指定原始影片檔案 (例如 WebM、MP4 等)。
文字長度:如果買方指定文字素材資源,例如 回應中的
body
,可能會遭到截斷及省略 Google 或發布商。請注意,截斷上限是 中文、日文和韓文。例如,以英文的廣告標題限制為 90 中文則是 45圖片大小:發布商可以:
- 以單一尺寸 (高度) 以對稱方式裁剪主要圖片,上限為 20% 或寬度
- 在不變更顯示比例的情況下縮放圖片。
應用程式安裝廣告範例
影片內容廣告範本
欄位 | 說明 | 必填或建議? | 一律顯示? | 建議的圖片大小/字元數上限 * | 範例 |
---|---|---|---|---|---|
影片 | 影片 VAST 回應內含播放影片廣告所需的所有素材資源。 | 必要 | 是 | - | 包含 Flood-It! 的 VAST XML 網址影片廣告 |
廣告標題 | 廣告標題 | 必要 | 是 | 25 個半形字元 | 最低抵押貸款利率 |
圖片 | 在影片廣告載入期間或獲得點擊之前,播放器中顯示的圖片 (縮圖)。 | 必要 | 否 | 應符合影片的長寬比 (例如 16x9 影片為 1280x720,640x480 影片則為 4x3)。 | 影片的螢幕截圖 |
內文 | 廣告素材 | 必要 | 否 | 90 個半形字元 | Brooklyn - 是全家福音的家,價格便宜,比想像中還快! |
標誌 | 廣告客戶的標誌或其他相關小型圖片 | 推薦方案 | 否 | 128 x 128 像素 | NY Mortgage Inc. 的標誌 |
行動號召 | 使用者偏好的動作 | 必要 | 否 | 15 個半形字元 | 取得報價 |
廣告客戶 | 廣告主或品牌的識別文字 | 必要 | 否 | 25 個半形字元 | NY Mortgage Inc. |
中繼欄位
下列中繼欄位由所有支援的廣告範本共用:
已授權 買方即時通訊協定緩衝區 | 已授權 對等的 OpenRTB | 說明 |
---|---|---|
NativeAd.click_link_url |
Link.url |
使用者按下廣告後,瀏覽器會呼叫的網址。
可能是重新導向鏈結中的第一個步驟,最終會導向
到達網頁針對原生廣告,我們建議使用 click_link_url 做為要設定的欄位
使用者最後會前往的目的地在此情況下,必須使用這個欄位
動態到達網頁 |
Ad.click_through_url |
Bid.adomain |
如果出價工具要出價,就必須設定。這是一組目的地
程式碼片段的網址,包括使用者前往
以及在廣告中顯示的任何網址
廣告。請勿加入與廣告伺服器無關的中繼呼叫
最終的到達網頁傳回程式碼片段或影片廣告的 BidResponse
但宣告不會捨棄任何 至於非原生廣告,這個值不會用於點擊追蹤或任何其他廣告 功能;而且只能當做到達網頁網址宣告。 如果是原生廣告,如未設定 |
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 即時出價中的 impression_tracking_url
proto 或 Native imptrackers。 |
必填欄位和建議欄位
required_fields
敬上
和 recommended_fields
都是由發布商指定我們示範了
翻譯這些位元欄位來判斷是必填欄位
建議
位元欄位會使用二進位值的每個位元來儲存 true 或 false
陳述式,相當於傳送許多布林信號 (例如
is_logo_required
、is_header_required
等,但全部
因此,
範例
本例中,我們將使用 required_fields
值
1085
。
首先,請找出對等的二進位值:
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 |
我們查看 1 位元的二進位值範例 10000111101
(最右側) 為 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
訊息提供以下項目的規格:
- 這是必填或建議欄位。
- 圖片、標誌和應用程式圖示的尺寸。
- 廣告顯示樣式的規格。
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
中宣告必要欄位。
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; // ... } }
出價要求範例
非影片出價要求
OpenRTB JSON
OpenRTB 通訊協定緩衝區
影片出價要求
出價回應範例
請注意,這些回應中的值不會與 。不過,如果要求中的範本建議是必要/選用 欄位,則此處的回應即符合這些規定。