आरटीबी पर एएमपीएचटीएमएल विज्ञापन

इस पेज पर बताया गया है कि आरटीबी के साथ एएमपीएचटीएमएल विज्ञापनों का इस्तेमाल कैसे करना है. शुरू करने में आपकी मदद के लिए, एएमपीएचटीएमएल (AMPHTML) विज्ञापनों और टूल के बारे में ज़्यादा जानकारी पाने के लिए, नीचे दिए गए संसाधन देखें.

हाई-लेवल अप्रोच शॉट

आरटीबी बिड रिक्वेस्ट

आरटीबी बिड रिक्वेस्ट से पता चलता है कि अनुरोध किसी एएमपी पेज से किया जा रहा है या नहीं. साथ ही, एएमपीएचटीएमएल (AMPHTML) विज्ञापनों के लिए ज़रूरी शर्तों का पता चलता है.

OpenRTB

एएमपी पेज

message SiteExt {
  enum AmpPage {
    // This is not an AMP page.
    DIALECT_HTML = 0;

    // This is an Amp page.
    DIALECT_HTML_AMP = 1;
  }

  // Whether this is an AMP page or not. Omitted if unknown.
  optional AmpPage amp = 1;
  enum VisibilityState {
    VISIBILITY_STATE_UNKNOWN = 0;

    // The page is at least partially visible. For example, in the foreground
    // tab of a non-minimized window.
    VISIBILITY_STATE_VISIBLE = 1;

    // The page is not visible to users. For example, when the page is in a
    // background browser tab, or in a minimized window.
    VISIBILITY_STATE_HIDDEN = 2;
  }

  // The visibility state of the web page containing the ad slot.
  // See https://www.w3.org/TR/page-visibility/.
  // [AdX: BidRequest.page_visibility]
  optional VisibilityState page_visibility = 2 [default =
    VISIBILITY_STATE_UNKNOWN];

  // Information about a browser window's user activation state. See
  // https://html.spec.whatwg.org/multipage/interaction.html#the-useractivation-interface.
  message UserActivation {
    // Indicates whether a user has completed an interaction since page load.
    optional bool wasact = 1;

    // Indicates whether a user is currently interacting with the page.
    optional bool isact = 2;
  }

  // User activation information from the browser for the current request, if
  // the request is for a web page.
  optional UserActivation uact = 5;

  // The set of possible web navigation types that predicate a page load. Each
  // of these types may have different performance characteristics. For example,
  // users going back and forth might experience a faster site than users
  // performing navigation for the first time or submitting forms. See
  // https://w3c.github.io/navigation-timing/#dom-performancenavigationtiming-type.
  enum NavigationType {
    NAVIGATION_TYPE_UNKNOWN = 0;

    // Navigation started by clicking a link, entering the URL in the browser's
    // address bar, form submission, or initializing through a script operation
    // other than reload and back_forward.
    NAVIGATION_TYPE_NAVIGATE = 1;

    // Navigation is through the browser's reload operation, location.reload(),
    // or a Refresh pragma directive like
    // <meta http-equiv="refresh" content="300">.
    NAVIGATION_TYPE_RELOAD = 2;

    // Navigation is through the browser's history traversal operation.
    NAVIGATION_TYPE_BACK_FORWARD = 3;

    // Navigation is initiated by a prerender hint (deprecated). See
    // https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/prerender.
    NAVIGATION_TYPE_PRERENDER = 4;
  }

  // The type of browser navigation that led to the current page. Unset for
  // non-web ad requests.
  optional NavigationType ntype = 6;

  // Indicates that the request is using semi-transparent branding,
  // which means only a truncated version of the request URL will
  // be provided. This decision is made by the publisher, see
  // https://support.google.com/admanager/answer/4584891#urls for context.
  optional bool is_semi_transparent_request = 3;

  // The domain of the partner (of the site owner) with ownership
  // of some portion of ad inventory on the site. The partner's ads.txt file
  // will be hosted here. More detail at
  // http://iabtechlab.com/wp-content/uploads/2021/03/ctv-app-ads-explainer-guide.pdf
  optional string inventorypartnerdomain = 4;
}

एएमपीएचटीएमएल (AMPHTML) विज्ञापन की ज़रूरी शर्तें

// Ad Exchange extensions for the Imp object.
message ImpExt {
...
  // Possible requirement types for AMP ads.
  enum AmpAdRequirementType {
    // AMP ad requirements unknown.
    UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 1;
    // AMP ads are not allowed.
    AMP_AD_NOT_ALLOWED = 2;
    // Either AMP ads or non-AMP ads are allowed;
    // AMP ads are not early rendered.
    AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED = 3;
    // Either AMP ads or non-AMP ads are allowed;
    // AMP ads are early rendered.
    AMP_AD_ALLOWED_AND_EARLY_RENDERED = 4;
    // AMP ads are required.
    // Ads that are non-AMP may be rejected by the publisher.
    AMP_AD_REQUIRED = 5;
    // Exchange-specific values above 500.
  }
  optional AmpAdRequirementType ampad = 8
    [default = UNKNOWN_AMP_AD_REQUIREMENT_TYPE];
}

Authorized Buyers आरटीबी

एएमपी पेज

// Whether this is an AMP page or not.
enum AmpPage {
  // AMP page status unknown.
  UNKNOWN_AMP_PAGE = 0;

एएमपीएचटीएमएल (AMPHTML) विज्ञापन की ज़रूरी शर्तें

// Possible requirement types for AMP ads.
enum AmpAdRequirementType {
  // AMP ad requirements unknown.
  UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 0;

आरटीबी बिड रिस्पॉन्स

OpenRTB

ओपनआरटीबी 3.0 और इसके साथ वाले विज्ञापन सामान्य मॉडल में एएमपीएचटीएमएल विज्ञापनों का इस्तेमाल करने के लिए, कई नई चीज़ों को जोड़ा गया है. इन बदलावों के साथ-साथ, IAB ने हाल ही में ड्राफ़्ट के तौर पर नीचे दी गई चीज़ों को भी शामिल किया है.

बोली फ़ील्ड ऐट्र Type ब्यौरा
अनुरोध Site.amp amp पूर्णांक Site.amp फ़ील्ड से पता चलता है कि पेज को एएमपी में रेंडर किया गया है या नहीं. अगर इस बारे में जानकारी नहीं है, तो पेज को हटा दिया जाता है:
0 = पेज, एएमपी नहीं है
1 = पेज, एएमपी एचटीएमएल की मदद से बनाया गया है
अनुरोध ampformat rend पूर्णांक एएमपी फ़ॉर्मैट की खास जानकारी, एएमपीएचटीएमएल विज्ञापनों की ज़रूरी शर्तों और रेंडरिंग के तरीके के बारे में बताती है:
1 = एएमपी विज्ञापन की ज़रूरी शर्तों के बारे में जानकारी मौजूद नहीं है
2 = एएमपी विज्ञापनों की अनुमति नहीं है
3 = एएमपी विज्ञापन या बिना एएमपी वाले विज्ञापनों को अनुमति नहीं है; एएमपी विज्ञापनों को पहले ही रेंडर नहीं किया जाता है
4 = एएमपी विज्ञापनों या बिना एएमपी वाले विज्ञापनों को पहले रेंडर नहीं किया जाता है. साथ ही, एएमपी विज्ञापनों को पहले रेंडर किया जाता है. साथ ही, एएमपी विज्ञापनों को पहले रेंडर किया जाता है
5 = एएमपी विज्ञापनों की ज़रूरत होती है. बिना एएमपी वाले विज्ञापनों को पब्लिशर अस्वीकार कर सकता है
500+ = एक्सचेंज से जुड़ी वैल्यू; बिड करने वालों को प्राथमिकता के तौर पर दी जानी चाहिए
जवाब display curl स्ट्रिंग बिड रिस्पॉन्स में, display.curl को जोड़ा गया है, ताकि आप यूआरएल की मदद से क्रिएटिव सबमिट कर सकें. इसमें एएमपीएचटीएमएल (AMPHTML) विज्ञापनों के लिए सहायता भी शामिल है.
यह वह यूआरएल है जिस पर क्रिएटिव मार्कअप मिलेगा. इन क्रिएटिव टाइप पर लागू होता है: एएमपी विज्ञापन, VAST (वीडियो विज्ञापन देने के लिए टेम्प्लेट), और डीएएएसटी और नेटिव. आम तौर पर, किसी विज्ञापन में सिर्फ़ एक adm या curl मान्य होता है.

Authorized Buyers आरटीबी

Authorized Buyers बिड रिस्पॉन्स में BidResponse.Ad.amp_ad_url फ़ील्ड, एएमपीएचटीएमएल विज्ञापन के कॉन्टेंट पर ले जाने वाला यूआरएल स्वीकार करता है. Google के OpenRTB लागू करने में, Bid ऑब्जेक्ट में एक्सटेंशन के तौर पर भी यही फ़ील्ड मौजूद होता है.

// The URL to fetch an AMPHTML ad. Only one of the following should be set:
// html_snippet, video_url, amp_ad_url, native_ad.
optional string amp_ad_url = 23;

मान्य एएमपीएचटीएमएल (AMPHTML) की पुष्टि करना

एएमपीएचटीएमएल (AMPHTML) विज्ञापनों को पहले रेंडर किए जाने के लिए, एक्सचेंज को उनकी पुष्टि और उन पर हस्ताक्षर करने की ज़रूरत होती है. इससे पता चलता है कि विज्ञापन amp4ads <html amp4ads> क्रिएटिव फ़ॉर्मैट में लिखा गया है.

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

amp_ad_url में सिर्फ़ एएमपीएचटीएमएल (AMPHTML) विज्ञापन दिखाए जाने चाहिए.

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

Authorized Buyers की मदद से, बोली लगाने वालों से तब भी शुल्क लिया जाएगा, जब वे एएमपीएचटीएमएल (AMPHTML) विज्ञापन के लिए ज़रूरी विज्ञापन स्लॉट में, बिना एएमपी वाले विज्ञापन को लौटाते हैं.

सर्वर-साइड फ़ेच

एएमपीएचटीएमएल (AMPHTML) विज्ञापनों को पहले रेंडर किए जाने के लिए, एएमपीएचटीएमएल (AMPHTML) विज्ञापन सामग्री को रेंडर किया जाना चाहिए. इसके लिए, क्लाइंट को अलग से कोई कार्रवाई करने की ज़रूरत नहीं होती. इसे ऐसे डिज़ाइन किया गया है कि विज्ञापन के इंतज़ार में लगने वाले समय और ज़्यादा क्लाइंट-साइड कॉल की वजह से उपयोगकर्ता को खराब अनुभव न मिले.

बिडिंग करने वाले व्यक्ति के नीलामी में जीतने के बाद, एक्सचेंज, amp_ad_url में दिए गए यूआरएल पर मौजूद एएमपीएचटीएमएल (AMPHTML) विज्ञापन कॉन्टेंट को वापस पाने के लिए, एक सर्वर-टू-सर्वर अनुरोध करेगा. क्रिएटिव सर्वर को 300 मिलीसेकंड के अंदर कॉन्टेंट का जवाब देना चाहिए और उसे वापस करना चाहिए.

क्रिएटिव सर्वर से लौटाए गए एएमपीएचटीएमएल (AMPHTML) विज्ञापन को विज्ञापन स्लॉट में इंजेक्ट किया जाएगा और बाद में रेंडर किया जाएगा. ध्यान दें कि मान्य एएमपीएचटीएमएल (AMPHTML) विज्ञापन में iframe या अन्य <amp-ad> टैग नहीं हो सकते. ज़्यादा जानकारी के लिए, एएमपीएचटीएमएल विज्ञापन की खास बातें देखें.

सिर्फ़ बीटा वर्शन की सुविधा: अगर आपको इसकी ज़रूरत है, तो खाता मैनेज करने वाली टीम से संपर्क करें

एएमपीएचटीएमएल (जहां amp_ad_url में बताया गया है) विज्ञापन को सर्वर-टू-सर्वर वापस लाने के दौरान, Authorized Buyers, उपयोगकर्ता के ब्राउज़र से क्रिएटिव सर्वर पर एचटीटीपी हेडर और आईपी को पास कर सकते हैं. इससे यह पक्का होता है कि क्रिएटिव सर्वर को वही जानकारी मिले जो स्टैंडर्ड क्लाइंट-साइड फ़ेच से भेजी गई है. कुछ मामलों में, आईपी पते को छोटा करके सिर्फ़ शुरुआती तीन बाइट (IPv4) या शुरुआती 6 बाइट (IPv6) तक सीमित किया जा सकता है. अगर आपको इस सुविधा की ज़रूरत है, तो खाता मैनेज करने वाली टीम से संपर्क करें. यहां एचटीटीपी हेडर का एक सैंपल दिया गया है:

इंप्रेशन ट्रैकिंग यूआरएल और क्लिक मैक्रो

आरटीबी खरीदार अक्सर बिड के जवाब में स्ट्रक्चर्ड फ़ील्ड के तौर पर इंप्रेशन ट्रैकर शामिल करते हैं (यह Bid.burl है, OpenRTB 2.5 में "बिलिंग सूचना का यूआरएल").

Authorized Buyers में, इन्हें क्लाइंट-साइड से ट्रिगर किया जाएगा. क्रिएटिव के रेंडर होने पर amp-pixel फ़ायर ट्रैकिंग यूआरएल को चालू करता है. amp-analytics, रेंडरिंग के अलावा भी बेहतर ट्रैकिंग के इस्तेमाल के मामलों को मैनेज कर सकता है.

एएमपीएचटीएमएल (AMPHTML) विज्ञापनों में एक मान्य क्लिक मैक्रो शामिल होना चाहिए. आम तौर पर, यह कुछ ऐसा दिखता है:

<a href="%%CLICK_URL_UNESC%%http%3A%2F%2my.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>
<a href=”https://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%”></a>

क्रिएटिव में अक्सर क्रिएटिव कोड में कुकी मेल खाने वाले पिक्सल शामिल होते हैं. एएमपीएचटीएमएल (AMPHTML) विज्ञापन, इस इस्तेमाल के लिए, amp-pixel और amp-analytics कॉम्पोनेंट का इस्तेमाल कर सकते हैं. अगर amp-analytics या amp-pixel का इस्तेमाल करके आपके इस्तेमाल के उदाहरण को स्वीकार नहीं किया जा सकता, तो दूसरे विकल्पों के बारे में चर्चा करने के लिए GitHub से जुड़ी समस्या खोलें. हम ऐसे नए एक्सटेंशन का स्वागत करते हैं, जिन्हें कई अलग-अलग कंपनियां इस्तेमाल कर सकती हैं. नया एक्सटेंशन बनाने के लिए, ज़्यादा जानकारी वाले दिशा-निर्देश या तकनीकी गाइड देखें.

जांच के लिए सैंपल एएमपी विज्ञापन यूआरएल

जांच के लिए, एएमपीएचटीएमएल (AMPHTML) विज्ञापन कॉन्टेंट के इस सैंपल का इस्तेमाल किया जा सकता है:

संसाधन

एएमपी प्रोजेक्ट और Google ने शुरू करने में आपकी मदद के लिए कई संसाधन रिलीज़ किए हैं:

एएमपी में विज्ञापन बनाना
IAB / OpenRTB ग्रुप के लिए आरटीबी के खास प्रस्ताव