Quảng cáo gốc

Quảng cáo gốc là quảng cáo được định dạng để phù hợp với nội dung và hình ảnh xung quanh giúp tăng khả năng người dùng sẽ xem và nhấp vào quảng cáo. Quảng cáo gốc có sẵn trên ứng dụng dành cho thiết bị di động cũng như trang web dành cho máy tính và thiết bị di động. Để biết thêm thông tin về quảng cáo gốc, hãy xem bài viết Tổng quan về quảng cáo gốc quảng cáo.

Quảng cáo gốc được hỗ trợ cho cả Authorized Buyers và Đặt giá thầu mở.

Dưới đây là quy trình làm việc cho quảng cáo gốc:

  1. Lệnh gọi cho quảng cáo gốc được thực hiện đến Google. Cuộc gọi chỉ định một hoặc cả hai mẫu quảng cáo gốc bên dưới, mỗi mẫu chỉ định mẫu quảng cáo trường gốc.
  2. Google gửi cho người mua yêu cầu giá thầu đặt giá thầu theo thời gian thực (RTB) chứa danh sách đang được yêu cầu.
  3. Những người mua quan tâm sẽ phản hồi bằng các trường được yêu cầu.
  4. Google tiến hành một phiên đấu giá để chọn giá thầu giành chiến thắng và gửi thành phần mẫu quảng cáo do người mua cung cấp cho nhà xuất bản.
  5. Nhà xuất bản tập hợp các nội dung thành một quảng cáo gốc và tạo kiểu cho chúng cho phù hợp với thiết kế của trang web.

Định dạng thông báo

Google hỗ trợ Đặc điểm OpenRTB trong cả JSON và Protobuf.

Đối với quảng cáo gốc OpenRTB Protobuf, các trường sau sẽ khác với đặc điểm kỹ thuật:

Quy cách JSON
(PROTOCOL_OPENRTB_2_4)
Loại JSON Triển khai OpenRTB
(PROTOCOL_OPENRTB_PROTOBUF_2_4)
Loại OpenRTB
BidRequest.imp[].native.request string BidRequest.imp[].native.request_native NativeRequest
BidResponse.seatbid[].bid[].adm string BidResponse.seatbid[].bid[].adm_native NativeResponse

Các trường OpenRTB là các thông báo Protobuf thay vì các chuỗi.

Nếu sử dụng phương thức triển khai OpenRTB Protobuf, bạn sẽ không nhận được BidRequest.imp[].native.request và phải trả lời bằng BidResponse.seatbid[].bid[].adm_native Phản hồi giá thầu với BidResponse.seatbid[].bid[].adm đã được lọc. Không bắt buộc phải có mã tài sản cho OpenRTB Phản hồi giá thầu Protobuf.

Nếu bạn sử dụng SDK của người mua để hiển thị quảng cáo gốc, bạn phải thêm một hình ảnh type vào declared_ad khi gửi mẫu quảng cáo để xem xét.

Mẫu quảng cáo gốc

Google hỗ trợ hai mẫu quảng cáo gốc phổ biến nhất cho định dạng không phải video và quảng cáo gốc dạng video:

Các mẫu khác tồn tại và có thể có một bộ yêu cầu khác cho trường, thứ nguyên và kích thước.

Mẫu quảng cáo cài đặt ứng dụng

Các bảng dưới đây hiển thị các trường có nhãn Bắt buộc hoặc Được đề xuất. Các quy tắc sau được áp dụng:

  • Bên đặt giá thầu bắt buộc phải có các trường được đánh dấu là Bắt buộc.
  • Bên đặt giá thầu không yêu cầu các trường được đánh dấu là Được đề xuất và nhà xuất bản có thể hoặc không thể hiển thị chúng nếu được cung cấp (ví dụ: dấu sao xếp hạng).
  • Lời kêu gọi hành động (CTA) luôn được đánh dấu là Được đề xuất vì được chỉ định nếu giá trị mặc định không được bên đặt giá thầu gửi, nhưng giá trị mặc định sẽ luôn được hiển thị nếu được gửi.

Bảng sau liệt kê các trường của mẫu quảng cáo cài đặt ứng dụng. Ứng dụng dành cho thiết bị di động sử dụng các trường này để tạo quảng cáo cài đặt ứng dụng gốc.

Trường Mô tả Bắt buộc hay Được đề xuất? Luôn hiển thị? Kích thước hình ảnh nên dùng/số ký tự tối đa Ví dụ:
Dòng tiêu đề Tên ứng dụng Bắt buộc 25 ký tự Flood-It!
Bài đăng có hình ảnh Ảnh chụp màn hình trong ứng dụng hoặc một hình ảnh khác có liên quan Bắt buộc Không 1.200 px x 627 px hoặc 600 px x 600 px tuỳ thuộc vào tỷ lệ khung hình bắt buộc do nhà xuất bản tải lên. <Ảnh chụp màn hình trò chơi Flood-It!>
Nội dung Văn bản chính của ứng dụng Bắt buộc Không 90 ký tự Đơn giản nhưng đầy thử thách và hấp dẫn thì lại vô cùng hấp dẫn!
Biểu tượng ứng dụng Biểu tượng ứng dụng Bắt buộc Không 128 x 128 pixel <Ứng-dụng-nó! biểu tượng ứng dụng>
Lời kêu gọi hành động Hành động ưu tiên của người dùng Đề xuất 15 ký tự Cài đặt
Điểm xếp hạng theo sao Số sao (0 - 5) đại diện cho điểm xếp hạng của ứng dụng trong cửa hàng ứng dụng Đề xuất Không 0 – 5 4,5
Giá Chi phí của ứng dụng Đề xuất Không 15 ký tự Miễn phí

Ghi chú về độ dài văn bản

Nếu người mua gửi thành phần văn bản (ví dụ: nội dung) dài hơn số ký tự tối đa được đề xuất, văn bản có thể được cắt ngắn và được Google hoặc nhà xuất bản đánh giá. Xin lưu ý rằng việc cắt bớt giới hạn là một nửa kích thước đối với tiếng Trung, tiếng Nhật và tiếng Hàn. Ví dụ: giới hạn dòng tiêu đề là 90 cho tiếng Anh và 45 cho tiếng Trung Quốc.

Lưu ý về kích thước hình ảnh

Nhà xuất bản được phép:

  • Cắt hình ảnh chính một cách đối xứng đến tối đa 20% theo một chiều (chiều cao hoặc chiều rộng).
  • Điều chỉnh tỷ lệ hình ảnh mà không thay đổi tỷ lệ khung hình.
  • Hình ảnh có tỷ lệ khung hình khác biệt đáng kể so với tỷ lệ được ngụ ý theo chiều cao và chiều rộng có thể được lọc.

Mẫu quảng cáo nội dung

Bảng sau đây liệt kê các trường của một mẫu quảng cáo nội dung. Nhà xuất bản sử dụng các trường này để tạo quảng cáo nội dung gốc.

Trường Mô tả Bắt buộc hay Được đề xuất? Luôn hiển thị? Kích thước hình ảnh nên dùng/số ký tự tối đa * Ví dụ:
Dòng tiêu đề Tiêu đề quảng cáo Bắt buộc 25 ký tự Lãi suất thế chấp thấp nhất
Bài đăng có hình ảnh Hình ảnh chính của quảng cáo Bắt buộc Không 1.200 px x 627 px hoặc 600 px x 600 px tuỳ thuộc vào tỷ lệ khung hình bắt buộc do nhà xuất bản tải lên. <Hình ảnh chính của quảng cáo>
Nội dung Nội dung quảng cáo Bắt buộc Không 90 ký tự Ngôi nhà thân yêu ở Brooklyn, ngôi nhà thân yêu của bạn - rẻ hơn và sớm hơn bạn nghĩ!
Biểu trưng Biểu trưng của nhà quảng cáo hoặc một hình ảnh nhỏ có liên quan khác Đề xuất Không 128 x 128 pixel <Biểu trưng của NY MIGRATION Inc.>
Lời kêu gọi hành động Hành động ưu tiên của người dùng Đề xuất Không 15 ký tự Nhận bản báo giá
Nhà quảng cáo Văn bản xác định nhà quảng cáo hoặc thương hiệu Bắt buộc Không 25 ký tự Công ty NY Thế chấp Inc.

Mẫu quảng cáo cài đặt ứng dụng video

Trường Mô tả Bắt buộc hay Được đề xuất? Luôn hiển thị? Kích thước hình ảnh nên dùng/số ký tự tối đa * Ví dụ:
Video Phản hồi VAST video chứa tất cả các phần tử cần thiết để phát lại quảng cáo video. Bắt buộc Không - URL tới XML VAST chứa Flood-It! Quảng cáo dạng video
Dòng tiêu đề Tên ứng dụng Bắt buộc 25 ký tự Flood-It!
Bài đăng có hình ảnh Hình ảnh (hình thu nhỏ) hiển thị trong trình phát trước khi quảng cáo video được nhấp hoặc trong khi quảng cáo này đang tải. Bắt buộc Không Sẽ khớp với tỷ lệ co của video (ví dụ: 1280x720 cho video 16x9, 4x3 cho video 640x480). Ảnh chụp màn hình trò chơi Flood-It! Hoặc lấy từ video
Nội dung Văn bản chính của ứng dụng Bắt buộc Không 90 ký tự Đơn giản nhưng đầy thử thách và hấp dẫn thì lại vô cùng hấp dẫn!
Biểu tượng ứng dụng Biểu tượng ứng dụng Bắt buộc Không 128 x 128 pixel Ứng dụng! biểu tượng ứng dụng
Lời kêu gọi hành động Hành động ưu tiên của người dùng Bắt buộc 15 ký tự Cài đặt
Điểm xếp hạng theo sao Số sao (0 - 5) thể hiện điểm xếp hạng của ứng dụng trong cửa hàng ứng dụng Đề xuất Không 0 – 5 4,5
Giá Chi phí của ứng dụng Đề xuất Không 15 ký tự Miễn phí

Quy định hạn chế

  • Video: Tất cả video phải ở dạng URL VAST hoặc thẻ VAST. Bạn không thể chỉ định tệp video thô như WebM, MP4, v.v.

  • Độ dài văn bản: Nếu người mua chỉ định một thành phần văn bản, chẳng hạn như body trong phản hồi, nó có thể được cắt bớt và đánh dấu bằng dấu elip Google hoặc nhà xuất bản. Xin lưu ý rằng giới hạn cắt bớt là một nửa kích thước trong Tiếng Trung, tiếng Nhật và tiếng Hàn. Ví dụ: giới hạn dòng tiêu đề là 90 bằng tiếng Anh và 45 đối với tiếng Trung.

  • Kích thước hình ảnh: Nhà xuất bản được phép:

    • Cắt hình ảnh chính một cách đối xứng đến tối đa 20% theo một chiều (chiều cao hoặc chiều rộng.
    • Điều chỉnh tỷ lệ hình ảnh mà không thay đổi tỷ lệ khung hình.

Ví dụ về quảng cáo cài đặt ứng dụng

quảng cáo gốc dạng video

Mẫu quảng cáo nội dung video

Trường Mô tả Bắt buộc hay Được đề xuất? Luôn hiển thị? Kích thước hình ảnh nên dùng/số ký tự tối đa * Ví dụ:
Video Phản hồi VAST video chứa tất cả các phần tử cần thiết để phát lại quảng cáo video. Bắt buộc - URL tới XML VAST chứa Flood-It! Quảng cáo dạng video
Dòng tiêu đề Tiêu đề quảng cáo Bắt buộc 25 ký tự Lãi suất thế chấp thấp nhất
Bài đăng có hình ảnh Hình ảnh (hình thu nhỏ) hiển thị trong trình phát trước khi quảng cáo video được nhấp hoặc trong khi quảng cáo này đang tải. Bắt buộc Không Sẽ khớp với tỷ lệ co của video (ví dụ: 1280x720 cho video 16x9, 4x3 cho video 640x480). Ảnh chụp màn hình video
Nội dung Nội dung quảng cáo Bắt buộc Không 90 ký tự Ngôi nhà thân yêu ở Brooklyn, ngôi nhà thân yêu của bạn - rẻ hơn và sớm hơn bạn nghĩ!
Biểu trưng Biểu trưng của nhà quảng cáo hoặc một hình ảnh nhỏ có liên quan khác Đề xuất Không 128 x 128 pixel Biểu trưng của NY của Inc.
Lời kêu gọi hành động Hành động ưu tiên của người dùng Bắt buộc Không 15 ký tự Nhận bản báo giá
Nhà quảng cáo Văn bản xác định nhà quảng cáo hoặc thương hiệu Bắt buộc Không 25 ký tự Công ty NY Thế chấp Inc.

Trường meta

Tất cả mẫu quảng cáo được hỗ trợ đều dùng chung các trường meta sau đây:

Đã uỷ quyền Vùng đệm giao thức theo thời gian thực của người mua Đã uỷ quyền Tương đương OpenRTB của người mua Mô tả
NativeAd.click_link_url Link.url URL mà trình duyệt sẽ gọi khi người dùng nhấp vào quảng cáo. Có thể là bước đầu tiên của chuỗi chuyển hướng mà rốt cuộc sẽ dẫn đến trang đích. Đối với quảng cáo gốc, bạn nên sử dụng click_link_url làm trường để đặt đích mà người dùng sẽ đến cuối cùng. Bắt buộc phải sử dụng trường này trong các trường hợp của các trang đích động.
Ad.click_through_url Bid.adomain

Bạn phải đặt giá trị này nếu bên đặt giá thầu định đặt giá thầu. Đây là tập hợp điểm đến URL cho đoạn thông tin, bao gồm cả các URL mà người dùng sẽ truy cập nếu lượt nhấp vào quảng cáo được hiển thị và bất kỳ URL nào xuất hiện trong quảng cáo được hiển thị quảng cáo. Không bao gồm các lệnh gọi trung gian đến máy chủ quảng cáo không liên quan đến trang đích cuối cùng. Phản hồi giá thầu trả về một đoạn trích hoặc quảng cáo dạng video nhưng khai báo sẽ không loại bỏ click_through_url. Chỉ đặt trường này nếu html_snippet, video_url hoặc Đã đặt native_ad. Dữ liệu này được sử dụng làm URL đích khai báo, ví dụ: để lọc sau URL hoặc quảng cáo bị nhà xuất bản chặn phân loại sản phẩm. Tham khảo NativeAd.click_link_url ở trên khi sử dụng quảng cáo gốc.

Đối với các quảng cáo không phải quảng cáo gốc, vị trí này không được sử dụng để theo dõi lượt nhấp hoặc bất kỳ quảng cáo nào khác chức năng; nó chỉ được dùng dưới dạng một khai báo URL đích.

Đối với quảng cáo gốc, nếu bạn không đặt NativeAd.click_link_url, giá trị giá trị đầu tiên của click_through_url dùng để hướng người dùng đến trang đích. Ngoài ra, tất cả các giá trị được sử dụng làm URL đích nội dung khai báo (tương tự như trường hợp không phải là quảng cáo gốc).

NativeAd.click_tracking_urls Link.clicktrackers Không bắt buộc. URL bổ sung cho phép nhà quảng cáo theo dõi số lần nhấp của người dùng quảng cáo.
Ad.ad_choices_destination_url BidExt.ad_choices_destination_url Đường liên kết đến trang lựa chọn ưu tiên về quảng cáo hoặc trang chọn không tham gia. Nếu có, một tham số chuẩn Biểu tượng Lựa chọn quảng cáo được thêm vào quảng cáo gốc và được liên kết với URL này. Chiến dịch này được hỗ trợ cho quảng cáo gốc nhưng không phải là một phần của thông báo gốc trong giá thầu phản hồi.
Ad.impression_tracking_url NativeResponse.imptrackers Lần hiển thị gốc nên được theo dõi bằng impression_tracking_url trong tính năng đặt giá thầu theo thời gian thực của Authorized Buyers proto hoặc Trình theo dõi mã gốc trong OpenRTB.

required_fieldsrecommended_fields là do nhà xuất bản chỉ định. Chúng tôi chỉ cho bạn cách để dịch các trường bit này nhằm xác định xem một trường có bắt buộc hay không được đề xuất.

Trường bit sử dụng từng bit của giá trị nhị phân để lưu giá trị true hoặc false câu lệnh, tương đương với việc gửi nhiều tín hiệu boolean như is_logo_required, is_header_required, v.v. nhưng tất cả ở cùng một nơi.

Ví dụ:

Trong ví dụ này, chúng tôi sẽ sử dụng giá trị required_fields của 1085

Trước tiên, hãy tìm giá trị nhị phân tương đương: 10000111101

Khi có giá trị nhị phân, bạn có thể kiểm tra các bit để xem một trường có bắt buộc (1) hoặc không bắt buộc (0).

Bảng dưới đây liên kết các trường với vị trí của chúng trong giá trị nhị phân. Đọc nhị phân từ phải sang trái, với 1 bit tương ứng với vị trí xa nhất bên phải trong giá trị nhị phân.

Trường Vị trí của giá trị nhị phân (từ phải sang trái)
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

Nhìn vào giá trị nhị phân mẫu 10000111101, mã 1 bit (ngoài cùng bên phải) là 1, biểu thị một giá trị bắt buộc. Theo bảng, 1 bit tương ứng với HEADLINE.

2 bit (giá trị thứ hai từ bên phải) là 0 biểu thị không bắt buộc. 2 bit tương ứng với BODY.

Dưới đây là tất cả các trường bắt buộc được diễn giải trong ví dụ của chúng tôi:

Giá trị Mô tả Bắt buộc?
1 VIDEO
0 STORE Không
0 PRICE Không
0 STAR_RATING Không
0 APP_ICON Không
1 LOGO
1 IMAGE
1 ADVERTISER
1 CALL_TO_ACTION
0 BODY Không
1 HEADLINE

Thông báo GADTemplate

Khi nhận được yêu cầu giá thầu có chứa khoảng không quảng cáo gốc, yêu cầu đó sẽ chứa được điền sẵn BidRequest.adSlot[].native_ad_template. Thông báo NativeAdTemplate cung cấp thông số kỹ thuật cho:

  • Các trường bắt buộc hoặc được đề xuất.
  • Kích thước hình ảnh, biểu trưng và biểu tượng ứng dụng.
  • Thông số kỹ thuật cho kiểu mà quảng cáo hiển thị.
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;

  // ...
}

Thông báo về phản hồi

Khi đặt giá thầu trên khoảng không quảng cáo gốc, người mua phải điền sẵn BidResponse.ad[].native_ad với các trường bắt buộc được khai báo trong BidRequest.adSlot[].native_ad_template tương ứng.

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;
    // ...
  }
}

Yêu cầu giá thầu mẫu

Yêu cầu giá thầu không phải video

Google

JSON OpenRTB

Protobuf OpenRTB

Yêu cầu giá thầu video

Ví dụ về giá thầu phản hồi

Lưu ý rằng các giá trị trong những phản hồi này không nhằm mục đích khớp với các yêu cầu tương ứng nêu trên. Tuy nhiên, nếu mẫu trong yêu cầu đề xuất bắt buộc/không bắt buộc thì các phản hồi ở đây tuân thủ các yêu cầu đó.

Phản hồi giá thầu không phải video

Google

JSON OpenRTB

Protobuf OpenRTB

Phản hồi giá thầu video