जवाब तैयार करें

आपका ऐप्लिकेशन, Google से मिले बिड रिक्वेस्ट को प्रोसेस करने के बाद, जवाब बनाकर भेजेगा. इस गाइड में, रिस्पॉन्स बनाने के लिए अपने ऐप्लिकेशन को कोड करने का तरीका बताया गया है.

Protobuf BidResponse मैसेज बनाना

Authorized Buyers, एचटीटीपी POST के मैसेज बॉडी के तौर पर BidRequest भेजता है. अगर आपका बिडिंग एंडपॉइंट, प्रोटोबफ़ फ़ॉर्मैट का इस्तेमाल करने के लिए कॉन्फ़िगर किया गया है, तो आपके ऐप्लिकेशन को Content-Type हेडर को application/octet-stream पर सेट करके जवाब भेजना होगा. साथ ही, मैसेज के मुख्य हिस्से में सीरियलाइज़ किया गया प्रोटोकॉल बफ़र होना चाहिए. प्रोटोकॉल बफ़र, BidResponse मैसेज होता है, जैसा कि openrtb.proto में बताया गया है. आपका ऐप्लिकेशन हर BidRequest के जवाब में, पार्स किया जा सकने वाला BidResponse दिखाना चाहिए. टाइम आउट और ऐसे जवाब जिन्हें पार्स नहीं किया जा सकता उन्हें गड़बड़ियां माना जाता है. साथ ही, Google उन बिडर को सीमित कर देता है जिनकी गड़बड़ी की दर ज़्यादा होती है.

अगर आपको किसी इंप्रेशन पर बिड नहीं करनी है, तो आपको खाली एचटीटीपी 204 रिस्पॉन्स दिखाना होगा. openrtb.proto को रेफ़रंस डेटा पेज से पाया जा सकता है.

क्रिएटिव आईडी

आपका BidResponse, BidResponse.seatbid.bid.crid फ़ील्ड (64 बाइट की सीमा) के ज़रिए किसी क्रिएटिव की जानकारी देता है. अगर एक जैसे क्रिएटिव में कोई खास बात अलग-अलग है, तो इस फ़ील्ड के लिए उन क्रिएटिव की वैल्यू भी अलग-अलग होनी चाहिए. इनमें साइज़, एलान किया गया यूआरएल, क्रिएटिव एट्रिब्यूट, और वेंडर टाइप वगैरह शामिल हैं. दूसरे शब्दों में, आपको किसी भी दो विज्ञापनों के लिए अलग-अलग क्रिएटिव आईडी देने होंगे:

  • अलग तरह से दिखना या व्यवहार करना.
  • अलग-अलग इमेज में रेंडर करें.
  • अलग-अलग तरीकों से रेंडर किए जाते हैं. उदाहरण के लिए, एक विज्ञापन में इमेज है, जबकि दूसरे में वीडियो है.

अपना ऐप्लिकेशन डिज़ाइन करते समय, आपको आइडेंटिफ़ायर जनरेट करने का एक व्यवस्थित तरीका तय करना चाहिए. यह तरीका, सबमिट किए जाने वाले क्रिएटिव के हिसाब से होना चाहिए.

विज्ञापन की अहम जानकारियां

Google का सुझाव है कि आप अपने विज्ञापन की विशेषताओं और टारगेटिंग के बारे में बताने के लिए, क्रिएटिव एट्रिब्यूट का एलान करें. इसके लिए, BidResponse.seatbid.bid.apis और BidResponse.seatbid.bid.attr के कॉम्बिनेशन या BidResponse.seatbid.bid.ext.attribute एक्सटेंशन का इस्तेमाल करें. यहां एट्रिब्यूट की जानकारी देने का तरीका बताया गया है:

  • VPAID
    BidResponse.seatbid.bid.apis को VPAID_1 या VPAID_2 पर सेट करें. JSON फ़ॉर्मैट के लिए, इसे 1 या 2 पर सेट किया जा सकता है.
  • MRAID
    JSON फ़ॉर्मैट के लिए, BidResponse.seatbid.bid.apis को MRAID_1 या 3 पर सेट करें.
  • SIZELESS
    JSON फ़ॉर्मैट के लिए, BidResponse.seatbid.bid.attr को RESPONSIVE या 18 पर सेट करें.
  • PLAYABLE
    इसकी जानकारी, BidResponse.seatbid.bid.attr को USER_INTERACTIVE पर सेट करके दी जाती है. इसके अलावा, JSON फ़ॉर्मैट के लिए 13 पर सेट किया जा सकता है.

अपने क्रिएटिव में मिली प्रॉपर्टी के बारे में सुझाव, शिकायत या राय पाने के तरीके के बारे में जानने के लिए, क्रिएटिव से जुड़ा संसाधन देखें.

ओपन बिडिंग फ़ील्ड

ओपन बिडिंग में हिस्सा लेने वाले एक्सचेंज और नेटवर्क बिडिंग की मदद से बिडिंग करने वाले लोग, स्टैंडर्ड रीयल-टाइम बिडिंग में हिस्सा लेने वाले Authorized Buyers की तरह ही बिड रिस्पॉन्स भेजते हैं. ओपन बिडिंग के ग्राहक, कुछ अतिरिक्त फ़ील्ड तय कर सकते हैं. साथ ही, कुछ मौजूदा फ़ील्ड का इस्तेमाल अन्य कामों के लिए किया जा सकता है. इनमें ये शामिल हैं:

OpenRTB Authorized Buyers विवरण
BidResponse.imp[].pmp.deals[].id BidResponse.ad[].adslot[].exchange_deal_id

एक्सचेंज के नेमस्पेस से मिला डील आईडी, जो इस बिड से जुड़ा है और पब्लिशर को रिपोर्ट किया गया है.

BidResponse.seatbid[].bid[].ext.exchange_deal_type BidResponse.ad[].adslot[].exchange_deal_type

पब्लिशर को रिपोर्ट की गई डील का टाइप. इससे नीलामी में डील के व्यवहार पर असर पड़ता है.

BidResponse.seatbid[].bid[].ext.third_party_buyer_token BidResponse.ad[].adslot[].third_party_buyer_token अगर ओपन बिडर के तौर पर एक्सचेंज, मध्यस्थ है, तो तीसरे पक्ष के खरीदार की जानकारी की पहचान करने के लिए इस्तेमाल किया जाने वाला टोकन. इसे तीसरे पक्ष के खरीदार से हासिल किया जाता है. बिड रिस्पॉन्स में इसे बिना किसी बदलाव के Google को भेजा जाना चाहिए.

सुझाव

  • अपने सर्वर पर, हमेशा चालू रहने वाले एचटीटीपीएस कनेक्शन (जिन्हें "कनेक्शन को चालू रखना" या "कनेक्शन का फिर से इस्तेमाल करना" भी कहा जाता है) चालू करें. टाइम आउट को कम से कम 10 सेकंड पर सेट करें. ज़्यादा वैल्यू से कई मामलों में फ़ायदा होता है. Google आपके ऐप्लिकेशन के इंतज़ार का समय जांचने के दौरान, इसकी पुष्टि करता है. ऐसा इसलिए, क्योंकि अनुमति पा चुके खरीदार, ज़्यादा अनुरोध भेजते हैं. साथ ही, उन्हें हर अनुरोध के लिए अलग टीसीपी कनेक्शन बनाने में लगने वाले समय से बचना होता है.
  • बिड जीतने के बजाय, इंप्रेशन के रेंडर होने का समय ट्रैक करने के लिए, वैकल्पिक इंप्रेशन ट्रैकिंग यूआरएल शामिल करें. विज्ञापन दिखाए जाने और विज्ञापन दिखाए जाने के बाद उपयोगकर्ताओं के ग्राहक में बदलने के बीच के अंतर की वजह से, इससे ट्रैकिंग के ज़्यादा सटीक आंकड़े मिलते हैं.

  • बिडर कोड को ऐसे फ़ील्ड पर निर्भर न रखें जो अब काम नहीं करते. ऐसा करने पर, आपकी बिड गड़बड़ियों की वजह से अस्वीकार हो सकती हैं.
  • अपने BidResponse में BidResponse.seatbid.bid.w और BidResponse.seatbid.bid.h शामिल करें. कई विज्ञापन साइज़ वाले अनुरोध के लिए, BidResponse में ये फ़ील्ड शामिल होने चाहिए. ऐसा न करने पर, इसे नीलामी से हटा दिया जाएगा.
  • अपने जवाब का साइज़ 8K से कम रखें. बहुत बड़े रिस्पॉन्स से, नेटवर्क के रिस्पॉन्स में लगने वाला समय बढ़ सकता है और टाइम आउट हो सकता है.
  • ऐसी iOS इन्वेंट्री पर बिडिंग के लिए दिशा-निर्देशों का पालन करें जिसके लिए SKAdNetwork एट्रिब्यूशन की ज़रूरत होती है.

बिड रिस्पॉन्स का उदाहरण

यहां दिए गए उदाहरणों में, Protobuf और JSON अनुरोधों के ऐसे सैंपल दिए गए हैं जिन्हें कोई भी व्यक्ति आसानी से पढ़ सकता है.

सीरियलाइज़ किया गया रिस्पॉन्स
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"
    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"
{
  "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"
}
सीरियलाइज़ किया गया रिस्पॉन्स
ad {
  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"
}

अहम जानकारी: सैंपल में दिखाए गए Protobuf मैसेज, यहां ऐसे टेक्स्ट के तौर पर दिखाए गए हैं जिसे कोई भी पढ़ सकता है. हालांकि, मैसेज को इस तरह से नहीं भेजा जाता. Google या OpenRTB Protobuf फ़ॉर्मैट का इस्तेमाल करते समय, सिर्फ़ क्रम में लगाए गए BidResponse मैसेज ही स्वीकार किए जाएंगे.

यहां दिए गए C++ कोड का इस्तेमाल करके, BidResponse मैसेज बनाया और क्रम से लगाया जा सकता है:

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
}

क्रिएटिव की जानकारी दें

बिड रिस्पॉन्स में यह जानकारी होती है कि आपकी बिड जीतने पर कौनसा क्रिएटिव दिखाया जाएगा. आपकी बिड में, इस्तेमाल किए जा सकने वाले विज्ञापन फ़ॉर्मैट (एएमपी, वीडियो, नेटिव) में से कोई एक शामिल होना चाहिए. इस उदाहरण में, हम html_snippet फ़ील्ड का इस्तेमाल करके क्रिएटिव की जानकारी देते हैं.

इसके अलावा, विज्ञापन फ़ॉर्मैट के आधार पर, इनमें से किसी फ़ील्ड का इस्तेमाल करके भी अपना क्रिएटिव तय किया जा सकता है:

  • SDK टूल से रेंडर किया गया विज्ञापन
    • BidResponse.seatbid.bid.ext.sdk_rendered_ad
  • एएमपी
    • BidResponse.seatbid.bid.amp_ad_url
  • वीडियो
    • BidResponse.seatbid.bid.adm
  • नेटिव
    • BidResponse.seatbid.bid.adm_native

BidResponse.seatbid.bid.adm फ़ील्ड में एचटीएमएल स्निपेट का इस्तेमाल करके, अपने सर्वर पर होस्ट किए जा रहे विज्ञापन की जानकारी दें. स्निपेट को वेब पेज में डाले गए iFrame में शामिल किया जाता है. इससे, पेज लोड होने पर विज्ञापन को वापस पाया और रेंडर किया जाता है. आपको एचटीएमएल स्निपेट को इस तरह से बनाना होगा कि विज्ञापन (बैनर या इंटरस्टीशियल), आईएफ़आरईम में सही तरीके से रेंडर हो. साथ ही, वह उस विज्ञापन स्लॉट के लिए सही साइज़ में हो जिसके लिए बिडिंग की जा रही है.

इसके अलावा, बिड रिस्पॉन्स में बताया गया विज्ञापन साइज़, बिड रिक्वेस्ट में मौजूद साइज़ के किसी एक कॉम्बिनेशन से पूरी तरह मेल खाना चाहिए, जब:

  • विज्ञापन, सामान्य बैनर हो (वीडियो, नेटिव या इंटरस्टीशियल नहीं).
  • बिड लगाने वाले व्यक्ति या कंपनी ने बिड रिस्पॉन्स में साइज़ की जानकारी दी हो. जब अनुरोध में एक से ज़्यादा साइज़ मौजूद हों, तो साइज़ की जानकारी देना ज़रूरी है.
  • हालांकि, इंटरस्टीशियल विज्ञापनों के लिए यह शर्त लागू नहीं होती. इंटरस्टीशियल विज्ञापनों की चौड़ाई, स्क्रीन की चौड़ाई का कम से कम 50% और ऊंचाई, स्क्रीन की ऊंचाई का कम से कम 40% होनी चाहिए.

सही तरीके से रेंडर होने वाले किसी भी मान्य एचटीएमएल कोड का इस्तेमाल करके, एचटीएमएल स्निपेट क्रिएटिव तय किया जा सकता है. हालांकि, BidResponse मैसेज बनाएं सेक्शन में crid फ़ील्ड की जानकारी देने से जुड़ी पाबंदियों को ध्यान में रखें. इसका एक इस्तेमाल, विज्ञापन को रेंडर करने के लिए आपके सर्वर से फ़ेच किए गए यूआरएल के आर्ग्युमेंट में अतिरिक्त जानकारी डालना है. इससे, इंप्रेशन के बारे में मनमुताबिक डेटा को अपने सर्वर पर वापस भेजा जा सकता है.

बिड रिस्पॉन्स में दिखाए गए एचटीएमएल स्निपेट के लिए ज़्यादातर नीतियां, तीसरे पक्ष के विज्ञापनों के लिए तय की गई नीतियों जैसी ही होती हैं. ज़्यादा जानकारी के लिए, Authorized Buyers प्रोग्राम के दिशा-निर्देश, तीसरे पक्ष के विज्ञापन दिखाने से जुड़ी ज़रूरी शर्तें, और विज्ञापनों में क्लिक मिलने वाले यूआरएल की जानकारी दें देखें.

मैक्रो तय करना

मैक्रो, फ़ॉर्मैट किए गए टेक्स्ट होते हैं. इन्हें बिड रिस्पॉन्स के कुछ फ़ील्ड में जोड़ा जाता है. इन फ़ील्ड में यूआरएल होते हैं, जिन्हें विज्ञापन दिखाने के समय काम की वैल्यू से बदल दिया जाता है. उदाहरण के लिए, अगर आपकी जीतने वाली बिड में, बिड के साथ शामिल एचटीएमएल स्निपेट क्रिएटिव में AUCTION_PRICE मैक्रो शामिल था, तो मैक्रो को ऐसी वैल्यू से बदल दिया जाएगा जिसे डिक्रिप्ट करके, नीलामी में इंप्रेशन के लिए चुकाई गई रकम का पता लगाया जा सकता है.

मैक्रो को इन फ़ील्ड में शामिल किया जा सकता है:

  • BidResponse.seatbid.bid.adm

    मैक्रो, एचटीएमएल स्निपेट, नेटिव, वीडियो यूआरएल, और वीडियो VAST के लिए काम करते हैं एक्सएमएल फ़ॉर्मैट.

  • BidResponse.seatbid.bid.adm_native.eventtrackers.url

  • BidResponse.seatbid.bid.adm_native.imptrackers

  • BidResponse.seatbid.bid.ext.amp_ad_url

    एएमपी क्रिएटिव के लिए, सिर्फ़ Google के WINNING_PRICE और WINNING_PRICE_ESC मैक्रो काम करते हैं.

  • BidResponse.seatbid.bid.burl

  • BidResponse.seatbid.bid.ext.impression_tracking_url

    अगर आपको एक से ज़्यादा बिलिंग यूआरएल की ज़रूरत है, तो BidResponse.seatbid.bid.burl के बजाय इसका इस्तेमाल करें.

उदाहरण के लिए, क्रिएटिव को फ़ेच करने के लिए इस्तेमाल किए गए यूआरएल में ${MACRO} को एम्बेड करके, एचटीएमएल स्निपेट के हिस्से के तौर पर मैक्रो शामिल किया जा सकता है. यहां MACRO, OpenRTB स्पेसिफ़िकेशन में बताए गए काम करने वाले मैक्रो में से एक है.

Google आरटीबी मैक्रो

Google, OpenRTB स्पेसिफ़िकेशन में मौजूद मैक्रो के अलावा, अन्य मैक्रो का भी इस्तेमाल करता है. इनका फ़ॉर्मैट अलग होता है और इन्हें यूआरएल में एम्बेड करने पर, ये %%MACRO%% के तौर पर दिखते हैं. नीचे दी गई टेबल में इन मैक्रो के बारे में बताया गया है:

मैक्रो जानकारी
ADVERTISING_IDENTIFIER इससे खरीदारों को इंप्रेशन रेंडर होने पर, iOS IDFA या Android का विज्ञापन आईडी पाने की अनुमति मिलती है. ज़्यादा जानकारी के लिए, विज्ञापन देने वाले के आइडेंटिफ़ायर को डिक्रिप्ट करना देखें.
CACHEBUSTER चार बाइट के किसी रैन्डम, बिना हस्ताक्षर वाले इंटीजर को स्ट्रिंग में बदला गया है.
CLICK_URL_UNESC

विज्ञापन के लिए, बिना एस्केप किए गए क्लिक यूआरएल. स्निपेट में, तीसरे पक्ष के क्लिक यूआरएल का एस्केप्ट किया गया वर्शन, मैक्रो के बाद सीधे तौर पर दिखना चाहिए.

उदाहरण के लिए, अगर तीसरे पक्ष का क्लिक यूआरएल http://my.adserver.com/some/path/handleclick?click=clk है, तो मैक्रो को कॉल करने के बाद, तीसरे पक्ष के क्लिक यूआरएल के सिंगल-एस्केप्ड वर्शन के साथ, नीचे दिए गए कोड का इस्तेमाल किया जा सकता है:

<a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

विज्ञापन दिखाने के समय, इसे इन साइज़ में बड़ा किया जाता है:

<a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>

यूआरएल, पहले Google के साथ क्लिक को रजिस्टर करेगा और फिर तीसरे पक्ष के क्लिक यूआरएल पर रीडायरेक्ट करेगा.

CLICK_URL_ESC

विज्ञापन के लिए, एस्केप्ट किया गया क्लिक यूआरएल. अगर आपको पहले वैल्यू को किसी दूसरे सर्वर से पास करना है, जो फिर रीडायरेक्ट करेगा, तो CLICK_URL_UNESC के बजाय इसका इस्तेमाल करें.

उदाहरण के लिए, इस कोड का इस्तेमाल एचटीएमएल स्निपेट में किया जा सकता है:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a>

विज्ञापन दिखाने के समय, इसे इन साइज़ में बड़ा किया जाता है:

<a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a>

इससे my.adserver.com के साथ क्लिक रजिस्टर हो जाएगा. इसके बाद, google_click_url पैरामीटर में पास किए गए यूआरएल पर रीडायरेक्ट करने की ज़िम्मेदारी my.adserver.com की होगी. यह मान लिया जाता है कि my.adserver.com, google_click_url पैरामीटर को अनएस्केप करता है.

%%CLICK_URL_ESC%% के बाद, डबल-एस्केप किया गया यूआरएल जोड़ा जा सकता है. my.adserver.com के ज़रिए यूआरएल को अनएस्केप करने के बाद, google_click_url में जोड़े गए यूआरएल का एक-एस्केप किया गया वर्शन बच जाता है. जब google_click_url फ़ेच किया जाएगा, तो उसे एक बार फिर से अनएस्केप किया जाएगा और फिर रीडायरेक्ट किया जाएगा.

CLICK_URL_ESC_ESC

विज्ञापन के लिए, दो बार एस्केप किया गया यूआरएल. अगर आपको पहले वैल्यू को किसी दूसरे सर्वर से पास करना है, जो फिर रीडायरेक्ट करेगा, तो CLICK_URL_UNESC के बजाय इसका इस्तेमाल करें.

उदाहरण के लिए, इस कोड का इस्तेमाल एचटीएमएल स्निपेट में किया जा सकता है:

<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a>

विज्ञापन दिखाने के समय, इसे इन साइज़ में बड़ा किया जाता है:

<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 अगर बिड रिक्वेस्ट के लिए एसएसएल की ज़रूरत नहीं है, तो इसे http: तक बड़ा किया जाता है. अगर बिड रिक्वेस्ट के लिए एसएसएल की ज़रूरत है, तो इसे https: तक बड़ा किया जाता है.
SITE कॉन्टेंट यूआरएल का यूआरएल-एस्केप किया गया डोमेन या गुमनाम इन्वेंट्री के लिए गुमनाम आईडी.
SITE_URL समर्थन नहीं होना या रुकना. इसे SITE मैक्रो से बदल दिया गया है, जो एक जैसी सुविधाएं देता है.
TZ_OFFSET टाइम ज़ोन का ऑफ़सेट.
VERIFICATION

प्रोडक्शन के लिए अलग-अलग वैल्यू और पुष्टि की प्रोसेस के दौरान, क्रिएटिव को स्कैन किए जाने का समय. इसका फ़ॉर्मैट यह है: %%?VERIFICATION:true-val:false-val%%, जहां मैक्रो को छोड़कर, true-val और false-val के लिए कोई भी वैल्यू इस्तेमाल की जा सकती है. इनमें खाली स्ट्रिंग भी शामिल है. हमारा सुझाव है कि ओपन बिडिंग के लिए, एक्सचेंज इस मैक्रो का इस्तेमाल करें. ऐसा करने के बाद, मांग पक्ष के प्लैटफ़ॉर्म को बदलाव करने की ज़रूरत नहीं है.

उदाहरण के लिए, अगर किसी क्रिएटिव में %%?VERIFICATION:-1:5000%% शामिल किया गया है, तो टेक्स्ट बदलने की सुविधा, विज्ञापन दिखाने के दौरान 5000 और पुष्टि करने वाली प्रोसेस के दौरान -1 होगी. इससे, इन दोनों सेट के बीच अंतर करने में मदद मिलती है.

WINNING_PRICE

खाते की मुद्रा के माइक्रो में, कोड में बदले गए इंप्रेशन की लागत (यानी सीपीएम के बजाय सीपीआई). उदाहरण के लिए, 5 डॉलर का विजेता सीपीएम,5,000, 000 माइक्रो सीपीएम या 5,000 माइक्रो सीपीआई के बराबर होता है. इस मामले में, WINNING_PRICE की डिकोड की गई वैल्यू 5,000 होगी. जीतने वाली कीमत, सीपीआई में दी गई है.

इस मैक्रो को पार्स करने के लिए, आपको ऐसा ऐप्लिकेशन लागू करना होगा जो किराये की पुष्टि को डिक्रिप्ट करता हो. ज़्यादा जानकारी के लिए, किराये की पुष्टि करने वाले एन्क्रिप्ट किए गए मैसेज को डिक्रिप्ट करना पेज देखें.

WINNING_PRICE_ESC यूआरएल-एस्केप किया गया WINNING_PRICE.

Google की ज़रूरी शर्त है कि तीसरे पक्ष के दिखाए गए विज्ञापन के क्रिएटिव में, CLICK_URL_UNESC या CLICK_URL_ESC मैक्रो का इस्तेमाल किया जाए. Google, क्लिक ट्रैकिंग के लिए CLICK_URL मैक्रो का इस्तेमाल करता है.

मैक्रो में यूआरएल को एस्केप करने के लिए, इस स्कीम का इस्तेमाल किया जाता है:

  • स्पेस वर्ण को प्लस साइन (+) से बदल दिया जाता है.
  • अक्षर और अंक (0-9, a-z, A-Z) और सेट !()*,-./:_~ के वर्ण में कोई बदलाव नहीं होता.
  • अन्य सभी वर्णों को %XX से बदल दिया जाता है. यहां XX, वर्ण को दिखाने वाली हेक्साडेसिमल संख्या है.

पब्लिशर के लिए पाबंदियां और ज़रूरी शर्तें

बिड रिक्वेस्ट में, उन पाबंदियों और ज़रूरी शर्तों के बारे में जानकारी शामिल होती है जो पब्लिशर, नीलामी में क्रिएटिव पर लगाते हैं.

  • BidRequest.bcat
    • इस फ़ील्ड में बताई गई ब्लॉक की गई कैटगरी की तुलना, रीयल-टाइम बिडिंग एपीआई के detectedCategories फ़ील्ड का इस्तेमाल करके, सबमिट किए गए क्रिएटिव के लिए पता लगाई गई कैटगरी से की जा सकती है.
  • BidRequest.imp.ext.allowed_vendor_type
  • BidRequest.imp.secure
    • आम तौर पर, यह हमेशा true पर सेट रहेगा, क्योंकि Google को सभी क्रिएटिव के लिए एसएसएल की ज़रूरत होती है.
  • 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

कभी भी ऐसे विज्ञापन के लिए बिड न लगाएं जिसमें पाबंदी वाली सुविधा शामिल हो. अनुमति वाली सुविधाओं के लिए, जैसे कि वेंडर टाइप, सिर्फ़ तब विज्ञापन दिखाएं, जब उसका वेंडर टाइप BidRequest में मौजूद allowed_vendor_type सूची में हो. आपकी बिड में सिर्फ़ वे विज्ञापन फ़ॉर्मैट शामिल किए जाने चाहिए जिन्हें बिड रिक्वेस्ट में BidRequest.imp.banner जैसे फ़ील्ड में जानकारी भरकर तय किया गया है. ज़्यादा जानकारी के लिए, BidRequest प्रोटोकॉल बफ़र की परिभाषा में इन फ़ील्ड के लिए दी गई टिप्पणियां देखें.

अगर BidResponse में कोई विज्ञापन दिखाया जाता है, तो आपको BidResponse में BidResponse.seatbid.bid.attr, BidResponse.seatbid.bid.cat, और BidResponse.seatbid.bid.adomain या BidResponse.seatbid.bid.adm_native.link.url फ़ील्ड को सही तरीके से सेट करना होगा. अगर किसी विज्ञापन में इन फ़ील्ड के लिए लागू होने वाली कई वैल्यू हैं, तो आपको हर वैल्यू शामिल करनी होगी. ज़्यादा जानकारी के लिए, BidResponse प्रोटोकॉल बफ़र की परिभाषा में इन फ़ील्ड के लिए टिप्पणियां देखें. जिन जवाबों में ये फ़ील्ड सेट नहीं होते उन्हें खारिज कर दिया जाता है.

Open Measurement

Open Measurement की मदद से, तीसरे पक्ष के उन वेंडर को चुना जा सकता है जो मोबाइल ऐप्लिकेशन के एनवायरमेंट में दिखाए जाने वाले विज्ञापनों के लिए, मेज़रमेंट और पुष्टि करने की सेवाएं स्वतंत्र तौर पर उपलब्ध कराते हैं.

इन विज्ञापन फ़ॉर्मैट का इस्तेमाल किया जा सकता है: वीडियो, बैनर, और इंटरस्टीशियल विज्ञापन. इन फ़ॉर्मैट वाले बिड रिस्पॉन्स में, Open Measurement का इस्तेमाल करने के तरीके के बारे में ज़्यादा जानने के लिए, Open Measurement SDK के सहायता केंद्र का लेख पढ़ें.

बिड रिस्पॉन्स के सैंपल

नीचे दिए गए सेक्शन में, अलग-अलग तरह के विज्ञापनों के लिए बिड रिस्पॉन्स के सैंपल दिखाए गए हैं.

ऐप्लिकेशन बैनर

सीरियलाइज़ किया गया रिस्पॉन्स
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"
    [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
}
{
  "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
  }
}
सीरियलाइज़ किया गया रिस्पॉन्स
ad {
  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

ऐप्लिकेशन पर अचानक दिखने वाला विज्ञापन

सीरियलाइज़ किया गया रिस्पॉन्स
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"
    [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"
{
  "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"
}
सीरियलाइज़ किया गया रिस्पॉन्स
ad {
  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

ऐप्लिकेशन पर अचानक दिखने वाला वीडियो विज्ञापन

सीरियलाइज़ किया गया रिस्पॉन्स
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: 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"
{
  "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"
}
सीरियलाइज़ किया गया रिस्पॉन्स
ad {
  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

ऐप्लिकेशन नेटिव

सीरियलाइज़ किया गया रिस्पॉन्स
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"
    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"
{
  "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"
}
सीरियलाइज़ किया गया रिस्पॉन्स
ad {
  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

वेब वीडियो

सीरियलाइज़ किया गया रिस्पॉन्स
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
    [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"
{
  "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"
}
सीरियलाइज़ किया गया रिस्पॉन्स
fad {
  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

एक्सचेंज बिडर के लिए मोबाइल वेब बैनर

सीरियलाइज़ किया गया रिस्पॉन्स
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
    [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
}
{
  "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
  }
}