Iklan Native

Iklan native adalah iklan yang diformat agar sesuai dengan konten dan desain visual di sekitarnya, sehingga lebih mungkin untuk dilihat dan diklik oleh pengguna. Inventaris iklan native tersedia di aplikasi seluler serta desktop dan situs seluler. Untuk informasi lebih lanjut tentang iklan native, lihat Ringkasan iklan native.

Iklan native didukung untuk Authorized Buyers dan Bidding Terbuka.

Berikut adalah alur kerja untuk iklan native:

  1. Panggilan untuk iklan native dilakukan ke Google. Panggilan tersebut menentukan salah satu atau kedua template iklan native di bawah, masing-masing menentukan kolom native yang diinginkan.
  2. Google mengirimkan permintaan bid RTB yang berisi daftar kolom yang diminta kepada pembeli.
  3. Pembeli yang berminat menanggapi kolom yang diminta.
  4. Google menjalankan lelang untuk memilih bid pemenang dan mengirimkan aset materi iklan yang disediakan pembeli kepada penayang.
  5. Penayang menyusun aset menjadi iklan native dan menata gayanya agar sesuai dengan desain situs.

Format pesan

Google mendukung spesifikasi OpenRTB di JSON dan Protobuf.

Untuk iklan native Protobuf OpenRTB, kolom berikut berbeda dengan spesifikasi:

Spesifikasi JSON
(PROTOCOL_OPENRTB_2_4)
Jenis JSON Implementasi OpenRTB
(PROTOCOL_OPENRTB_PROTOBUF_2_4)
Jenis OpenRTB
BidRequest.imp[].native.request string BidRequest.imp[].native.request_native NativeRequest
BidResponse.seatbid[].bid[].adm string BidResponse.seatbid[].bid[].adm_native NativeResponse

Kolom OpenRTB adalah pesan Protobuf, bukan string.

Jika menggunakan implementasi Protobuf OpenRTB, Anda tidak akan menerima BidRequest.imp[].native.request, dan harus merespons dengan BidResponse.seatbid[].bid[].adm_native. Respons bid dengan BidResponse.seatbid[].bid[].adm difilter. ID aset tidak diperlukan untuk respons bid OpenRTB Protobuf.

Jika menggunakan SDK pembeli untuk merender iklan native, Anda harus menyertakan gambar type di declared_ad saat mengirimkan materi iklan untuk ditinjau.

Template iklan Native

Google mendukung dua template iklan native yang paling umum untuk iklan native non-video dan video:

Template lain ada, dan mungkin memiliki kumpulan persyaratan yang berbeda untuk kolom, dimensi, dan ukuran.

Template iklan instal aplikasi

Tabel di bawah menampilkan kolom berlabel Wajib atau Direkomendasikan. Aturan berikut berlaku:

  • Kolom yang ditandai Wajib diwajibkan oleh bidder.
  • Kolom yang ditandai sebagai Direkomendasikan tidak diwajibkan oleh bidder, dan penayang mungkin menampilkan atau tidak menampilkannya jika disediakan (misalnya, rating bintang).
  • Pesan ajakan (CTA) selalu ditandai sebagai Direkomendasikan karena default akan ditetapkan jika tidak dikirim oleh bidder, tetapi akan selalu ditampilkan jika dikirim.

Tabel berikut mencantumkan kolom template iklan instal aplikasi. Aplikasi seluler menggunakan kolom ini untuk membuat iklan native instal aplikasi.

Kolom Deskripsi Wajib atau Direkomendasikan? Selalu ditampilkan? Ukuran gambar yang direkomendasikan/jumlah maksimum karakter Contoh
Judul Judul aplikasi Wajib Ya 25 karakter Flood-It!
Gambar Screenshot dari aplikasi, atau gambar lain yang relevan Wajib Tidak 1.200 x 627 piksel atau 600 piksel x 600 piksel bergantung pada rasio aspek yang diperlukan oleh penayang. <Screenshot dari game Flood-It!>
Body Teks utama aplikasi Wajib Tidak 90 karakter Sederhana tapi menantang. Cukup membuat ketagihan!
Ikon aplikasi Ikon aplikasi Wajib Tidak 128x128 piksel <Ikon aplikasi Flood-it!>
Pesan ajakan (CTA) Tindakan pilihan pengguna Direkomendasikan Ya 15 karakter Menginstal
Rating bintang Jumlah bintang (0 - 5) yang mewakili rating aplikasi di app store Direkomendasikan Tidak 0 - 5 4.5
Harga Biaya aplikasi Direkomendasikan Tidak 15 karakter Gratis

Catatan tentang panjang teks

Jika pembeli mengirim aset teks (misalnya, teks isi) lebih lama dari jumlah karakter maksimum yang disarankan, teks mungkin akan terpotong dan dipotong oleh Google atau penayang. Perhatikan bahwa batas pemotongan adalah setengah ukuran dalam bahasa China, Jepang, dan Korea. Misalnya, batas judul adalah 90 untuk bahasa Inggris dan 45 untuk bahasa China.

Catatan tentang ukuran gambar

Penayang diizinkan untuk:

  • Pangkas gambar utama secara simetris hingga 20% dalam satu dimensi (tinggi atau lebar).
  • Menskalakan gambar tanpa mengubah rasio aspek.
  • Gambar yang memiliki rasio aspek yang jauh berbeda dengan yang dinyatakan oleh tinggi dan lebar mungkin akan difilter.

Template iklan konten

Tabel berikut mencantumkan kolom template iklan konten. Penayang menggunakan kolom ini untuk membuat iklan konten native.

Kolom Deskripsi Wajib atau Direkomendasikan? Selalu ditampilkan? Ukuran gambar/jumlah maksimum karakter yang direkomendasikan * Contoh
Judul Header iklan Wajib Ya 25 karakter Suku bunga hipotek terendah
Gambar Gambar utama iklan Wajib Tidak 1.200 x 627 piksel atau 600 piksel x 600 piksel bergantung pada rasio aspek yang diperlukan oleh penayang. <Gambar utama iklan>
Body Konten iklan Wajib Tidak 90 karakter Rumah Anda di Brooklyn yang manis - lebih murah dan lebih cepat dari yang Anda kira!
Logo Logo pengiklan atau gambar kecil lain yang relevan Direkomendasikan Tidak 128x128 piksel <Logo NY Mortgage Inc.>
Pesan ajakan (CTA) Tindakan yang diinginkan pengguna Direkomendasikan Tidak 15 karakter Dapatkan penawaran
Pengiklan Teks yang menunjukkan pengiklan atau merek Wajib Tidak 25 karakter NY Mortgage Inc.

Template iklan instal aplikasi video

Kolom Deskripsi Wajib atau Direkomendasikan? Selalu ditampilkan? Ukuran gambar yang direkomendasikan/jumlah maksimum karakter * Contoh
Video Respons VAST video yang berisi semua aset yang diperlukan untuk memutar iklan video. Wajib Tidak - URL ke XML VAST yang berisi Flood-It! Iklan video
Judul Judul aplikasi Wajib Ya 25 karakter Flood-It!
Gambar Gambar (thumbnail) yang ditampilkan di pemutar sebelum iklan video diklik atau saat dimuat. Wajib Tidak Harus cocok dengan rasio lebar tinggi video (misalnya: 1280x720 untuk video berukuran 16x9, 4x3 untuk video berukuran 640x480). Screenshot dari game Flood-It! Atau dari video
Body Teks utama aplikasi Wajib Tidak 90 karakter Sederhana tapi menantang. Cukup membuat ketagihan!
Ikon aplikasi Ikon aplikasi Wajib Tidak 128x128 piksel Ikon aplikasi Flood-it!
Pesan ajakan (CTA) Tindakan pilihan pengguna Wajib Ya 15 karakter Menginstal
Rating bintang Jumlah bintang (0 - 5) yang mewakili rating aplikasi di app store Direkomendasikan Tidak 0 - 5 4.5
Harga Biaya aplikasi Direkomendasikan Tidak 15 karakter Gratis

Batasan

  • Video: Semua video harus dalam bentuk URL VAST atau Tag VAST. File video mentah seperti WebM, MP4, dll. tidak dapat ditentukan.

  • Panjang teks: Jika pembeli menentukan aset teks seperti body dalam respons, aset tersebut mungkin akan dipotong dan dimasukkan dalam elipsis oleh Google atau penayang. Perlu diketahui bahwa ukuran batas pemotongan dalam bahasa China, Jepang, dan Korea adalah setengahnya. Misalnya, batas judul adalah 90 dalam bahasa Inggris dan 45 untuk bahasa China.

  • Ukuran gambar: Penayang diizinkan untuk:

    • Pangkas gambar utama secara simetris hingga 20% dalam satu dimensi (tinggi atau lebar.
    • Menskalakan gambar tanpa mengubah rasio aspek.

Contoh iklan instal aplikasi

video native

Template iklan konten video

Kolom Deskripsi Wajib atau Direkomendasikan? Selalu ditampilkan? Ukuran gambar yang direkomendasikan/jumlah maksimum karakter * Contoh
Video Respons VAST video yang berisi semua aset yang diperlukan untuk memutar iklan video. Wajib Ya - URL ke XML VAST yang berisi Flood-It! Iklan video
Judul Header iklan Wajib Ya 25 karakter Suku bunga hipotek terendah
Gambar Gambar (thumbnail) yang ditampilkan di pemutar sebelum iklan video diklik atau saat dimuat. Wajib Tidak Harus cocok dengan rasio lebar tinggi video (misalnya: 1280x720 untuk video berukuran 16x9, 4x3 untuk video berukuran 640x480). Screenshot dari video
Body Konten iklan Wajib Tidak 90 karakter Rumah Anda di Brooklyn yang manis - lebih murah dan lebih cepat dari yang Anda kira!
Logo Logo pengiklan atau gambar kecil lain yang relevan Direkomendasikan Tidak 128x128 piksel Logo NY Mortgage Inc.
Pesan ajakan (CTA) Tindakan yang diinginkan pengguna Wajib Tidak 15 karakter Dapatkan penawaran
Pengiklan Teks yang menunjukkan pengiklan atau merek Wajib Tidak 25 karakter NY Mortgage Inc.

Kolom meta

Kolom meta berikut digunakan bersama oleh semua template iklan yang didukung:

Buffering protokol real time Authorized Buyers Setara dengan Authorized Buyers OpenRTB Deskripsi
NativeAd.click_link_url Link.url URL yang akan dipanggil oleh browser saat pengguna mengklik iklan. Dapat menjadi langkah pertama dari rantai pengalihan yang pada akhirnya mengarah ke halaman landing. Untuk iklan native, sebaiknya gunakan click_link_url sebagai kolom untuk menetapkan tujuan yang pada akhirnya akan dikunjungi pengguna. Kolom ini harus digunakan untuk halaman landing dinamis.
Ad.click_through_url Bid.adomain

Harus ditetapkan jika bidder ingin mengajukan bid. URL tersebut adalah kumpulan URL tujuan untuk cuplikan, termasuk URL yang akan dibuka pengguna jika mengklik iklan yang ditampilkan, dan semua URL yang terlihat dalam iklan yang dirender. Jangan sertakan panggilan perantara ke server iklan yang tidak terkait dengan halaman landing akhir. BidResponse yang menampilkan cuplikan atau iklan video tetapi mendeklarasikan tidak ada click_through_url akan dihapus. Hanya tetapkan kolom ini jika html_snippet, video_url, atau native_ad ditetapkan. Data ini digunakan sebagai deklarasi URL tujuan, misalnya untuk pasca-pemfilteran URL yang diblokir penayang atau kategorisasi iklan. Lihat NativeAd.click_link_url di atas saat menggunakan iklan native.

Untuk iklan non-native, iklan ini tidak digunakan untuk pelacakan klik atau fungsi iklan lainnya; hanya digunakan sebagai deklarasi URL tujuan.

Untuk iklan native, jika NativeAd.click_link_url tidak ditetapkan, nilai pertama click_through_url akan digunakan untuk mengarahkan pengguna ke halaman landing. Selain itu, semua nilai digunakan sebagai deklarasi URL tujuan (serupa dengan kasus non-native).

NativeAd.click_tracking_urls Link.clicktrackers Opsional. URL tambahan yang memungkinkan pengiklan melacak klik pengguna pada iklan.
Ad.ad_choices_destination_url BidExt.ad_choices_destination_url Tautkan ke halaman preferensi atau ketidakikutsertaan iklan. Jika ada, ikon AdChoices standar akan ditambahkan ke materi iklan native dan ditautkan ke URL ini. Dukungan ini didukung untuk iklan native, tetapi bukan bagian dari pesan native dalam respons bid.
Ad.impression_tracking_url NativeResponse.imptrackers Tayangan native harus dilacak dengan impression_tracking_url di proto bidding real-time Authorized Buyers atau imptracker Native di OpenRTB.

required_fields dan recommended_fields ditentukan oleh penayang. Kami menunjukkan cara menerjemahkan kolom bit ini untuk menentukan apakah kolom tersebut wajib diisi atau direkomendasikan.

Kolom bit menggunakan setiap bit nilai biner untuk menyimpan pernyataan benar atau salah, yang setara dengan mengirim banyak sinyal boolean seperti is_logo_required, is_header_required, dll., tetapi semuanya dikemas bersama-sama.

Contoh

Untuk contoh ini, kita akan menggunakan nilai required_fields 1085.

Pertama, temukan nilai biner yang setara: 10000111101

Setelah mendapatkan nilai biner, Anda dapat memeriksa bit untuk mengetahui apakah kolom diperlukan (1) atau tidak diperlukan (0).

Tabel di bawah ini memetakan kolom ke tempatnya dalam nilai biner. Membaca biner dari kanan ke kiri, dengan 1-bit sesuai dengan tempat paling kanan dalam nilai biner.

Kolom Penempatan nilai biner (kanan ke kiri)
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

Dengan melihat contoh nilai biner 10000111101, 1-bit (paling kanan) adalah 1, yang menandakan nilai yang diperlukan. Menurut tabel, 1-bit sesuai dengan HEADLINE.

2-bit (nilai kedua dari kanan) adalah 0 yang berarti tidak diperlukan. 2-bit sesuai dengan BODY.

Berikut adalah semua kolom wajib diisi yang ditafsirkan dalam contoh kami:

Nilai Deskripsi Wajib diisi?
1 VIDEO Ya
0 STORE Tidak
0 PRICE Tidak
0 STAR_RATING Tidak
0 APP_ICON Tidak
1 LOGO Ya
1 IMAGE Ya
1 ADVERTISER Ya
1 CALL_TO_ACTION Ya
0 BODY Tidak
1 HEADLINE Ya

Pesan NativeAdTemplate

Saat menerima permintaan bid yang berisi inventaris native, permintaan tersebut akan berisi BidRequest.adSlot[].native_ad_template yang terisi. Pesan NativeAdTemplate memberikan spesifikasi untuk:

  • Kolom yang wajib diisi atau direkomendasikan.
  • Dimensi untuk gambar, logo, dan ikon aplikasi.
  • Spesifikasi untuk gaya yang digunakan untuk merender iklan.
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;

  // ...
}

Pesan NativeAd

Saat mengajukan bid pada inventaris native, pembeli harus mengisi BidResponse.ad[].native_ad dengan kolom wajib diisi yang dideklarasikan di BidRequest.adSlot[].native_ad_template yang sesuai.

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

Contoh permintaan bid

Permintaan bid non-video

Google

JSON OpenRTB

Protobuf OpenRTB

Permintaan bid video

Contoh respons bid

Perlu diperhatikan bahwa nilai dalam respons ini tidak dimaksudkan untuk cocok dengan permintaan terkait di atas. Namun, jika template dalam permintaan menyarankan kolom wajib/opsional, respons di sini akan mematuhi persyaratan tersebut.

Respons bid non-video

Google

JSON OpenRTB

Protobuf OpenRTB

Respons bid video