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à thiết kế trực quan xung quanh, giúp tăng khả năng người dùng xem và nhấp vào quảng cáo. Khoảng không quảng cáo gốc có sẵn trên các ứng dụng dành cho thiết bị di động cũng như máy tính và trang web dành cho 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 gốc được hỗ trợ cho cả Authorized Buyers và tính năng Đặ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 quảng cáo gốc sẽ được gửi đến Google. Lệnh gọi chỉ định một hoặc cả hai mẫu quảng cáo gốc bên dưới, trong đó mỗi mẫu chỉ định các trường gốc ưu tiên.
  2. Google gửi cho người mua yêu cầu giá thầu RTB chứa danh sách các trường đang được yêu cầu.
  3. 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 đã cung cấp của người mua cho nhà xuất bản.
  5. Nhà xuất bản tập hợp các thành phần 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ợ thông số kỹ thuật OpenRTB trong cả JSON và Protobuf.

Đối với quảng cáo gốc OpenRTB Protobuf, các trường sau đây khác với quy cách:

Thông số kỹ thuật 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à thông báo Protobuf thay vì 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 phản hồi bằng BidResponse.seatbid[].bid[].adm_native. Phản hồi giá thầu có BidResponse.seatbid[].bid[].adm sẽ được lọc. Bạn không bắt buộc phải sử dụng mã tài sản cho giá thầu phản hồi giá thầu Protobuf OpenRTB.

Nếu sử dụng SDK của người mua để hiển thị quảng cáo gốc, bạn phải đưa hình ảnh type vào declared_ad khi gửi mẫu quảng cáo để Google 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 quảng cáo gốc không phải dạng 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ó các yêu cầu khác về trường, kích thước và kích thước.

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

Bảng bên dưới 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:

  • Người đặt giá thầu bắt buộc phải thực hiện các trường được đánh dấu Bắt buộc.
  • Bên đặt giá thầu không bắt buộc phải thực hiện các trường được đánh dấu Được đề xuất và nhà xuất bản có thể hiển thị hoặc không hiển thị các trường này nếu được cung cấp (ví dụ: điểm xếp hạng theo sao).
  • Lời kêu gọi hành động (CTA) luôn được đánh dấu là Recommended (Đề xuất) vì chế độ mặc định được chỉ định nếu người đặt giá thầu không gửi một lời kêu gọi hành động, nhưng nó sẽ luôn hiển thị khi đượ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 Nội dung mô tả Bắt buộc hay được đề xuất? Luôn hiển thị? Kích thước hình ảnh được đề xuất/số ký tự tối đa Ví dụ:
Tiêu đề Tên ứng dụng Bắt buộc 25 ký tự Ứng dụng Flood-It!
Bài đăng có hình ảnh Một ảnh chụp màn hình của ứng dụng hoặc một hình ảnh khác có liên quan Bắt buộc Không 1.200px x 627px hoặc 600px x 600px tuỳ thuộc vào tỷ lệ khung hình mà nhà xuất bản yêu cầu. <Ảnh chụp màn hình từ 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 đến mức khó tin + đầy thách thức = một cách thú vị gây nghiệ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 <Biểu tượng ứng dụng Flood-it!>
Lời kêu gọi hành động Hành động được ư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) 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í

Lưu ý về độ dài văn bản

Nếu người mua gửi thành phần văn bản (ví dụ: văn bản nội dung) dài hơn số ký tự tối đa được đề xuất, thì văn bản đó có thể sẽ bị Google hoặc nhà xuất bản cắt bớt và đánh dấu ba chấm. Xin lưu ý rằng giới hạn cắt bớt là một nửa 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 đối với tiếng Anh và 45 đối với tiếng Trung.

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 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.
  • Những hình ảnh có tỷ lệ khung hình khác biệt đáng kể so với tỷ lệ ngầm ẩn về chiều cao và chiều rộng có thể bị lọc.

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

Bảng sau liệt kê các trường của 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 Nội dung mô tả Bắt buộc hay được đề xuất? Luôn hiển thị? Kích thước hình ảnh đề xuất/số ký tự tối đa * Ví dụ:
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.200px x 627px hoặc 600px x 600px tuỳ thuộc vào tỷ lệ khung hình mà nhà xuất bản yêu cầu. <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à Brooklyn đáng 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ỏ khác có liên quan Đề xuất Không 128 x 128 pixel <Biểu trưng của New Cơ quan Inc.>
Lời kêu gọi hành động Hành động mà người dùng ưu tiên Đề 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 Thế chấp New York

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

Trường Nội dung mô tả Bắt buộc hay được đề xuất? Luôn hiển thị? Kích thước hình ảnh được đề xuất/số ký tự tối đa * Ví dụ:
Video Phản hồi VAST video chứa tất cả các thành phần cần thiết để phát lại quảng cáo dạng video. Bắt buộc Không - URL của VAST XML chứa Flood-It! Quảng cáo dạng video
Tiêu đề Tên ứng dụng Bắt buộc 25 ký tự Ứng dụng 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 người dùng nhấp vào quảng cáo dạng video hoặc trong khi tải quảng cáo. Bắt buộc Không Phải khớp với tỷ lệ khung hình 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 trong 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 đến mức khó tin + đầy thách thức = một cách thú vị gây nghiệ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 Biểu tượng ứng dụng Flood-it!
Lời kêu gọi hành động Hành động được ư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ô, chẳng hạn 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 như body trong phản hồi, thì nội dung đó có thể được Google hoặc nhà xuất bản cắt bớt và đánh dấu. Xin lưu ý rằng giới hạn cắt bớt bằng 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 cho tiếng Anh và 45 cho 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 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 Nội dung mô tả Bắt buộc hay được đề xuất? Luôn hiển thị? Kích thước hình ảnh được đề xuất/số ký tự tối đa * Ví dụ:
Video Phản hồi VAST video chứa tất cả các thành phần cần thiết để phát lại quảng cáo dạng video. Bắt buộc - URL của VAST XML chứa Flood-It! Quảng cáo dạng video
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 người dùng nhấp vào quảng cáo dạng video hoặc trong khi tải quảng cáo. Bắt buộc Không Phải khớp với tỷ lệ khung hình của video (ví dụ: 1280x720 cho video 16x9, 4x3 cho video 640x480). Ảnh chụp màn hình từ video
Nội dung Nội dung quảng cáo Bắt buộc Không 90 ký tự Ngôi nhà Brooklyn đáng 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ỏ khác có liên quan Đề xuất Không 128 x 128 pixel Biểu trưng của NY Related Inc.
Lời kêu gọi hành động Hành động mà người dùng ưu tiên 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 Thế chấp New York

Trường meta

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

Vùng đệm giao thức theo thời gian thực của Authorized Buyers Tương đương với Authorized Buyers của Authorized Buyers Nội dung mô tả
NativeAd.click_link_url Link.url URL sẽ được trình duyệt 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à cuối cùng 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 đến cuối cùng mà người dùng sẽ chuyển đến. Bắt buộc phải sử dụng trường này trong trường hợp là trang đích động.
Ad.click_through_url Bid.adomain

Phải đặt nếu bên đặt giá thầu này có ý định đặt giá thầu. Đây là tập hợp các URL đích cho đoạn mã, bao gồm cả những URL mà người dùng sẽ truy cập nếu họ nhấp vào quảng cáo hiển thị và bất kỳ URL nào hiển thị trong quảng cáo được hiển thị. Đừng thê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 không có click_through_url nào sẽ bị loại bỏ. Chỉ đặt trường này nếu bạn đặt html_snippet, video_url hoặc native_ad. Dữ liệu này được dùng làm nội dung khai báo về URL đích, chẳng hạn như để lọc sau các URL bị nhà xuất bản chặn hoặc hoạt động phân loại quảng cáo. Tham khảo NativeAd.click_link_url ở trên khi sử dụng quảng cáo gốc.

Đối với quảng cáo không phải là quảng cáo gốc, URL mô tả không được dùng để theo dõi lượt nhấp hay bất kỳ chức năng quảng cáo nào khác; mà chỉ được dùng làm nội dung khai báo về URL đích.

Đối với quảng cáo gốc, nếu bạn không đặt NativeAd.click_link_url, thì giá trị đầu tiên của click_through_url sẽ được dùng để chuyển người dùng đến trang đích. Ngoài ra, tất cả các giá trị đều được dùng làm nội dung khai báo URL đích (tương tự như trường hợp không phải là giá trị 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ượt nhấp của người dùng vào quảng cáo.
Ad.ad_choices_destination_url BidExt.ad_choices_destination_url Liên kết đến một lựa chọn ưu tiên về quảng cáo hoặc trang chọn không sử dụng. Nếu có, hệ thống sẽ thêm một biểu tượng Lựa chọn quảng cáo chuẩn vào mẫu quảng cáo gốc và liên kết với URL này. Thuộc tính này được hỗ trợ cho quảng cáo gốc nhưng không có trong thông điệp gốc trong giá thầu phản hồi.
Ad.impression_tracking_url NativeResponse.imptrackers Bạn nên theo dõi lượt hiển thị gốc bằng impression_tracking_url trong giao thức đặt giá thầu theo thời gian thực của Authorized Buyers hoặc Trình theo dõi lượt hiển thị gốc trong OpenRTB.

required_fieldsrecommended_fields do nhà xuất bản chỉ định. Chúng tôi sẽ trình bày cách dịch các trường bit này để xác định xem một trường là bắt buộc hay nên dùng.

Trường bit sử dụng từng bit của một giá trị nhị phân để lưu trữ câu lệnh đúng hoặc sai, 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 gói lại với nhau.

Ví dụ:

Trong ví dụ này, chúng tôi sẽ sử dụng giá trị required_fields1085.

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

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

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

Trường Vị trí 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

Xem giá trị nhị phân trong ví dụ 10000111101, 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 có nghĩa là không bắt buộc. 2 bit này 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ị Nội dung 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 về mẫu quảng cáo nội dung

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 BidRequest.adSlot[].native_ad_template được điền. 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 đề xuất.
  • Kích thước của hình ảnh, biểu trưng và biểu tượng ứng dụng.
  • Thông số kỹ thuật cho kiểu hiển thị quảng cáo.
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ề thú

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

Ví dụ về yêu cầu giá thầu

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

Google

Định dạng JSON OpenRTB

Protobuf OpenRTB

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

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

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

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

Google

Định dạng JSON OpenRTB

Protobuf OpenRTB

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