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:
- 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.
- Google, alıcılara, istenen alanların listesini içeren bir GZT teklif isteği gönderir.
- İlgilenen alıcılar istenen alanları doldurarak yanıt verir.
- 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.
- 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:
- Uygulama yükleme reklamı şablonu: Mobil uygulama yüklemelerini tanıtın ve artırın.
- İçerik reklam şablonu - Marka veya web reklamları için daha genel bir metin ve resim kombinasyonu.
- Uygulama yükleme video reklamı şablonu
- Video içeriği reklam şablonu
Başka şablonlar mevcuttur ve alanlar, boyutlar ve boyutlar için farklı gereksinimleri olabilir.
Uygulama yükleme reklamı şablonu
Zorunlu ve önerilen alanlar
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
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 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_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. |
Zorunlu ve önerilen alanlar
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
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.