Uygulamanız, Google'dan gelen teklif isteğini işledikten sonra bir yanıt oluşturmalı ve göndermelidir. Bu kılavuzda, yanıtı oluşturmak için uygulamanızı nasıl kodlayacağınız açıklanmaktadır.
Protobuf BidResponse mesajı oluşturma
Authorized Buyers, BidRequest
öğesini bir HTTP POST
mesajının gövdesi olarak gönderir. Teklif uç noktanız Protobuf biçimini kullanacak şekilde yapılandırılmışsa uygulamanız, Content-Type
üst bilgisi application/octet-stream
olarak ayarlanmış ve serileştirilmiş bir protokol arabelleğinden oluşan bir mesaj gövdesi içeren bir yanıt göndermelidir. Protokol arabelleği, openrtb.proto
'te tanımlandığı şekilde bir BidResponse
mesajıdır. Uygulamanız her BidRequest
için ayrıştırılabilir bir BidResponse
döndürmelidir. Zaman aşımları ve ayrıştırılamayan yanıtlar hata olarak kabul edilir ve Google, hata oranları yüksek olan teklif verenleri kısıtlar.
Bir gösterim için teklif vermek istemiyorsanız boş bir HTTP 204 yanıtı döndürmeniz gerekir. openrtb.proto
değerini referans verileri sayfasından edinebilirsiniz.
Reklam Öğesi Kimliği
BidResponse
, BidResponse.seatbid.bid.crid
alanı aracılığıyla bir reklam öğesi belirtir (64 bayt sınırı). Benzer reklam öğeleri bile boyut, beyan edilen URL, reklam öğesi özellikleri ve tedarikçi firma türleri dahil ancak bunlarla sınırlı olmamak üzere herhangi bir belirgin özellikte farklılık gösteriyorsa bu alan için benzersiz değerlere sahip olmalıdır. Başka bir deyişle, aşağıdaki özelliklere sahip iki reklama farklı reklam öğesi kimlikleri vermeniz gerekir:
- Farklı görünmek veya farklı davranmak
- Farklı resimler oluşturabilirsiniz.
- Farklı yöntemlerle oluşturulur (ör. bir reklam resimden, diğeri videodan oluşur).
Uygulamanızı tasarlarken, göndermeyi planladığınız reklam öğesi türleri için anlamlı olan, sistematik bir tanımlayıcılar oluşturma yöntemine karar vermelisiniz.
Reklam özellikleri
Google, reklamınızın özelliklerini ve hedeflemesini açıklamak için BidResponse.seatbid.bid.apis
ile BidResponse.seatbid.bid.attr
'nin bir kombinasyonunu veya BidResponse.seatbid.bid.ext.attribute
uzantısını kullanarak reklam öğesi özelliklerini belirtmenizi önerir. Aşağıda, özellikleri nasıl tanımlayabileceğiniz açıklanmaktadır:
VPAID
BidResponse.seatbid.bid.apis
öğesiniVPAID_1
veyaVPAID_2
olarak ayarlayın. JSON biçimi için bu, sırasıyla1
veya2
olarak ayarlanabilir.MRAID
BidResponse.seatbid.bid.apis
öğesiniMRAID_1
veya JSON biçimi için3
olarak ayarlayın.SIZELESS
BidResponse.seatbid.bid.attr
öğesiniRESPONSIVE
veya JSON biçimi için18
olarak ayarlayın.PLAYABLE
Bu,BidResponse.seatbid.bid.attr
değerininUSER_INTERACTIVE
olarak ayarlanmasıyla veya JSON biçimi için13
olarak ayarlanmasıyla belirtilir.
Reklam öğelerinizin algılanan özellikleriyle ilgili geri bildirim alma hakkında açıklama için Reklam öğeleri kaynağına bakın.
Open Bidding alanları
Open Bidding'e katılan exchange ve ağ teklif verenleri tarafından gönderilen teklif yanıtları, standart gerçek zamanlı teklif vermeye katılan Authorized Buyers'ın yanıtlarına benzer. Open Bidding müşterileri az sayıda ek alan belirtebilir ve mevcut birkaç alanın alternatif kullanımları olabilir. Bu politikalar aşağıdakileri içerir:
OpenRTB | Authorized Buyers | Ayrıntılar |
---|---|---|
BidResponse.imp[].pmp.deals[].id |
BidResponse.ad[].adslot[].exchange_deal_id |
Exchange'in ad alanından, bu teklifle ilişkilendirilen ve yayıncılara bildirilen anlaşma kimliği. |
BidResponse.seatbid[].bid[].ext.exchange_deal_type |
BidResponse.ad[].adslot[].exchange_deal_type |
Yayıncılara bildirilen anlaşma türü. Anlaşmanın açık artırmada nasıl ele alınacağını etkiler. |
BidResponse.seatbid[].bid[].ext.third_party_buyer_token |
BidResponse.ad[].adslot[].third_party_buyer_token |
Open Bidding kullanıcısı olarak exchange bir aracıysa nihai üçüncü taraf alıcı bilgilerini tanımlamak için kullanılan jeton. Bu değer, üçüncü taraf alıcıdan alınır ve teklif yanıtında Google'a değiştirilmeden aktarılmalıdır. |
Öneriler
- Sunucularınızda kalıcı HTTPS bağlantılarını ("keep-alive" veya "bağlantı yeniden kullanımı" olarak da bilinir) etkinleştirin. Zaman aşımını en az 10 saniyeye ayarlayın. Birçok durumda daha yüksek değerler faydalıdır. Authorized Buyers yüksek hızda istek gönderdiği ve her istek için ayrı bir TCP bağlantısı oluşturmanın gecikmesi yükünü önlemesi gerektiği için Google, uygulamanızın ilk gecikme testleri sırasında bunu doğrular.
Teklif verenin kazandığı zaman yerine gösterimin oluşturulduğu zamanı izlemek için isteğe bağlı gösterim izleme URL'sini ekleyin. Kazanma ve oluşturma işlemleri arasındaki düşüş nedeniyle bu yöntem, daha doğru izleme istatistikleri sağlar.
- Teklif veren kodunuzu, tekliflerinizin hatalarla başarısız olmasına neden olabilecek desteği sonlandırılmış alanlara bağımlı olmaktan uzak tutun.
BidResponse
dosyanızaBidResponse.seatbid.bid.w
veBidResponse.seatbid.bid.h
ekleyin. Birden fazla reklam boyutu içeren bir istek içinBidResponse
bu alanları içermelidir. Aksi takdirde açık artırmadan çıkarılır.- Yanıtınızın boyutunu 8 KB'nın altında tutun. Çok büyük yanıtlar ağ gecikmesini artırabilir ve zaman aşımına neden olabilir.
- iOS envanterinde SKAdNetwork ilişkilendirmesi gerektiren tekliflerle ilgili yönergeleri uygulayın.
Örnek teklif yanıtı
Aşağıdaki örnekler, Protobuf ve JSON isteklerinin insan tarafından okunabilen örneklerini temsil etmektedir.
Örneği göster
Serileştirilmiş yanıtid: "9u09jhHJXT2fbaDZ9V1x66" seatbid { bid { id: "37Td8Gbw1Lr8161bA4B" impid: "1" price: 0.075 adm: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adomain: "google.com" adomain: "google.com" crid: "test_creative_id_156129" cat: "IAB22" w: 320 h: 50 language: "es" slotinpod: SLOT_POSITION_POD_ANY cattax: IAB_CONTENT_1_0 [com.google.doubleclick.bid] { impression_tracking_url: "https://test.com/impression?id=123456" exchange_deal_type: OPEN_AUCTION event_notification_token { payload: "token" } billing_id: 61560909063 } } seat: "4778:9251:780612" } cur: "USD"
Örneği göster
{ "id": "9u09jhHJXT2fbaDZ9V1x66", "seatbid": [ { "bid": [ { "id": "37Td8Gbw1Lr8161bA4B", "impid": "1", "price": 0.075, "adm": "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>", "adomain": [ "google.com", "google.com" ], "crid": "test_creative_id_156129", "cat": [ "IAB22" ], "w": 320, "h": 50, "language": "es", "slotinpod": 0, "cattax": 1, "ext": { "impression_tracking_url": [ "https://test.com/impression?id=123456" ], "exchange_deal_type": 0, "event_notification_token": { "payload": "token" }, "billing_id": "61560909063" } } ], "seat": "4778:9251:780612" } ], "cur": "USD" }
Örneği göster
Serileştirilmiş yanıtad { html_snippet: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adslot { id: 1 max_cpm_micros: 226722 billing_id: 78614473201 currency: "USD" } click_through_url: "google.com" attribute: 105 buyer_creative_id: "test_creative_id_827359" width: 336 height: 280 impression_tracking_url: "https://test.com/imp?id=123456" event_notification_token: "token" }
Önemli: Örneklerde gösterilen Protobuf mesajları burada kullanıcı tarafından okunabilir metin olarak temsil edilmiştir. Ancak mesajlar kablo üzerinden bu şekilde gönderilmez. Google veya OpenRTB Protobuf biçimi kullanıldığında yalnızca serileştirilmiş BidResponse mesajları kabul edilir.
Aşağıdaki C++ kodunu kullanarak bir BidResponse
mesajı oluşturup seri hale getirebilirsiniz:
BidResponse bid_response; // fill in bid response with bid information string post_response; if (bid_response.SerializeToString(&post_response)) { // respond to the POST with post_response as the content } else { // return an error to the POST }
Reklam öğesini belirtme
Teklif yanıtınız, teklifiniz kazanırsa yayınlanacak reklam öğesini belirtir. Teklifiniz, desteklenen reklam biçimlerinden (AMP, video, yerel) birini içermelidir. Bu örnekte, html_snippet
alanını kullanarak reklam öğesini belirtiyoruz.
Alternatif olarak, reklam biçimine bağlı olarak aşağıdaki alanlardan birini kullanarak reklam öğenizi belirtebilirsiniz:
- SDK tarafından oluşturulan reklam
BidResponse.seatbid.bid.ext.sdk_rendered_ad
- AMP
BidResponse.seatbid.bid.amp_ad_url
- Video
BidResponse.seatbid.bid.adm
- Yerel
BidResponse.seatbid.bid.adm_native
BidResponse.seatbid.bid.adm
alanında bir HTML snippet'i kullanarak kendi sunucularınızda barındırılan bir reklam belirtin. Snippet, web sayfasına eklenen bir iFrame içine yerleştirilir. Bu sayede sayfa yüklendiğinde reklam alınır ve oluşturulur. HTML snippet'ini, reklamın (banner veya geçiş reklamı) bir iFrame içinde doğru şekilde ve teklif verdiğiniz reklam alanı için uygun boyutta oluşturulacak şekilde oluşturmanız gerekir.
Ayrıca, teklif yanıtında belirtilen reklam boyutu aşağıdaki durumlarda teklif isteklerindeki boyut kombinasyonlarından biriyle tam olarak eşleşmelidir:
- Reklam, normal bir banner'dır (video, yerel veya geçiş reklamı değildir).
- Teklif veren, boyutu teklif yanıtında belirtmiştir. İstekte birden fazla boyut varsa boyut beyanı gereklidir.
- Geçiş reklamları için istisna uygulanır. Geçiş reklamlarının genişliği, ekran genişliğinin en az% 50'si, yüksekliği ise ekran yüksekliğinin en az% 40'ı kadar olmalıdır.
Düzgün şekilde oluşturulan herhangi bir geçerli HTML kodunu kullanarak bir HTML snippet'i reklam öğesi olarak belirtebilirsiniz. Ancak BidResponse mesajı oluştur bölümünde crid
alanını belirtmeyle ilgili kısıtlamaları göz önünde bulundurun.
Bunun bir kullanım alanı, reklamın oluşturulması kapsamında sunucularınızdan alınan URL'lerin bağımsız değişkenlerine ek bilgiler eklemektir. Bu sayede, gösterimle ilgili rastgele verileri kendi sunucularınıza iletebilirsiniz.
Teklif yanıtlarında döndürülen HTML snippet'leriyle ilgili politikaların çoğu, üçüncü taraf reklamlarla aynıdır. Daha fazla bilgi için Authorized Buyers Program Yönergeleri, Üçüncü taraf reklam yayınlama koşulları ve Reklamlarda tıklama URL'lerini beyan etme başlıklı makalelere bakın.
Makroları belirtme
Makrolar, reklam sunma zamanında ilgili bir değerle değiştirilen URL'ler içeren bazı teklif yanıtı alanlarına yerleştirilmiş biçimlendirilmiş metindir. Örneğin, kazanan teklifiniz teklifinizle birlikte eklenen HTML snippet'i reklam öğesinde AUCTION_PRICE
makrosunu içeriyorsa makro, açık artırmadaki gösterim için ödediğiniz tutarı belirlemek üzere şifresini çözebileceğiniz bir değerle değiştirilir.
Aşağıdaki alanlara makro ekleyebilirsiniz:
-
BidResponse.seatbid.bid.adm
HTML snippet'i, yerel, video URL'si ve video VAST XML biçimleri için makrolar desteklenir.
-
BidResponse.seatbid.bid.adm_native.eventtrackers.url
-
BidResponse.seatbid.bid.adm_native.imptrackers
-
BidResponse.seatbid.bid.ext.amp_ad_url
AMP reklam öğeleri için yalnızca Google'a özgü
WINNING_PRICE
veWINNING_PRICE_ESC
makroları desteklenir. -
BidResponse.seatbid.bid.burl
-
BidResponse.seatbid.bid.ext.impression_tracking_url
Birden fazla faturalandırma URL'sine ihtiyacınız varsa
BidResponse.seatbid.bid.burl
yerine bunu kullanın.
Örneğin, reklam öğesini almak için kullanılan URL'ye ${MACRO}
öğesini yerleştirerek bir HTML snippet'i kapsamında makro ekleyebilirsiniz. Burada MACRO
, OpenRTB spesifikasyonunda açıklanan desteklenen makrolardan biridir.
Google RTB makroları
Google, OpenRTB spesifikasyonunda bulunanların dışında ek makroları destekler. Bunlar farklı şekilde biçimlendirilir ve bir URL'ye yerleştirilirse %%MACRO%%
olarak görünür. Aşağıdaki tabloda bu makrolar açıklanmaktadır:
Makro | Açıklama |
---|---|
ADVERTISING_IDENTIFIER |
Alıcıların gösterim oluşturma sırasında iOS IDFA'sını veya Android'in reklam kimliğini almasına olanak tanır. Ayrıntılar için Reklamveren Tanımlayıcılarının Şifresini Çözme başlıklı makaleye bakın. |
CACHEBUSTER |
Rastgele, işaretsiz, dört baytlık bir tam sayının dize temsili. |
CLICK_URL_UNESC |
Reklamın çıkış karaktersiz tıklama URL'si. Kırpıntıda, üçüncü taraf tıklama URL'sinin koddan kaçan bir sürümü doğrudan makroyu izlemelidir. Örneğin, üçüncü taraf tıklama URL'si <a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a> Reklam sunma zamanında bu değer şu şekilde genişletilir: <a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a> URL, tıklamayı önce Google'a kaydeder, ardından üçüncü taraf tıklama URL'sine yönlendirir. |
CLICK_URL_ESC |
Reklamın kaçan tıklama URL'si. Değeri önce başka bir sunucuya iletmeniz ve bu sunucunun da yeniden yönlendirme döndürmesi gerekiyorsa Örneğin, bir HTML snippet'inde aşağıdaki kod kullanılabilir: <a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a> Reklam sunma zamanında bu değer şu şekilde genişletilir: <a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a> Bu işlem, tıklamayı
|
CLICK_URL_ESC_ESC |
Reklamın çift kaçış karakteri eklenmiş URL'si. Değeri önce başka bir sunucuya iletmeniz ve bu sunucunun da yeniden yönlendirme döndürmesi gerekiyorsa Örneğin, aşağıdaki kod bir HTML snippet'inde kullanılabilir: <a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a> Reklam sunma zamanında bu değer şu şekilde genişletilir: <a href="http://my.otheradserver.com/click?google_click_url=http%3A%2F%2Fmy.adserver.com%2Fclick%3Fgoogle_click_url%3Dhttp%3A%2F%2Fgoogle-click-%20url%253F...%2526ad_url%253D"></a> |
SCHEME |
Teklif isteği SSL gerektirmiyorsa http: , teklif isteği SSL gerektiriyorsa https: olarak genişletilir. |
SITE |
İçerik URL'sinin URL kaçış karakteri eklenmiş alan adı veya anonim envanter için anonim kimlik. |
SITE_URL |
Kullanımdan kaldırıldı. Aynı işlevi sağlayan SITE makrosuyla değiştirildi. |
TZ_OFFSET |
Saat dilimi farkı. |
VERIFICATION |
Üretim ve reklam öğesinin doğrulama ardışık düzeninde taranması için farklı değerler. Biçim şu şekildedir:
Örneğin, bir reklam öğesi |
WINNING_PRICE |
Hesap para biriminin mikrolarında kodlanmış gösterim maliyeti (yani BGBM yerine YGBM). Örneğin, 5 ABD doları olan kazanan BGBM, 5.000.000 mikro BGBM'ye veya 5.000 mikro EBM'ye karşılık gelir. Bu durumda Bu makroyu ayrıştırmak için fiyat onaylarının şifresini çözen bir uygulama uygulamanız gerekir. Daha fazla bilgi için Fiyat Onaylarının Şifresini Çözme sayfasına bakın. |
WINNING_PRICE_ESC |
URL'den kaçan WINNING_PRICE . |
Google, üçüncü taraf tarafından yayınlanan reklamın reklam öğesinde CLICK_URL_UNESC
veya CLICK_URL_ESC
makrosunu kullanmanızı zorunlu kılar. Google, tıklama izleme için CLICK_URL
makrolarını kullanır.
Makrolarda URL kaçış karakteri olarak aşağıdaki şema kullanılır:
- Boşluk karakteri artı işaretiyle (
+
) değiştirilir. - Alfanümerik karakterler (0-9, a-z, A-Z) ve !()*,-./:_~ kümesinden karakterler değişmeden kalır.
- Diğer tüm karakterler
%XX
ile değiştirilir. BuradaXX
, karakteri temsil eden onaltılık sayıdır.
Yayıncı kısıtlamaları ve şartları
Teklif isteği, yayıncıların açık artırmadaki reklam öğelerine uyguladığı kısıtlama ve şart türleri hakkında bilgi içerir.
BidRequest.bcat
- Bu alan tarafından belirtilen engellenen kategorileri, Gerçek Zamanlı Teklif Verme API'sinin
detectedCategories
alanını kullanarak gönderilen reklam öğeleriniz için algılanan kategorilerle karşılaştırabilirsiniz.
- Bu alan tarafından belirtilen engellenen kategorileri, Gerçek Zamanlı Teklif Verme API'sinin
BidRequest.imp.ext.allowed_vendor_type
BidRequest.imp.secure
- Google tüm reklam öğeleri için SSL desteği gerektirdiğinden, pratikte bu değer her zaman
true
olarak ayarlanır.
- Google tüm reklam öğeleri için SSL desteği gerektirdiğinden, pratikte bu değer her zaman
BidRequest.imp.{audio/banner/native/video}
BidRequest.imp.{audio/banner/native/video}.api
BidRequest.imp.{audio/banner/native/video}.battr
BidRequest.imp.{audio/banner/video}.mimes
Hiçbir zaman kısıtlanmış özellik içeren bir reklamla teklif vermeyin. Tedarikçi firma türü gibi izin verilen özellikler için yalnızca tedarikçi firma türü BidRequest
içindeki allowed_vendor_type
listesinde yer alan reklamları döndürün. Teklifinize yalnızca BidRequest.imp.banner
gibi alanlar doldurularak teklif isteğinde belirtilen reklam biçimleri dahil edilmelidir. Daha fazla bilgi için BidRequest
protokol arabelleği tanımında bu alanlarla ilgili yorumlara bakın.
BidResponse
içinde bir reklam döndürülürse BidResponse
içinde BidResponse.seatbid.bid.attr
, BidResponse.seatbid.bid.cat
ve BidResponse.seatbid.bid.adomain
veya BidResponse.seatbid.bid.adm_native.link.url
alanlarını doğru şekilde ayarlamanız gerekir. Bir reklamın bu alanlar için birden fazla geçerli değeri varsa her değeri eklemeniz gerekir. Daha fazla bilgi için BidResponse
protokol arabelleği tanımında bu alanlarla ilgili yorumları inceleyin.
Bu alanların ayarlanmadığı yanıtlar yok sayılır.
Open Measurement
Open Measurement, mobil uygulama ortamlarına yayınlanan reklamlar için bağımsız ölçüm ve doğrulama hizmetleri sağlayan üçüncü taraf tedarikçi firmaları belirtmenize olanak tanır.
Desteklenen reklam biçimleri arasında video, banner ve geçiş reklamları yer alır. Bu biçimleri içeren bir teklif yanıtında Open Measurement'ın nasıl kullanılacağı hakkında daha fazla bilgi için Open Measurement SDK Yardım Merkezi makalesine bakın.
Örnek teklif yanıtları
Aşağıdaki bölümlerde, farklı reklam türleri için örnek teklif yanıtları gösterilmektedir.
Uygulama banner'ı
Örneği göster
Serileştirilmiş yanıtid: "8L85Di7e9374c3jriwo2W0" seatbid { bid { id: "0L7hx7783rjD1hT81FH" impid: "1" price: 0.4000000059604645 adm: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adomain: "google.com" crid: "test_creative_id_192654" w: 300 h: 50 burl: "https://test.com/imp?id=123456" [com.google.doubleclick.bid] { impression_tracking_url: "https://test.com/impression?id=123456" billing_id: 70614819650 skadn { version: "3.0" network: "Y8HK1z22" campaign: "72382716" itunesitem: "953637916" sourceapp: "com.google.testapp" fidelities { fidelity: VIEW_THROUGH_ADS nonce: "bf105d9a-6df9-4d49-a10d-44e21a539415" timestamp: "1730359683568" signature: "589Vb2BJlF955D6kUj197D84U8UWWtngYQ73o1SVMEcAk6ju348j0454AOxpR74j95BF13RLC119Qo73nyq2qgp4IJENP6yE" } fidelities { fidelity: STOREKIT_RENDERED_ADS nonce: "bf105d9a-6df9-4d49-a10d-44e21a539415" timestamp: "1730359683568" signature: "3Av39t8684YefY03NT715Z2dTtXQ39pQH7C9aq6Wuh4WzbS044734J7FAlw7690Nm7743G7Z4P6hX8K7H607886b7FBHTCYY" } skadn_opts { always_open_appstore: true } } app_promotion_type: INSTALLS } } seat: "4095:5416:758587" } cur: "USD" [com.google.doubleclick.bid_response] { processing_time_ms: 16 }
Örneği göster
{ "id": "8L85Di7e9374c3jriwo2W0", "seatbid": [ { "bid": [ { "id": "0L7hx7783rjD1hT81FH", "impid": "1", "price": 0.4000000059604645, "adm": "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>", "adomain": [ "google.com" ], "crid": "test_creative_id_192654", "w": 300, "h": 50, "burl": "https://test.com/imp?id=123456", "ext": { "impression_tracking_url": [ "https://test.com/impression?id=123456" ], "billing_id": "70614819650", "skadn": { "version": "3.0", "network": "Y8HK1z22", "campaign": "72382716", "itunesitem": "953637916", "sourceapp": "com.google.testapp", "fidelities": [ { "fidelity": 0, "nonce": "bf105d9a-6df9-4d49-a10d-44e21a539415", "timestamp": "1730359683568", "signature": "589Vb2BJlF955D6kUj197D84U8UWWtngYQ73o1SVMEcAk6ju348j0454AOxpR74j95BF13RLC119Qo73nyq2qgp4IJENP6yE" }, { "fidelity": 1, "nonce": "bf105d9a-6df9-4d49-a10d-44e21a539415", "timestamp": "1730359683568", "signature": "3Av39t8684YefY03NT715Z2dTtXQ39pQH7C9aq6Wuh4WzbS044734J7FAlw7690Nm7743G7Z4P6hX8K7H607886b7FBHTCYY" } ], "skadn_opts": { "always_open_appstore": 1 } }, "app_promotion_type": 1 } } ], "seat": "4095:5416:758587" } ], "cur": "USD", "ext": { "processing_time_ms": 16 } }
Örneği göster
Serileştirilmiş yanıtad { html_snippet: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adslot { id: 1 max_cpm_micros: 44095 billing_id: 99718422589 } click_through_url: "google.com" attribute: 47 attribute: 50 category: 7 buyer_creative_id: "test_creative_id_997551" advertiser_name: "Google" width: 300 height: 250 impression_tracking_url: "https://test.com/imp?id=123456" skadn { version: "4.0" network: "DofiF4X5" itunesitem: "448730563" sourceapp: "195751234" fidelities { fidelity_type: VIEW_THROUGH_ADS nonce: "a869c155-3566-475c-8cb9-d0a75159e0c5" timestamp: 1728803273481 signature: "0KXE97ri9xnW9M10NDg64r014MsN7SO5R11N29oe8h8Cuao3K477i9dFH61bKny28iA6337A6EK6T3fgR9p9EJK12qvaY96E" } fidelities { fidelity_type: STOREKIT_RENDERED_ADS nonce: "a869c155-3566-475c-8cb9-d0a75159e0c5" timestamp: 1728803273481 signature: "EF1Vj82st371O79029Q9067AL00972U3NqNG9u295r8B4681c12Se2jk34XSR8404681c9WGa9a69779CQ87o9T81Y85198C" } source_identifier: 1 } advertised_app_id: "APP_ID_OMITTED" app_promotion_type: INSTALLS } processing_time_ms: 13
Uygulama Geçiş Reklamı
Örneği göster
Serileştirilmiş yanıtid: "6700Z3L2o0zSw9g8IqmiQ5" seatbid { bid { id: "0UBHDN63xQ8hj1F8184" impid: "1" price: 0.016728 adid: "test_creative_id_179418" adm: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adomain: "google.com" crid: "test_creative_id_179418" cat: "IAB13-7" w: 300 h: 600 burl: "https://test.com/imp?id=123456" [com.google.doubleclick.bid] { billing_id: 14443955188 dsa { behalf: "TEST_ADVERTISER" paid: "TEST_PAYING_ENTITY" adrender: false } } } seat: "2054:4176:757161" group: false } bidid: "TI590379-wi3Z9CU8-6j8V-Uj0l1I102h2q" cur: "USD"
Örneği göster
{ "id": "6700Z3L2o0zSw9g8IqmiQ5", "seatbid": [ { "bid": [ { "id": "0UBHDN63xQ8hj1F8184", "impid": "1", "price": 0.016728, "adid": "test_creative_id_179418", "adm": "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>", "adomain": [ "google.com" ], "crid": "test_creative_id_179418", "cat": [ "IAB13-7" ], "w": 300, "h": 600, "burl": "https://test.com/imp?id=123456", "ext": { "billing_id": "14443955188", "dsa": { "behalf": "TEST_ADVERTISER", "paid": "TEST_PAYING_ENTITY", "adrender": 0 } } } ], "seat": "2054:4176:757161", "group": 0 } ], "bidid": "TI590379-wi3Z9CU8-6j8V-Uj0l1I102h2q", "cur": "USD" }
Örneği göster
Serileştirilmiş yanıtad { html_snippet: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adslot { id: 1 max_cpm_micros: 80117 min_cpm_micros: 0 billing_id: 12608068331 deal_id: 0 } click_through_url: "google.com" attribute: 47 buyer_creative_id: "test_creative_id_266407" advertiser_name: "Google" width: 756 height: 384 impression_tracking_url: "https://test.com/imp?id=123456" event_notification_token: "token" dsa_transparency { buyer_render: true } } processing_time_ms: 11
Uygulama geçiş reklamı videosu
Örneği göster
Serileştirilmiş yanıtid: "79N7F1708654i75q3k69j1" seatbid { bid { id: "1gR655162hOsH9q3X6R" impid: "1" price: 2.3833 adid: "test_creative_id_648299" adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" adomain: "google.com" crid: "test_creative_id_648299" attr: VIDEO_IN_BANNER_AUTO_PLAY w: 1920 h: 1080 [com.google.doubleclick.bid] { event_notification_token { payload: "token" } billing_id: 11004606416 skadn { version: "4.0" network: "O5O88B57" itunesitem: "509167749" nonce: "" sourceapp: "com.google.testapp" timestamp: "OMITTED" signature: "OMITTED" fidelities { fidelity: VIEW_THROUGH_ADS nonce: "d3be52b1-8ef6-4277-8922-54450b07fd5b" timestamp: "1730409097616" signature: "8d52E359K158Dj1u89EpLP3544Qz7B10CV0a92YZJ6JXX8d9uXi72N43ZxjRl96Ph7v8R5u1k5y9Aoy3jZcN3C5dxRU390qc" } fidelities { fidelity: STOREKIT_RENDERED_ADS nonce: "d3be52b1-8ef6-4277-8922-54450b07fd5b" timestamp: "1730409097616" signature: "43C2b79X4nPY913Qs3jJLLhCjUNZg39cK022pCE2wH731Ie7q4584b5UGG137Jh12I2R6a0e35LJbvQJbn5o564roQ7G1Mtd" } sourceidentifier: "1" } app_promotion_type: INSTALLS } } seat: "1061:9160:833989" } bidid: "m7V3rjn0-aF599ZZ6-37hA-b9o7DU8CLrtp" cur: "USD"
Örneği göster
{ "id": "79N7F1708654i75q3k69j1", "seatbid": [ { "bid": [ { "id": "1gR655162hOsH9q3X6R", "impid": "1", "price": 2.3833, "adid": "test_creative_id_648299", "adm": "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%", "adomain": [ "google.com" ], "crid": "test_creative_id_648299", "attr": [ 6 ], "w": 1920, "h": 1080, "ext": { "event_notification_token": { "payload": "token" }, "billing_id": "11004606416", "skadn": { "version": "4.0", "network": "O5O88B57", "itunesitem": "509167749", "nonce": "", "sourceapp": "com.google.testapp", "timestamp": "OMITTED", "signature": "OMITTED", "fidelities": [ { "fidelity": 0, "nonce": "d3be52b1-8ef6-4277-8922-54450b07fd5b", "timestamp": "1730409097616", "signature": "8d52E359K158Dj1u89EpLP3544Qz7B10CV0a92YZJ6JXX8d9uXi72N43ZxjRl96Ph7v8R5u1k5y9Aoy3jZcN3C5dxRU390qc" }, { "fidelity": 1, "nonce": "d3be52b1-8ef6-4277-8922-54450b07fd5b", "timestamp": "1730409097616", "signature": "43C2b79X4nPY913Qs3jJLLhCjUNZg39cK022pCE2wH731Ie7q4584b5UGG137Jh12I2R6a0e35LJbvQJbn5o564roQ7G1Mtd" } ], "sourceidentifier": "1" }, "app_promotion_type": 1 } } ], "seat": "1061:9160:833989" } ], "bidid": "m7V3rjn0-aF599ZZ6-37hA-b9o7DU8CLrtp", "cur": "USD" }
Örneği göster
Serileştirilmiş yanıtad { adslot { id: 1 max_cpm_micros: 2454000 billing_id: 95400492935 deal_id: 1 } click_through_url: "google.com" attribute: 22 attribute: 105 buyer_creative_id: "test_creative_id_716344" width: 0 height: 0 video_vast_xml: "OMITTED_VAST_XML" event_notification_token: "token" skadn { version: "4.0" network: "113tdmXM" itunesitem: "460184775" sourceapp: "751592940" fidelities { fidelity_type: STOREKIT_RENDERED_ADS nonce: "1c3ed154-33f5-4cb7-960a-3e571cb9c3b9" timestamp: 1728932156118 signature: "7m3PDLV778PZ741T2I3561kkCW3UjIp5p63989cP311iiZ2445v20HP5ymfD8ThYO7437h22075h4h9O21S8A08U1kw3qis2" } fidelities { fidelity_type: VIEW_THROUGH_ADS nonce: "1c3ed154-33f5-4cb7-960a-3e571cb9c3b9" timestamp: 1728932156118 signature: "28X90AX01Z762a3W92186a40Eb4J8ekACsYFo55J8vD445f5pcA80MH45753Iy887596gK8ax0s55ndC23eg0V7P862yS240" } source_identifier: 1 } advertised_app_id: "APP_ID_OMITTED" app_promotion_type: INSTALLS } processing_time_ms: 51
Uygulama yerel
Örneği göster
Serileştirilmiş yanıtid: "96Z599PGNvp7Mr99138Fm0" seatbid { bid { id: "NQb32Ge7Rtt84wFn2p8" impid: "1" price: 0.153584 adid: "test_creative_id_272596" adomain: "google.com" crid: "test_creative_id_272596" cat: "IAB13-7" burl: "https://test.com/imp?id=123456" adm_native { ver: "1.2" assets { id: 1 required: true title { text: "Luxury Mars Cruises" } } assets { id: 2 required: true data { value: "Visit the planet in a luxury spaceship." } } assets { id: 3 required: false data { value: "Book today" } } assets { id: 4 required: true data { value: "Galactic Luxury Cruises" } } assets { id: 5 required: true img { url: "https://native.test.com/image?id=123456" w: 1200 h: 627 } } link { url: "https://www.google.com" } eventtrackers { event: IMPRESSION method: IMG url: "https://test.com/event?id=123456" } privacy: "https://adssettings.google.com/whythisad?source=display&reasons=OMITTED" } [com.google.doubleclick.bid] { ad_choices_destination_url: "https://test.com/preferences" billing_id: 29846056590 dsa { behalf: "TEST_ADVERTISER" paid: "TEST_PAYING_ENTITY" adrender: false } } } bid { id: "4vwb23qm6iqU6w6G978" impid: "1" price: 0.153584 adid: "test_creative_id_272596" adomain: "google.com" crid: "test_creative_id_272596" cat: "IAB21" burl: "https://test.com/imp?id=123456" adm_native { ver: "1.2" assets { id: 1 required: true title { text: "Luxury Mars Cruises" } } assets { id: 2 required: true data { value: "Visit the planet in a luxury spaceship." } } assets { id: 3 required: false data { value: "Book today" } } assets { id: 4 required: true data { value: "Galactic Luxury Cruises" } } assets { id: 5 required: true img { url: "https://native.test.com/image?id=123456" w: 1200 h: 627 } } link { url: "https://www.google.com" } eventtrackers { event: IMPRESSION method: IMG url: "https://test.com/event?id=123456" } privacy: "https://adssettings.google.com/whythisad?source=display&reasons=OMITTED" } [com.google.doubleclick.bid] { ad_choices_destination_url: "https://test.com/preferences" dsa { behalf: "TEST_ADVERTISER" paid: "TEST_PAYING_ENTITY" adrender: false } } } seat: "4528:1161:591635" group: false } bidid: "hgu4ev7j-ZK929XM0-79f7-0A23O0VN2CFC" cur: "USD"
Örneği göster
{ "id": "96Z599PGNvp7Mr99138Fm0", "seatbid": [ { "bid": [ { "id": "NQb32Ge7Rtt84wFn2p8", "impid": "1", "price": 0.153584, "adid": "test_creative_id_272596", "adomain": [ "google.com" ], "crid": "test_creative_id_272596", "cat": [ "IAB13-7" ], "burl": "https://test.com/imp?id=123456", "ext": { "ad_choices_destination_url": "https://test.com/preferences", "billing_id": "29846056590", "dsa": { "behalf": "TEST_ADVERTISER", "paid": "TEST_PAYING_ENTITY", "adrender": 0 } }, "adm": "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"text\":\"Luxury Mars Cruises\"}},{\"id\":2,\"required\":1,\"data\":{\"value\":\"Visit the planet in a luxury spaceship.\"}},{\"id\":3,\"required\":0,\"data\":{\"value\":\"Book today\"}},{\"id\":4,\"required\":1,\"data\":{\"value\":\"Galactic Luxury Cruises\"}},{\"id\":5,\"required\":1,\"img\":{\"url\":\"https://native.test.com/image?id=123456\",\"w\":1200,\"h\":627}}],\"link\":{\"url\":\"https://www.google.com\"},\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://test.com/event?id=123456\"}],\"privacy\":\"https://adssettings.google.com/whythisad?source=display&reasons=OMITTED\"}" }, { "id": "4vwb23qm6iqU6w6G978", "impid": "1", "price": 0.153584, "adid": "test_creative_id_272596", "adomain": [ "google.com" ], "crid": "test_creative_id_272596", "cat": [ "IAB21" ], "burl": "https://test.com/imp?id=123456", "ext": { "ad_choices_destination_url": "https://test.com/preferences", "dsa": { "behalf": "TEST_ADVERTISER", "paid": "TEST_PAYING_ENTITY", "adrender": 0 } }, "adm": "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"text\":\"Luxury Mars Cruises\"}},{\"id\":2,\"required\":1,\"data\":{\"value\":\"Visit the planet in a luxury spaceship.\"}},{\"id\":3,\"required\":0,\"data\":{\"value\":\"Book today\"}},{\"id\":4,\"required\":1,\"data\":{\"value\":\"Galactic Luxury Cruises\"}},{\"id\":5,\"required\":1,\"img\":{\"url\":\"https://native.test.com/image?id=123456\",\"w\":1200,\"h\":627}}],\"link\":{\"url\":\"https://www.google.com\"},\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://test.com/event?id=123456\"}],\"privacy\":\"https://adssettings.google.com/whythisad?source=display&reasons=OMITTED\"}" } ], "seat": "4528:1161:591635", "group": 0 } ], "bidid": "hgu4ev7j-ZK929XM0-79f7-0A23O0VN2CFC", "cur": "USD" }
Örneği göster
Serileştirilmiş yanıtad { adslot { id: 1 max_cpm_micros: 158000 billing_id: 41106584355 deal_id: 1 } click_through_url: "google.com" attribute: 70 buyer_creative_id: "test_creative_id_251451" advertiser_name: "Google" native_ad { headline: "Luxury Mars Cruises" body: "Visit the planet in a luxury spaceship." call_to_action: "Book today" advertiser: "Galactic Luxury Cruises" image { url: "https://native.test.com/image?id=123456" width: 1200 height: 222 } app_icon { url: "https://native.test.com/icon?id=123456" width: 512 height: 512 } star_rating: 4.300000190734863 click_link_url: "https://www.google.com" } impression_tracking_url: "https://test.com/imp?id=123456" impression_tracking_url: "https://test.com/imp?id=123456" event_notification_token: "token" skadn { version: "4.0" network: "l6x39K4z" itunesitem: "731305960" sourceapp: "627009739" fidelities { fidelity_type: STOREKIT_RENDERED_ADS nonce: "9216faff-74a9-4b35-badc-66878c35f67c" timestamp: 1728975919221 signature: "b0USXkmg02Q3v6p301kYOHG36CCOWWdEo52RHRttB9t8PTNi79qL17E4D6h7UeUSuq479oTK13G2Ev34MJlU86C5vY1SMVw2" } fidelities { fidelity_type: VIEW_THROUGH_ADS nonce: "9216faff-74a9-4b35-badc-66878c35f67c" timestamp: 1728975919221 signature: "4Cf4NH6239z9f3wa8j6420Z7H0UISYxyxN5720444dkq6457I5FY0Jg8bk1xge2P8YgiDp74l2738136v2g1A8D50331IRm0" } source_identifier: 1 } click_tracking_urls: "https://google.com/rtb/click?imp_id=55d2112c-4947-4da5-bc37-b79ebf4577dd" advertised_app_id: "APP_ID_OMITTED" app_promotion_type: INSTALLS } processing_time_ms: 63
Web videosu
Örneği göster
Serileştirilmiş yanıtid: "b2F6m05a9d83V7I35iw415" seatbid { bid { id: "Ob7259K5679O36pMt00" impid: "1" price: 1.52 adid: "test_creative_id_262797" adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" adomain: "google.com" crid: "test_creative_id_262797" exp: 3600 [com.google.doubleclick.bid] { event_notification_token { payload: "token" } billing_id: 47460168025 } } bid { id: "0890di791A75n9R13jM" impid: "1" price: 1.2 adid: "test_creative_id_262797" adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" adomain: "google.com" crid: "test_creative_id_262797" exp: 3600 [com.google.doubleclick.bid] { event_notification_token { payload: "token" } } } seat: "2121:7826:598388" } cur: "USD"
Örneği göster
{ "id": "b2F6m05a9d83V7I35iw415", "seatbid": [ { "bid": [ { "id": "Ob7259K5679O36pMt00", "impid": "1", "price": 1.52, "adid": "test_creative_id_262797", "adm": "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%", "adomain": [ "google.com" ], "crid": "test_creative_id_262797", "exp": 3600, "ext": { "event_notification_token": { "payload": "token" }, "billing_id": "47460168025" } }, { "id": "0890di791A75n9R13jM", "impid": "1", "price": 1.2, "adid": "test_creative_id_262797", "adm": "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%", "adomain": [ "google.com" ], "crid": "test_creative_id_262797", "exp": 3600, "ext": { "event_notification_token": { "payload": "token" } } } ], "seat": "2121:7826:598388" } ], "cur": "USD" }
Örneği göster
Serileştirilmiş yanıtfad { adslot { id: 1 max_cpm_micros: 68340760 min_cpm_micros: 0 billing_id: 75752641104 deal_id: 0 } click_through_url: "google.com" vendor_type: 145 attribute: 47 attribute: 8 video_url: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" buyer_creative_id: "test_creative_id_877383" advertiser_name: "Google" event_notification_token: "token" dsa_transparency { buyer_render: true } } processing_time_ms: 17
Exchange teklif vereni için mobil web banner'ı
Örneği göster
Serileştirilmiş yanıtid: "l30Zu42070Man1Z5u751yG" seatbid { bid { id: "4X6uu65F9J3m467C571" impid: "1" price: 0.17 adm: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>" adomain: "google.com" crid: "test_creative_id_941528" w: 320 h: 50 [com.google.doubleclick.bid] { impression_tracking_url: "https://test.com/impression?id=123456" impression_tracking_url: "https://test.com/impression?id=123456" event_notification_token { payload: "token" } billing_id: 50962964480 } } seat: "7632:7504:809671" } bidid: "II638Xkf-6432F06d-VGu8-27B4407D136w" [com.google.doubleclick.bid_response] { processing_time_ms: 70 }
Örneği göster
{ "id": "l30Zu42070Man1Z5u751yG", "seatbid": [ { "bid": [ { "id": "4X6uu65F9J3m467C571", "impid": "1", "price": 0.17, "adm": "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>", "adomain": [ "google.com" ], "crid": "test_creative_id_941528", "w": 320, "h": 50, "ext": { "impression_tracking_url": [ "https://test.com/impression?id=123456", "https://test.com/impression?id=123456" ], "event_notification_token": { "payload": "token" }, "billing_id": "50962964480" } } ], "seat": "7632:7504:809671" } ], "bidid": "II638Xkf-6432F06d-VGu8-27B4407D136w", "ext": { "processing_time_ms": 70 } }