Doğal reklamlar

Yerel reklamlar, çevreleyen içeriğe ve görsel tasarıma uyacak şekilde biçimlendirilmiş reklamlardır. Bu sayede, kullanıcıların bunları görüntüleme ve tıklama olasılığı artar. Yerel reklam envanteri, masaüstü ve mobil web sitelerinin yanı sıra mobil uygulamalarda da kullanılabilir. Doğal reklamlar hakkında daha fazla bilgi için Yerel reklamlara genel bakış konusuna bakın.

Yerel reklamlar hem Authorized Buyers hem de Open Bidding için desteklenir.

Yerel reklamlar için iş akışı şöyledir:

  1. Google'a yerel reklam çağrısı yapılır. Çağrı, aşağıdaki yerel reklam şablonlarından birini veya her ikisini de belirtir ve her biri tercih edilen yerel alanları belirtir.
  2. Google, alıcılara, istenen alanların listesini içeren bir GZT teklif isteği gönderir.
  3. İlgilenen alıcılar istenen alanları doldurarak yanıt verir.
  4. Google, kazanan teklifi seçmek için bir açık artırma gerçekleştirir ve alıcının sağladığı reklam öğelerini yayıncıya gönderir.
  5. Yayıncı, öğeleri bir yerel reklamda derler ve sitenin tasarımına uyacak şekilde biçimlendirir.

Mesaj biçimleri

Google, hem JSON hem de Protobuf'ta OpenRTB spesifikasyonunu destekler.

OpenRTB Protokol Arabelleği doğal reklamları için aşağıdaki alanlar spesifikasyondan farklıdır:

JSON spesifikasyonu
(PROTOCOL_OPENRTB_2_4)
JSON türü OpenRTB uygulaması
(PROTOCOL_OPENRTB_PROTOBUF_2_4)
OpenRTB türü
BidRequest.imp[].native.request string BidRequest.imp[].native.request_native NativeRequest
BidResponse.seatbid[].bid[].adm string BidResponse.seatbid[].bid[].adm_native NativeResponse

OpenRTB alanları, dize yerine Protobuf mesajlarıdır.

OpenRTB Protokol Arabelleği uygulamasını kullanırsanız BidRequest.imp[].native.request almazsınız ve BidResponse.seatbid[].bid[].adm_native ile yanıt vermeniz gerekir. BidResponse.seatbid[].bid[].adm içeren teklif yanıtları filtrelenir. OpenRTB Protokol tampon teklif yanıtları için öğe kimlikleri gerekli değildir.

Doğal reklamlar oluşturmak için bir alıcı SDK'sı kullanıyorsanız reklam öğelerini incelemeye gönderirken declared_ad bölümüne bir resim type eklemeniz gerekir.

Yerel reklam şablonları

Google, video olmayan ve video yerel reklamlar için en yaygın iki yerel reklam şablonunu destekler:

Başka şablonlar mevcuttur ve alanlar, boyutlar ve boyutlar için farklı gereksinimleri olabilir.

Uygulama yükleme reklamı şablonu

Aşağıdaki tablolarda Zorunlu veya Önerilen etiketli alanlar gösterilmektedir. Aşağıdaki kurallar geçerlidir:

  • Zorunlu olarak işaretlenmiş alanlar, teklif veren tarafından zorunlu kılınır.
  • Önerilen olarak işaretlenmiş alanlar teklif veren tarafından zorunlu tutulmaz ve yayıncı, sağlanmışsa bunları (örneğin, yıldız puanı) gösterebilir veya göstermeyebilir.
  • Harekete Geçirici Mesaj (CTA) her zaman Önerilir olarak işaretlenir. Bunun nedeni, teklif veren tarafından gönderilmemesi durumunda varsayılan olarak atanmasıdır. Ancak bu mesaj gönderilirse her zaman gösterilir.

Aşağıdaki tabloda bir uygulama yükleme reklam şablonunun alanları listelenmiştir. Mobil uygulamalar, yerel uygulama yükleme reklamları oluşturmak için bu alanları kullanır.

Alan Açıklama Zorunlu mu, Önerilir mi? Her zaman gösteriliyor mu? Önerilen resim boyutu/maksimum karakter sayısı Örnek
Başlık Uygulama başlığı Gerekli Evet 25 karakter Flood-It!
Resim Uygulamadan bir ekran görüntüsü veya başka bir alakalı resim Gerekli Hayır Yayıncının gerektirdiği en boy oranına bağlı olarak 1.200 piksel x 627 piksel veya 600 piksel x 600 piksel. <Flood-It oyunundan bir ekran görüntüsü>
Metin Uygulamanın ana metni Gerekli Hayır 90 karakter Aldatıcı basitlik, cezbedici derecede zorlayıcı = keyifli ve bağımlılık yapıcı.
Uygulama simgesi Uygulama simgesi Gerekli Hayır 128 x 128 piksel <Flood-it! uygulama simgesi>
Harekete geçirici mesaj Tercih edilen kullanıcı işlemi Önerilen Evet 15 karakter Yükle
Yıldızlı değerlendirme Uygulamanın uygulama mağazasındaki puanını gösteren yıldız sayısı (0 - 5) Önerilen Hayır 0 - 5 4.5
Fiyat Uygulamanın maliyeti Önerilen Hayır 15 karakter Ücretsiz

Metin uzunluğuyla ilgili notlar

Alıcı, önerilen maksimum karakter sayısından daha uzun bir metin öğesi (ör. gövde metni) gönderirse metin Google veya yayıncı tarafından kısaltılabilir ve eliptik hale getirilebilir. Kesme sınırlarının Çince, Japonca ve Korece dillerinde yarısı kadar olduğunu unutmayın. Örneğin, başlık sınırı İngilizce için 90, Çince için 45'tir.

Resim boyutuyla ilgili notlar

Yayıncıların şunları yapmasına izin verilir:

  • Ana resmi tek bir boyutta (yükseklik veya genişlik) %20'ye kadar simetrik olarak kırpın.
  • En boy oranını değiştirmeden resmi ölçeklendirin.
  • En boy oranları, yükseklik ve genişlikle belirtilenden çok farklı olan görüntüler filtrelenebilir.

İçerik reklamı şablonu

Aşağıdaki tabloda, içerik reklamı şablonunun alanları listelenmiştir. Yayıncılar, yerel içerik reklamları oluşturmak için bu alanları kullanır.

Alan Açıklama Zorunlu mu, Önerilir mi? Her zaman gösteriliyor mu? Önerilen resim boyutu/maksimum karakter sayısı * Örnek
Başlık Reklam başlığı Gerekli Evet 25 karakter En düşük konut kredisi oranları
Resim Reklamın birincil resmi Gerekli Hayır Yayıncının gerektirdiği en boy oranına bağlı olarak 1.200 piksel x 627 piksel veya 600 piksel x 600 piksel. <Reklamın ana resmi>
Metin Reklam içeriği Gerekli Hayır 90 karakter Brooklyn'in güzel evi. Düşündüğünüzden daha ucuz ve erken!
Logo Reklamverenin logosu veya alakalı başka bir küçük resim Önerilen Hayır 128 x 128 piksel <NY Mortgage Inc. logosu>
Harekete geçirici mesaj Kullanıcının tercih ettiği işlem Önerilen Hayır 15 karakter Teklif al
Reklamveren Reklamvereni veya markayı belirten metin Gerekli Hayır 25 karakter NY Mortgage Inc.

Uygulama yükleme video reklamı şablonu

Alan Açıklama Zorunlu mu, Önerilir mi? Her zaman gösteriliyor mu? Önerilen resim boyutu/maksimum karakter sayısı * Örnek
Video Video reklam oynatmak için gerekli tüm öğeleri içeren video VAST yanıtı. Gerekli Hayır - Flood-It! içeren bir VAST XML URL'si Video reklam
Başlık Uygulama başlığı Gerekli Evet 25 karakter Flood-It!
Resim Video reklam tıklanmadan önce veya yüklenirken oynatıcıda gösterilen resim (küçük resim). Gerekli Hayır Videonun en boy oranıyla uyumlu olmalıdır (örneğin: 16x9 video için 1280x720, 640x480 video için 4x3). Flood-It! oyunundan bir ekran görüntüsü Alternatif olarak, video
Metin Uygulamanın ana metni Gerekli Hayır 90 karakter Aldatıcı basitlik, cezbedici derecede zorlayıcı = keyifli ve bağımlılık yapıcı.
Uygulama simgesi Uygulama simgesi Gerekli Hayır 128 x 128 piksel Flood-it! uygulama simgesi
Harekete geçirici mesaj Tercih edilen kullanıcı işlemi Gerekli Evet 15 karakter Yükle
Yıldızlı değerlendirme Uygulamanın uygulama mağazasındaki puanını gösteren yıldız sayısı (0 - 5) Önerilen Hayır 0 - 5 4.5
Fiyat Uygulamanın maliyeti Önerilen Hayır 15 karakter Ücretsiz

Kısıtlamalar

  • Video: Tüm video, VAST URL'si veya VAST Etiketi biçiminde olmalıdır. WebM, MP4 vb. gibi bir ham video dosyası belirlenemez.

  • Metin uzunluğu: Alıcı yanıtta body gibi bir metin öğesi belirtirse bu öğe Google veya yayıncı tarafından kesilip üç parçalanabilir. Kesme sınırlarının Çince, Japonca ve Korece dillerinde yarısı kadar olduğunu unutmayın. Örneğin, başlık sınırı İngilizce için 90, Çince için 45'tir.

  • Resim boyutu: Yayıncıların şunları yapmasına izin verilir:

    • Ana resmi tek bir boyutta (yükseklik veya genişlik) %20'ye kadar simetrik olarak kırpın.
    • En boy oranını değiştirmeden resmi ölçeklendirin.

Uygulama yükleme reklamı örneği

yerel video

Video içerik reklamı şablonu

Alan Açıklama Zorunlu mu, Önerilir mi? Her zaman gösteriliyor mu? Önerilen resim boyutu/maksimum karakter sayısı * Örnek
Video Video reklam oynatmak için gerekli tüm öğeleri içeren video VAST yanıtı. Gerekli Evet - Flood-It! içeren bir VAST XML URL'si Video reklam
Başlık Reklam başlığı Gerekli Evet 25 karakter En düşük konut kredisi oranları
Resim Video reklam tıklanmadan önce veya yüklenirken oynatıcıda gösterilen resim (küçük resim). Gerekli Hayır Videonun en boy oranıyla uyumlu olmalıdır (örneğin: 16x9 video için 1280x720, 640x480 video için 4x3). Videodan bir ekran görüntüsü
Metin Reklam içeriği Gerekli Hayır 90 karakter Brooklyn'in güzel evi. Düşündüğünüzden daha ucuz ve erken!
Logo Reklamverenin logosu veya alakalı başka bir küçük resim Önerilen Hayır 128 x 128 piksel NY Mortgage Inc. logosu
Harekete geçirici mesaj Kullanıcının tercih ettiği işlem Gerekli Hayır 15 karakter Teklif al
Reklamveren Reklamvereni veya markayı belirten metin Gerekli Hayır 25 karakter NY Mortgage Inc.

Meta alanlar

Aşağıdaki meta alanlar, desteklenen tüm reklam şablonları tarafından paylaşılır:

Authorized Buyers gerçek zamanlı protokol arabelleği Authorized Buyers OpenRTB Eşdeğeri Açıklama
NativeAd.click_link_url Link.url Kullanıcı reklamı tıkladığında tarayıcı tarafından çağrılacak URL. Bu, sonuçta açılış sayfasına yönlendiren bir yönlendirme zincirinin ilk adımı olabilir. Yerel reklamlarda, kullanıcının nihai olarak gideceği hedefi belirlemek için alan olarak click_link_url kullanmanızı öneririz. Dinamik açılış sayfaları söz konusu olduğunda bu alanın kullanılması zorunludur.
Ad.click_through_url Bid.adomain

Teklif veren teklif vermeyi düşünüyorsa ayarlanmalıdır. Bu, gösterilen reklamı tıklayan kullanıcıların gideceği URL'ler ve oluşturulan reklamda görünen tüm URL'ler dahil olmak üzere snippet için hedef URL grubudur. Reklam sunucusuna, nihai açılış sayfasıyla ilgisi olmayan ara çağrılar eklemeyin. Snippet veya video reklam döndüren ancak click_through_url belirtmeyen bir teklif yanıtı silinir. Bu alanı yalnızca html_snippet, video_url veya native_ad ayarlanmışsa ayarlayın. Bu veriler, örneğin yayıncı tarafından engellenen URL'lerin son filtrelenmesi veya reklam kategorileri için hedef URL bildirimi olarak kullanılır. Doğal reklamları kullanırken yukarıdaki NativeAd.click_link_url inceleyin.

Yerel olmayan reklamlarda tıklama izleme veya diğer reklam işlevleri için kullanılmaz; yalnızca hedef URL bildirimi olarak kullanılır.

Yerel reklamlarda NativeAd.click_link_url ayarlanmazsa kullanıcıyı açılış sayfasına yönlendirmek için ilk click_through_url değeri kullanılır. Ayrıca, tüm değerler hedef URL bildirimleri olarak kullanılır (yerel olmayan büyük/küçük harfe benzer).

NativeAd.click_tracking_urls Link.clicktrackers İsteğe bağlı. Reklamverenlerin reklamdaki kullanıcı tıklamalarını izlemesine olanak tanıyan ek URL'ler.
Ad.ad_choices_destination_url BidExt.ad_choices_destination_url Reklam tercihleri veya kapsam dışında kalma sayfasına bağlantı oluşturun. Varsa yerel reklam öğesine standart bir Reklam Seçenekleri simgesi eklenir ve bu URL'ye bağlanır. Bu, yerel reklamlar için desteklenir ancak teklif yanıtındaki yerel mesajın parçası değildir.
Ad.impression_tracking_url NativeResponse.imptrackers Yerel gösterim, Authorized Buyers gerçek zamanlı teklif verme protokolünde impression_tracking_url veya OpenRTB'deki Yerel gösterim izleyiciler ile izlenmelidir.

required_fields ve recommended_fields yayıncı tarafından belirtilir. Bir alanın gerekli olup olmadığını veya önerilip önerilmediğini belirlemek için bu bit alanlarının nasıl çevrileceğini göstereceğiz.

Bit alanı, doğru veya yanlış ifadesini depolamak için ikili değerin her bir bitini kullanır. Bu, is_logo_required, is_header_required gibi ancak tümü birlikte paketlenmiş birçok boole sinyali göndermekle eşdeğerdir.

Örnek

Bu örnekte 1085 required_fields değerini kullanacağız.

Öncelikle eşdeğer ikili değeri bulun: 10000111101

İkili değere sahip olduktan sonra, bir alanın gerekli (1) veya zorunlu değil (0) olup olmadığını görmek için bitleri kontrol edebilirsiniz.

Aşağıdaki tablo, alanları ikili değerdeki yerleriyle eşleştirir. İkili kodu sağdan sola doğru okuyun. 1 bit değeri, ikili değerde en sağdaki yere karşılık gelir.

Alan İkili değer yerleşimi (sağdan sola)
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

10000111101 olan örnek ikili değere bakıldığında, 1 bitlik (en sağda) 1 değeridir ve gerekli bir değeri ifade eder. Tabloya göre, 1 bit, HEADLINE değerine karşılık gelir.

2 bit (sağdan ikinci değer), gerekli değil anlamına gelen 0 değeridir. 2 bit, BODY değerine karşılık gelir.

Örneğimizdeki yorumlanan tüm zorunlu alanları burada bulabilirsiniz:

Değer Açıklama Zorunlu mu?
1 VIDEO Evet
0 STORE Hayır
0 PRICE Hayır
0 STAR_RATING Hayır
0 APP_ICON Hayır
1 LOGO Evet
1 IMAGE Evet
1 ADVERTISER Evet
1 CALL_TO_ACTION Evet
0 BODY Hayır
1 HEADLINE Evet

NativeAdTemplate mesajı

Yerel envanter içeren bir teklif isteği alındığında bu istek, doldurulmuş bir BidRequest.adSlot[].native_ad_template öğesi içerecektir. NativeAdTemplate mesajında şu özellikler yer alır:

  • Zorunlu veya önerilen alanlar.
  • Resimler, logolar ve uygulama simgeleri için boyutlar.
  • Reklamın oluşturulduğu stile ilişkin özellikler.
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 mesajı

Yerel envanter için teklif verirken alıcı, BidResponse.ad[].native_ad alanını ilgili BidRequest.adSlot[].native_ad_template içinde belirtilen gerekli alanlarla doldurmalıdır.

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

Örnek teklif istekleri

Video olmayan teklif istekleri

Google

OpenRTB JSON

OpenRTB Protokol Arabelleği

Video teklif istekleri

Örnek teklif yanıtları

Bu yanıttaki değerlerin, yukarıdaki karşılık gelen isteklerle eşleşmesinin amaçlanmadığını unutmayın. Bununla birlikte, istekteki şablon zorunlu/isteğe bağlı alanları öneriyorsa buradaki yanıtlar bu şartlara uyar.

Video olmayan teklif yanıtları

Google

OpenRTB JSON

OpenRTB Protokol Arabelleği

Video teklif yanıtları