原生廣告

原生廣告會配合周圍內容和影像內容調整格式 才能提高能見度和點擊次數。原生廣告 廣告空間適用於行動應用程式、電腦版和行動版網站。 如要進一步瞭解原生廣告,請參閱原生廣告總覽 廣告

Authorized Buyers 和 公開出價。

以下是原生廣告的工作流程:

  1. 系統會向 Google 發出原生廣告呼叫。呼叫會指定 下面其中一個或兩個原生廣告範本,分別指定 原生欄位。
  2. Google 向買方送出即時出價要求,其中包含 欄位。
  3. 有興趣的買方透過回應傳回要求的欄位。
  4. Google 會進行競價,選出得標出價 提供給發布商的廣告素材資源
  5. 發布商將素材資源組合成原生廣告,並設定樣式 配合網站設計

訊息格式

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 但宣告不會捨棄任何 click_through_url只設定 這個欄位表示 html_snippetvideo_urlnative_ad 已設定完成。這項資料會做為到達網頁網址使用 宣告內容,例如篩選後經過發布商封鎖的網址或廣告 以便進行分類使用原生廣告時,請參閱上方的 NativeAd.click_link_url

至於非原生廣告,這個值不會用於點擊追蹤或任何其他廣告 功能;而且只能當做到達網頁網址宣告。

如果是原生廣告,如未設定 NativeAd.click_link_urlclick_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 即時出價中的 impression_tracking_url proto 或 Native imptrackers。

required_fields敬上 和 recommended_fields 都是由發布商指定我們示範了 翻譯這些位元欄位來判斷是必填欄位 建議

位元欄位會使用二進位值的每個位元來儲存 true 或 false 陳述式,相當於傳送許多布林信號 (例如 is_logo_requiredis_header_required 等,但全部 因此,

範例

本例中,我們將使用 required_fields1085

首先,請找出對等的二進位值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;
    // ...
  }
}

出價要求範例

非影片出價要求

Google

OpenRTB JSON

OpenRTB 通訊協定緩衝區

影片出價要求

出價回應範例

請注意,這些回應中的值不會與 。不過,如果要求中的範本建議是必要/選用 欄位,則此處的回應即符合這些規定。

非影片出價回應

Google

OpenRTB JSON

OpenRTB 通訊協定緩衝區

影片出價回應