Module 1 · Chapter 1 of 7
How header bidding works
Current chapter: Welcome, outcomes and key terms
You finished How header bidding works.
Lock it in with the 8-question quiz. Instant results, retake any time.
0:00Welcome, outcomes and key terms
Play from 0:00 मैच वाली रात है, नौ बजे हैं। पुणे की एक sports website हर घंटे चालीस लाख ad impressions दिखा रही है।
Play from 0:17 अगर ये impressions उस CPM से सिर्फ़ बीस सेंट कम पर बिकें जो buyers देने को तैयार थे, तो एक घंटे में आठ सौ डॉलर चले गए। ये एक illustrative नंबर है। ये नुकसान किसी report में नहीं दिखता, क्योंकि जो bid कभी माँगी ही नहीं गई, उसका कोई निशान नहीं रहता।
Play from 0:26 Header bidding इसी पैसे को ढूँढने के लिए बना है। ये RediAds Academy की Header Bidding Masterclass का Module एक है: header bidding काम कैसे करता है।
Play from 0:35 अगले तीस मिनट में, आप चार चीज़ें करना सीखेंगे।
Play from 0:39 नंबरों के साथ समझाना कि एक unified header auction, waterfall से ज़्यादा क्यों कमाता है।
Play from 0:45 एक auction को शुरू से आख़िर तक follow करना, page के bids माँगने से लेकर ad दिखने तक।
Play from 0:51 ये पढ़ना कि एक SSP असल में क्या भेजता है, और net बनकर आई gross bid को पकड़ना।
Play from 0:57 और ये बताना कि कौन से फ़ैसले Prebid लेता है, और कौन से Google Ad Manager के हैं।
Play from 1:04 आठ terms जो हम पूरे course में इस्तेमाल करेंगे। हर एक, example के साथ दोबारा आएगा।
Play from 1:10 Wrapper वो script है जो header auction चलाती है। Prebid.js एक wrapper है। Adapter, एक partner के लिए Prebid का translator है। SSP, यानी supply-side platform, आपका impression buyers को बेचता है। GAM मतलब Google Ad Manager, यानी ad server।
Play from 1:29 CPM मतलब हर एक हज़ार impressions की कीमत। First-price auction में जीतने वाला उतना ही देता है, जितनी उसने bid की। Key-value, ad slot पर लगा एक label है जिसे ad server पढ़ सकता है। और line item, Ad Manager के अंदर एक rule है जो impression जीत सकता है।
Play from 1:48 इस course में आठ modules हैं। ये module और अगला, browser के बारे में हैं: auction कैसे काम करता है, और फिर ख़ुद Prebid wrapper।
Play from 2:03 Module तीन और चार में, हम auction को Prebid Server के साथ server पर ले जाते हैं। पाँच और छह Ad Manager के हैं: set-up, creatives, floors और yield। सात और आठ में debugging, discrepancies और monitoring है।
Play from 2:11 अगर आप पहले से जानते हैं कि waterfall क्यों ख़त्म हुआ, तो सीधे chapter दो पर जाइए। वरना, चलिए वहीं से शुरू करते हैं।
2:20Why header bidding exists
Play from 2:20 Chapter एक। Header bidding आख़िर है ही क्यों? इसका जवाब देने के लिए, देखना होगा कि इससे पहले ads कैसे बिकते थे।
Play from 2:31 सालों तक, ज़्यादातर publishers अपनी बची हुई inventory एक waterfall से बेचते थे।
Play from 2:37 Ad server पहले एक partner को call करता था। मान लीजिए, तीन डॉलर floor वाला एक exchange।
Play from 2:43 अगर वो partner fill नहीं करता, तो impression अगले partner के पास जाता, दो डॉलर पर।
Play from 2:48 फिर अगले के पास, एक डॉलर पर। और ऐसे ही, waterfall में नीचे जब तक कोई हाँ न कहे, या house ad न दिख जाए।
Play from 2:56 हर step एक अलग call है एक के बाद एक। हर pass-back, ad दिखने से पहले और देर जोड़ता है।
Play from 3:04 तो ये order तय कौन करता था? एक इंसान, आमतौर पर हफ़्ते में एक बार।
Play from 3:09 Ad ops team पिछले हफ़्ते का, हर partner का average CPM देखती थी। Illustrative नंबर: partner A का average एक डॉलर साठ सेंट, B का एक डॉलर तीस, और C का एक डॉलर दस।
Play from 3:21 A पहले, B दूसरे, C तीसरे। और ये order पूरे हफ़्ते हर impression के लिए वैसा ही रहता।
Play from 3:28 इसकी कमी देखिए। Average बताता है कि एक partner ने लाखों impressions पर कितना दिया। ये कुछ नहीं बताता कि वो इस reader के लिए, अभी, कितना देगा।
Play from 3:37 इस कमी को एक impression पर देखिए। ये नंबर illustrative हैं।
Play from 3:40 Partner A लाइन में सबसे आगे है। आज वो एक डॉलर बीस सेंट की bid करता है, अपना floor पार करता है, और जीत जाता है।
Play from 3:48 लेकिन partner C जो नीचे बैठा है, इसी impression के लिए दो डॉलर चालीस सेंट देने को तैयार था।
Play from 3:53 उससे पूछा ही नहीं गया। Publisher ने impression की असली कीमत का सिर्फ़ आधा कमाया।
Play from 3:59 और किसी को पता नहीं चला, क्योंकि खोई हुई bid किसी report में दिखती ही नहीं।
Play from 4:05 अब इसे एक हज़ार impressions पर देखिए। सारे नंबर illustrative हैं।
Play from 4:09 Partner A इनमें से पाँच सौ पचास fill करता है, एक डॉलर चालीस के average पर। यानी सतहत्तर सेंट।
Play from 4:17 Partner B दो सौ पचास fill करता है, एक डॉलर दस पर। लगभग अट्ठाईस सेंट।
Play from 4:22 Partner C एक सौ पचास fill करता है, नब्बे सेंट पर। लगभग चौदह सेंट।
Play from 4:27 पचास impressions unfilled रह जाते हैं। कुल: हज़ार impressions पर एक डॉलर अठारह सेंट। यानी effective CPM, एक डॉलर अठारह।
Play from 4:39 अब यही हज़ार impressions एक auction से चलाइए जहाँ हर partner हर impression पर bid करता है।
Play from 4:45 हर impression पर सबसे ऊँची bid जीतती है। कभी A, कभी C, कभी वो partner जो पहले मुश्किल से ही जीतता था।
Play from 4:54 हमारे example में, average winning price बढ़कर एक डॉलर पैंसठ सेंट हो जाती है। Fill बढ़कर नौ सौ सत्तर।
Play from 5:01 Revenue: हज़ार पर एक डॉलर साठ सेंट। यानी लगभग छत्तीस प्रतिशत ज़्यादा उन्हीं pages और उन्हीं readers से।
Play from 5:08 ये extra पैसा नई demand से नहीं आता। ये उसी demand से आता है जो आपके पास पहले से थी। बस उससे सही समय पर पूछा गया।
Play from 5:18 Publishers ने waterfall को अंदर से ठीक करने की कोशिश भी की। आम तरीका था, floors बढ़ाना।
Play from 5:24 Illustrative: partner A का floor, एक डॉलर से दो डॉलर हो जाता है। अब A तभी fill करता है जब वो पक्का दो डॉलर या ज़्यादा दे।
Play from 5:33 A का fill, पचपन प्रतिशत से गिरकर तीस हो जाता है। बाकी सब B और C के पास गिरता है, एक और pass-back के बाद।
Play from 5:39 तो A पर average price बढ़ जाती है, लेकिन कुल revenue मुश्किल से हिलता है, और page धीमा हो जाता है। Floor सिर्फ़ ना कह सकता है। वो बाकी partners से नहीं पूछ सकता कि वो कितना देंगे।
Play from 5:51 Waterfall में समय भी बर्बाद होता है।
Play from 5:54 मान लीजिए, हर pass-back में तीन सौ milliseconds लगते हैं। Illustrative। Partner C से तभी पूछा जाता है जब A और B दोनों ना कह चुके हों। यानी C को impression के बारे में पता चलने से पहले ही, छह सौ milliseconds बीत चुके हैं।
Play from 6:09 Header auction में, सारे partners से एक साथ पूछा जाता है। इंतज़ार, उस सबसे धीमे partner से तय होता है जिसका आप इंतज़ार करना चाहते हैं। सबके जोड़ से नहीं।
Play from 6:17 इस इंतज़ार पर सटीक नंबर, हम Module दो में लगाएँगे।
Play from 6:26 तो header bidding पूरा model ही पलट देता है। Partners से एक-एक करके पूछने की बजाय, page में एक script सबसे एक साथ पूछती है।
Play from 6:35 हर partner इस खास impression के लिए एक price के साथ जवाब देता है।
Play from 6:40 फिर सबसे अच्छी price ad server के पास जाती है जो उसकी तुलना अपनी demand से करता है। लाइन में खड़े होने की बजाय, एक fair auction जो एक साथ होता है।
Play from 6:48 ये नाम उस जगह से आया जहाँ ये code पहले रहता था: page के header में, ad server को call करने से पहले।
Play from 6:58 एक बहुत छोटा इतिहास, ताकि आगे नाम समझ आएँ।
Play from 7:01 लगभग दो हज़ार चौदह में, header bidding की शुरुआत हुई, अलग-अलग exchanges के बनाए custom wrappers से।
Play from 7:08 दो हज़ार पंद्रह में, Prebid.js open source के रूप में आया, ताकि हर publisher, हर partner के लिए अलग wrapper की बजाय, एक neutral wrapper चला सके।
Play from 7:18 दो हज़ार सत्रह में, इसे चलाने के लिए Prebid.org बना, और browser के बाहर auctions चलाने के लिए Prebid Server आया।
Play from 7:26 तब से, बड़े बदलाव privacy, identity और speed के बारे में रहे हैं। आज, Prebid वेब पर default open-source header bidding stack है।
Play from 7:36 दो गलतियाँ जो हम आज भी देखते हैं, waterfall के ख़त्म होने के सालों बाद भी।
Play from 7:41 पहली: header bidding के पीछे छिपा waterfall। एक पुराना ad network tag, अब भी ad server में fixed price पर बैठा है, header bids से ऊपर। वो कभी compete किए बिना, impressions ले लेता है।
Play from 7:54 दूसरी: header bidding को सिर्फ़ CPM से आँकना। एक partner आपका average CPM बढ़ा सकता है जबकि वो कम impressions fill करे। जो नंबर असल में मायने रखता है, वो है हर हज़ार sessions पर revenue। इसे हम Module दो में इस्तेमाल करेंगे।
8:13The cast
Play from 8:13 Chapter दो। किसी auction को follow करने से पहले चलिए cast से मिलते हैं। पाँच players हैं, और आपको ठीक-ठीक पता होना चाहिए कि हर एक क्या करता है।
Play from 8:25 पहला, ख़ुद page, Google Publisher Tag यानी GPT library के साथ। यही आपके ad slots define करती है।
Play from 8:32 दूसरा, Prebid.js, यानी wrapper। यही header auction चलाता है।
Play from 8:37 तीसरा, bidder adapters। Prebid के अंदर छोटे modules, हर partner के लिए एक।
Play from 8:43 चौथा, इन adapters के पीछे बैठे SSPs और exchanges। ये buyers के साथ अपना auction चलाते हैं और एक bid लौटाते हैं।
Play from 8:51 और पाँचवाँ, Google Ad Manager, यानी ad server। कौन सा ad दिखेगा, इसका आख़िरी फ़ैसला यही करता है।
Play from 8:59 ये order याद रखिए: page, wrapper, adapters, exchanges, ad server। बाकी course में हम यही order इस्तेमाल करेंगे।
Play from 9:09 पहले player पर एक मिनट और देना बनता है, क्योंकि बाकी सब इसी से जुड़ा है।
Play from 9:14 GPT हर ad slot को तीन चीज़ों से define करता है: Ad Manager का ad unit path, sizes, और page पर उस div की ID जहाँ ad बैठेगा।
Play from 9:25 Prebid इसी slot को अपनी एक list में describe करता है, जिसे ad units कहते हैं। हर एक का एक code होता है।
Play from 9:33 ये दोनों descriptions एक ही जगह की ओर इशारा करनी चाहिए। आमतौर पर इसका मतलब है कि Prebid का code और div ID एक ही हों। जब ये अलग हो जाते हैं तो bids खो जाती हैं। Module दो में दिखाएँगे कि कैसे।
Play from 9:47 एक छोटा सा detour, क्योंकि adapters को लेकर बहुत confusion होता है।
Play from 10:07 Adapter एक translator है। Prebid हर ad slot को एक common format में describe करता है। Adapter उसे ठीक उस request में बदलता है जो उसका exchange चाहता है। आमतौर पर ये network पर जाने वाली एक OpenRTB request होती है। जब exchange जवाब देता है तो adapter उस response को वापस एक standard Prebid bid में बदल देता है।
Play from 10:17 इसीलिए नया partner जोड़ना आमतौर पर बस इतना है कि उसका adapter अपने build में जोड़ें और configuration की कुछ lines लिखें। और इसीलिए ठीक से maintain न किया गया एक adapter आपका पूरा page धीमा कर सकता है।
Play from 10:28 एक बात जो लोग अक्सर miss कर देते हैं। Auction के अंदर भी auctions होते हैं।
Play from 10:32 जब RediAds adapter एक request भेजता है तो SSP अपने buyers के बीच अपना auction चलाता है।
Play from 10:38 हर SSP सिर्फ़ अपना सबसे अच्छा जवाब वापस भेजता है। तो Prebid कभी हर buyer को नहीं देखता। उसे हर partner से बस एक bid मिलती है।
Play from 10:46 इसीलिए दो SSPs एक ही impression के लिए अलग-अलग prices दे सकते हैं। वो अलग buyers से बात कर रहे हैं, अलग data के साथ।
Play from 10:56 तो कौन क्या तय करता है? Prebid तय करता है कि हर slot के लिए कौन सी header bid सबसे अच्छी है। Google Ad Manager तय करता है कि वो सबसे अच्छी header bid बाकी हर उस चीज़ को हरा पाती है या नहीं जो वो serve कर सकता है: direct deals, Google की अपनी demand और house ads।
Play from 11:10 इन दोनों फ़ैसलों को दिमाग़ में अलग रखिए। "Prebid नहीं जीत रहा" वाली बहुत सी problems असल में ad server set-up की problems होती हैं। इन्हें हम Module पाँच और छह में ठीक करेंगे।
Play from 11:26 यहाँ एक गलती है, और ये meetings का बहुत समय खाती है।
Play from 11:30 Ad server के फ़ैसले के लिए wrapper को दोष देना। कोई देखता है कि ज़्यादातर impressions AdX serve कर रहा है और कह देता है कि Prebid ख़राब है।
Play from 11:39 पहले ये पूछिए कि आप कौन सा फ़ैसला देख रहे हैं। क्या Prebid ने गलत header bid चुनी? या Ad Manager ने कुछ और पसंद किया? दोनों का fix अलग जगह पर है।
11:50One auction, step by step
Play from 11:51 Chapter तीन। चलिए एक ad slot के लिए एक auction को step by step follow करते हैं। फिर इसे live होते हुए देखेंगे।
Play from 12:00 ये रहा पूरा सफ़र, छह steps में।
Play from 12:02 एक। Page, Prebid load करता है और requestBids call करता है।
Play from 12:06 दो। Prebid लगभग एक ही समय पर हर adapter को bid requests भेजता है।
Play from 12:12 तीन। Bids वापस आती हैं, हर एक अपनी speed से।
Play from 12:15 चार। जब सारी bids आ जाएँ या timeout हो जाए, तब Prebid अपना internal auction चलाता है।
Play from 12:21 पाँच। Prebid जीतने वाली bid को ad slot पर key-values में लिखता है।
Play from 12:26 छह। GPT, Google Ad Manager को call करता है। Ad Manager final winner चुनता है और creative serve करता है।
Play from 12:34 Step दो simple लगता है, लेकिन दो details मायने रखती हैं।
Play from 12:38 Default रूप से Prebid आपके bidders को random order में call करता है। किसी partner को सिर्फ़ इसलिए हमेशा की बढ़त नहीं मिलती कि वो आपकी list में पहले है।
Play from 12:47 और auction की एक deadline होती है, जिसे timeout कहते हैं। वहाँ पहुँचते ही Prebid इंतज़ार बंद कर देता है। इसका built-in default तीन seconds है, जो ज़्यादातर pages के लिए बहुत ज़्यादा है। Module दो में दिखाएँगे कि अपना timeout कैसे चुनें।
Play from 13:02 इस slot के लिए चार partners ने जवाब दिया। Illustrative prices।
Play from 13:07 RediAds ने दो डॉलर की bid की। Sovrn ने एक डॉलर नब्बे। OpenX ने एक डॉलर पचास। Index Exchange ने एक डॉलर।
Play from 13:16 हर bid अलग समय पर आई। सबसे तेज़ partner को शायद सौ milliseconds लगें, सबसे धीमे को कई सौ।
Play from 13:23 असल ज़िंदगी में एक partner आपको तीन और तरह के जवाब दे सकता है।
Play from 13:28 No-bid। उसने impression देखा और छोड़ दिया। ये normal है, और कई pages पर यही सबसे आम जवाब होता है।
Play from 13:35 Late bid। ये timeout के बाद पहुँची। Prebid अपना auction पहले ही चला चुका है, इसलिए ये bid बाहर रह जाती है, चाहे कितनी भी ऊँची हो।
Play from 13:45 Error। Request fail हो गई या response पढ़ा नहीं जा सका। एक page view पर ये noise है। हज़ारों पर ये एक problem है, जिसे partner के साथ सुलझाना होगा।
Play from 13:57 Prebid का internal auction simple है। सबसे ऊँची price जीतती है। दो डॉलर पर RediAds इस slot की सबसे अच्छी header bid है।
Play from 14:06 इससे पहले दो adjustments हो सकते हैं। दूसरी currencies की prices convert होती हैं। और अगर कोई partner price gross में बताता है तो उसे ठीक किया जा सकता है। दोनों हम chapter चार में देखेंगे।
Play from 14:15 और RediAds ने अभी impression नहीं जीता है। उसने सिर्फ़ ad server तक जाने का हक़ जीता है।
Play from 14:22 Steps पाँच और छह का बाद में अपना chapter है, तो यहाँ short version सुन लीजिए।
Play from 14:27 Prebid, Ad Manager को bid object नहीं दे सकता। इसकी बजाय वो slot पर key-values लिखता है: price bucket, bidder, और creative ढूँढने के लिए एक ID।
Play from 14:38 फिर GPT, Ad Manager को call करता है। Ad Manager उस price की तुलना हर उस चीज़ से करता है जो वो serve कर सकता है।
Play from 14:44 अब चलिए, ये छहों steps एक असली page पर होते हुए देखते हैं।
Play from 14:51 ये एक असली page है जो एक header auction चला रहा है। ये हमारी demo news site The Monsoon Times है, जिसके right side में एक ad slot है। Test prices वही हैं जो slides में थीं।
Play from 15:20 नीचे console है। pbjs underscore debug on होने पर Prebid अपना हर step लिखता जाता है।
Play from 15:35 चलिए bids के लिए filter करते हैं। आप देख सकते हैं कि requests चारों partners के पास जा रही हैं और responses वापस आ रहे हैं।
Play from 15:43 अब सीधे Prebid से पूछते हैं कि हुआ क्या। पहले, हमारे slot की हर bid। चार partners ने जवाब दिया: RediAds दो डॉलर पर, Sovrn एक डॉलर नब्बे पर, OpenX एक डॉलर पचास पर और Index एक डॉलर पर।
Play from 15:47 अगला सवाल। Prebid का auction किसने जीता? RediAds, क्योंकि उसकी price सबसे ऊँची थी। इसमें इससे ज़्यादा कोई चालाकी नहीं है।
Play from 15:49 और Prebid ने ad server को क्या बताया? hb_pb key-value कहता है दो point शून्य शून्य। ये price bucket है, और इस bid का बस इतना ही हिस्सा Ad Manager को दिखेगा।
Play from 15:50 यहाँ से फ़ैसला Ad Manager का है। Prebid ने सबसे अच्छी header bid चुनी। असल में कौन serve करेगा, ये Ad Manager तय करता है।
Play from 16:00 Auction के इस हिस्से में हम दो गलतियाँ देखते हैं।
Play from 16:03 पहली: एक ही partner को दो बार call करना। वो Prebid से भी चलता है और किसी पुराने direct tag से भी, या फिर दो wrappers से। अब वो ख़ुद के ख़िलाफ़ bid कर सकता है और अपनी clearing price ख़ुद तय कर सकता है।
Play from 16:18 दूसरी: एक page view से partner को आँकना। एक auction बताता है कि machinery कैसे काम करती है। कोई partner अपनी जगह के लायक है या नहीं, ये जानने के लिए हज़ारों auctions चाहिए। इसे हम Module दो में मापेंगे।
Play from 16:34 Quick check। सोचना चाहें तो video pause कर लीजिए।
Play from 16:41 चार bids आती हैं: दो डॉलर, एक डॉलर नब्बे, एक डॉलर पचास और एक डॉलर। एक colleague कहता है कि अब दो डॉलर वाला bidder ad serve करेगा। क्या वो सही है?
Play from 16:47 अभी नहीं। दो डॉलर की bid ने सिर्फ़ Prebid का auction जीता है। Ad Manager अब भी इसकी तुलना direct deals, Google की demand और house ads से करता है। इनमें से कोई भी जीत सकता है।
17:00What a bid really is
Play from 17:00 Chapter चार। हम कहते आ रहे हैं कि "RediAds ने दो डॉलर की bid की"। लेकिन ये दो डॉलर असल में है क्या? इसे कौन देता है, किस currency में, और fees से पहले या बाद में?
Play from 17:13 शुरुआत करते हैं कि prices पहले कैसे काम करती थीं। पहले ज़्यादातर exchanges second-price auctions चलाते थे।
Play from 17:19 सबसे ऊँची bid वाला जीतता है, लेकिन दूसरी सबसे ऊँची bid से बस एक सेंट ज़्यादा देता है।
Play from 17:26 Illustrative example। Buyer एक तीन डॉलर की bid करता है। Buyer दो, दो डॉलर दस की। Buyer एक जीतता है और दो डॉलर ग्यारह सेंट देता है।
Play from 17:34 सोच fairness की थी। Buyers उतनी bid कर सकते थे जितना impression सच में worth था, ज़्यादा देने के डर के बिना।
Play from 17:43 Header bidding ने ऐसे कई auctions को साथ-साथ रख दिया, और इससे ये सोच टूट गई।
Play from 17:49 हर exchange की "second price" इस पर depend करती थी कि उसके अपने auction में उस वक़्त कौन था। एक ही buyer अलग-अलग exchanges पर बहुत अलग prices पर clear हो सकता था।
Play from 18:01 Floors और fees ऐसे तरीकों से लगती थीं जो buyers देख नहीं सकते थे। तो buyers ने clearing price पर भरोसा करना छोड़ दिया।
Play from 18:09 दो हज़ार सत्रह और दो हज़ार अठारह के दौरान exchanges first-price auctions पर चले गए। दो हज़ार उन्नीस में Google, Ad Manager को एक unified first-price auction पर ले आया।
Play from 18:21 First-price auction में जीतने वाला ठीक उतना देता है जितनी उसने bid की।
Play from 18:25 Illustrative। Buyer एक तीन डॉलर की bid करता है, buyer दो, दो डॉलर दस की। Buyer एक जीतता है और तीन डॉलर देता है।
Play from 18:33 तो buyers ने ख़ुद को ढाल लिया। अब वो अपनी bids shade करते हैं। यानी impression उनके लिए जितना worth है, उससे कम bid करते हैं। इसके लिए वो ऐसे models इस्तेमाल करते हैं जो वो सबसे कम price predict करते हैं जो फिर भी जीत जाए।
Play from 18:47 आपके लिए अच्छी ख़बर simple है। SSP जो price Prebid को भेजता है, वो असल में चुकाई जाने वाली रकम के काफ़ी क़रीब है।
Play from 18:55 इसीलिए header auction fair हो पाता है।
Play from 18:58 Prebid चार अलग exchanges की चार prices की तुलना करता है। ये तभी काम करता है जब चारों का मतलब एक ही हो: आपको कितना मिलेगा, एक ही currency में, fees के बाद।
Play from 19:08 जब इनमें से किसी एक का मतलब कुछ और हो, तो तुलना चुपचाप टूट जाती है। इस chapter का बाकी हिस्सा उन तीन तरीकों के बारे में है जिनसे ये टूटती है: format, gross pricing और currency।
Play from 19:23 ये रहा जो एक SSP असल में लौटाता है। ये एक OpenRTB bid response है, थोड़ा छोटा करके।
Play from 19:30 Price, CPM के रूप में। Ad markup, यानी ख़ुद creative का code। एक creative ID, advertiser का domain, और width और height। और एक currency code। अगर ये न हो तो OpenRTB US dollars मान लेता है।
Play from 19:44 अगर SSP के पास कोई bid नहीं है, तो वो आमतौर पर कुछ भी वापस नहीं भेजता, बस HTTP status दो सौ चार। No-bid एक normal जवाब है, error नहीं।
Play from 19:56 Adapter उस response को एक standard Prebid bid में बदल देता है। ये fields जानने लायक हैं।
Play from 20:02 cpm और currency: price, और वो किस currency में है। width, height और ad: size और creative। ttl: expire होने से पहले Prebid इस bid को कितने seconds तक इस्तेमाल कर सकता है। creativeId और advertiser domains: जब कोई ख़राब ad दिखे, तब इनकी ज़रूरत पड़ेगी।
Play from 20:21 और netRevenue: true का मतलब price net है, यानी जितना आपको सच में मिलेगा। False का मतलब gross है, यानी partner की fee से पहले।
Play from 20:32 देखिए कैसे एक gross price चुपचाप जीत जाती है। सारे नंबर illustrative हैं।
Play from 20:37 RediAds दो डॉलर net bid करता है। Partner X दो डॉलर बीस bid करता है, लेकिन वो gross है। X अपनी fee के तौर पर पंद्रह प्रतिशत रखता है।
Play from 20:47 बिना किसी correction के Prebid दो डॉलर की तुलना दो डॉलर बीस से करता है। X जीत जाता है।
Play from 20:53 लेकिन X आपको असल में एक डॉलर सत्तासी सेंट देगा। आपने कम वाली bid चुनी, और Prebid के नंबरों में आपको कभी पता नहीं चलेगा कि क्यों।
Play from 21:03 इसका fix है bid adjustment। Prebid की bidder settings में आप auction से पहले X की price को शून्य point आठ पाँच से multiply करते हैं। अब X एक डॉलर सत्तासी पर है, और RediAds fair तरीके से जीतता है।
Play from 21:19 वही page, लेकिन इस बार एक partner gross में price बता रहा है। पहले एक अकेली bid के अंदर झाँकते हैं।
Play from 21:56 ये रही RediAds की bid, जैसे Prebid उसे store करता है। Price दो है, currency US dollars है, और netRevenue true है, तो आपको यही मिलेगा। ttl बताता है कि ये bid कितने seconds तक usable रहती है। कोई ख़राब ad आए तो partner को आप यही creative ID बताएँगे। और timeToRespond दिखाता है कि जवाब कितनी जल्दी आया।
Play from 22:14 अब हर bid, उसके net flag के साथ। Sovrn ने दो डॉलर बीस की bid की, लेकिन देखिए: netRevenue false है। ये price gross है।
Play from 22:23 और OpenX? उसने no-bid भेजी। ये एक normal जवाब है, और Prebid इसे अलग से record करता है।
Play from 22:28 तो अभी Prebid का auction कौन जीत रहा है? Sovrn, एक gross price के साथ जो उसकी असली payment से ज़्यादा है।
Play from 22:30 चलिए इसे ठीक करते हैं। हम page को bidder settings की एक line के साथ reload करते हैं, जो Sovrn की price को शून्य point आठ पाँच से multiply करती है।
Play from 22:31 ये रहीं prices फिर से, पहले और बाद में। Sovrn का दो डॉलर बीस अब एक डॉलर सत्तासी है।
Play from 22:32 और winner? RediAds, दो डॉलर पर। वही bids, वही page, लेकिन एक अलग और सही नतीजा।
Play from 22:33 तुलना टूटने का तीसरा तरीका है currency। अगर आपका ad server रुपयों में चलता है तो ये बहुत मायने रखता है।
Play from 22:40 ज़्यादातर SSPs US dollars में bid करते हैं। लेकिन आपका Ad Manager network और आपके price buckets INR में हो सकते हैं।
Play from 22:50 Prebid का currency module auction से पहले हर bid को आपकी ad server currency में convert करता है। आप इसे एक बार adServerCurrency से set करते हैं।
Play from 22:59 Illustrative rate। चौरासी रुपये प्रति डॉलर पर दो डॉलर की bid एक सौ अड़सठ रुपये बन जाती है।
Play from 23:06 इस module में एक granularity multiplier भी है, ताकि आपके price buckets currency के हिसाब से scale हों। रुपये वाले buckets हम Module पाँच में ठीक से बनाएँगे।
Play from 23:17 तो header auction में किसी भी price पर भरोसा करने से पहले उससे तीन सवाल पूछिए।
Play from 23:22 क्या ये net है? अगर partner gross बताता है तो auction से पहले इसे adjust कीजिए।
Play from 23:27 ये किस currency में है? अगर ये आपकी ad server currency नहीं है तो currency module से इसे convert कीजिए।
Play from 23:33 क्या ये अब भी fresh है? हर bid का एक time to live होता है। Expire होने के बाद इस्तेमाल हुई bid का पैसा शायद कभी न मिले।
Play from 23:44 इस chapter की तीन गलतियाँ जिनसे असली पैसा जाता है।
Play from 23:47 पहली: एक gross bidder, बिना bid adjustment के। वो बहुत बार जीतता है, और जितना लगता है उससे कम देता है।
Play from 23:55 दूसरी: एक bid adjustment जो हमेशा के लिए पड़ा रहता है। Partner अपनी fee बदल देता है या net pricing पर चला जाता है, और कोई वो नंबर update नहीं करता।
Play from 24:05 तीसरी: currency module के बिना currencies मिलाना। रुपये वाली bid और डॉलर वाली bid की तुलना ऐसे होती है जैसे दोनों एक ही unit में हों।
24:15From bid to ad server
Play from 24:16 Chapter पाँच। Prebid के पास उसका winner है। अब चलिए उसके पीछे-पीछे Ad Manager में चलते हैं, और देखते हैं कि दूसरी तरफ़ क्या होता है।
Play from 24:26 Prebid, Google Ad Manager को bid object नहीं दे सकता। वो slot पर सिर्फ़ targeting key-values set कर सकता है। तो वो ये set करता है।
Play from 24:34 hb_pb: price bucket। hb_bidder: bid किसने की। hb_adid: वो ID जिससे Prebid बाद में creative ढूँढता है। hb_size: creative का size। और कुछ और keys, जैसे format और bid कहाँ से आई।
Play from 24:50 ध्यान दीजिए, hb_pb एक bucket है, exact bid नहीं।
Play from 24:54 Prebid की default granularity को medium कहते हैं। इसमें दस सेंट के steps होते हैं, बीस डॉलर तक।
Play from 25:01 हर price नीचे की ओर round होकर अपने step में जाती है। दो डॉलर सात सेंट की bid दो point शून्य शून्य बन जाती है। एक डॉलर छियानवे की bid एक point नौ शून्य बन जाती है।
Play from 25:14 बीस डॉलर से ऊपर की हर price बीस पर cap हो जाती है।
Play from 25:18 Buckets की ज़रूरत ही क्यों? क्योंकि Ad Manager को हर उस price के लिए एक line item चाहिए जो वो देख सकता है। Buckets उस गिनती को manageable रखते हैं।
Play from 25:28 एक और चीज़ जो Prebid default रूप से करता है। वो सिर्फ़ winner को नहीं भेजता।
Play from 25:33 वो winner की keys भेजता है, hb_pb और बाकी।
Play from 25:36 और हर bidder के लिए एक दूसरा set भी भेजता है, जिसके आख़िर में bidder का नाम होता है। hb_pb underscore rediads, hb_pb underscore sovrn, और ऐसे ही।
Play from 25:46 इससे Ad Manager हर partner की bids पर report कर पाता है, सिर्फ़ winners पर नहीं। इसके trade-offs Module छह में आएँगे।
Play from 25:54 इस बार दो bids हैं, जिन्हें जानबूझकर एक bucket edge से ठीक ऊपर रखा गया है।
Play from 26:21 ये रहीं exact prices, उनके medium buckets के साथ। RediAds ने दो डॉलर सात सेंट की bid की, और उसका bucket है दो point शून्य शून्य। Sovrn ने एक डॉलर छियानवे की bid की, और उसका bucket है एक point नौ शून्य। दोनों नीचे round हुए, कभी ऊपर नहीं।
Play from 26:34 अब Prebid से नहीं, GPT से पूछते हैं। ये slot पर रखी targeting है, और यही Ad Manager के पास जाती है। दो point शून्य शून्य। सात सेंट गायब हो गए।
Play from 26:41 और ये रहीं उस slot पर Prebid की सारी keys। Winner की keys, और हर bidder का एक set, जिनके आख़िर में underscore rediads और underscore sovrn है। यही send-all-bids है, जो default रूप से on रहता है।
Play from 26:45 आगे के लिए सबक: Ad Manager को हमेशा सिर्फ़ buckets दिखते हैं। इन्हें कितना बड़ा रखना है, ये revenue का फ़ैसला है, और ये फ़ैसला हम Module पाँच में ठीक से लेंगे।
Play from 26:49 अब Google Ad Manager अपना मुक़ाबला चलाता है।
Play from 26:52 Sponsorships और standard direct deals आमतौर पर पहले आते हैं। इस example में इनमें से कोई भी इस impression के लिए eligible नहीं है।
Play from 27:00 इसके बाद price-based layer। हमारा Prebid line item, hb_pb बराबर दो point शून्य शून्य को target करता है। इसलिए वो दो डॉलर पर enter करता है।
Play from 27:10 उसी unified first-price auction में Google की अपनी demand उन दो डॉलर से मुक़ाबला करती है। आज AdX दो डॉलर दो सेंट की bid करता है।
Play from 27:19 AdX जीत जाता है, दो सेंट से।
Play from 27:22 और ये बिल्कुल ठीक है। Header bid ने अपना काम कर दिया।
Play from 27:26 उसने Google की demand को इस impression के लिए दो डॉलर से ज़्यादा देने पर मजबूर किया।
Play from 27:31 Header bidding के बिना auction में दो डॉलर का कोई line item होता ही नहीं। AdX शायद बहुत कम पर clear हो जाता।
Play from 27:38 तो जब आप header bidding पर report करें, तो सिर्फ़ Prebid की जीत मत गिनिए। Price का दबाव भी गिनिए।
Play from 27:45 अब देखिए कि bucketing की कीमत क्या है। फिर से illustrative नंबर।
Play from 27:49 RediAds ने असल में दो डॉलर सात सेंट की bid की थी। Ad Manager को सिर्फ़ दो point शून्य शून्य दिखता है।
Play from 27:57 AdX दो डॉलर तीन सेंट की bid करता है। वो bucket को हरा देता है, तो AdX जीतता है।
Play from 28:03 लेकिन RediAds दो डॉलर सात सेंट देता। Table पर रखी सबसे अच्छी bid से आपने हर हज़ार पर चार सेंट कम कमाए।
Play from 28:11 चार सेंट बहुत छोटा लगता है। लेकिन महीने के दस करोड़ impressions पर ये चार हज़ार डॉलर है। इसीलिए Module पाँच में granularity को एक पूरा chapter मिला है।
Play from 28:22 अब इसी को उस दिन के लिए दोहराइए जब Prebid line item जीतता है।
Play from 28:25 Ad Manager, Prebid line item का creative serve करता है। ये creative असल में ad नहीं है। ये एक छोटी script है, जिसे Prebid Universal Creative कहते हैं।
Play from 28:35 ये hb_adid पढ़ती है, page पर Prebid से उससे match करने वाली winning bid माँगती है, और उस bid का ad slot में render कर देती है।
Play from 28:44 इसीलिए creative और hb_adid key-value का set-up बिल्कुल सही होना चाहिए। अगर नहीं है तो blank ads आते हैं, और जीती हुई bid बेकार चली जाती है।
Play from 28:55 ये रहा पूरा auction, एक ही घड़ी पर। Illustrative timing।
Play from 28:58 Prebid शून्य पर शुरू होता है। पहली bids लगभग तीन सौ milliseconds पर आती हैं। सबसे धीमा partner नौ सौ पर जवाब देता है। Prebid ठीक उसके बाद targeting set करता है और ad server को call करता है। Ad server जवाब देता है, और ad लगभग एक point तीन seconds पर render होता है।
Play from 29:18 आप जो भी partner जोड़ते हैं, और timeout का हर millisecond, इस घड़ी को लंबा करता है। Module दो इसी को छोटा रखने के बारे में है।
Play from 29:28 इस chapter की तीन गलतियाँ।
Play from 29:30 पहली: hb_pb को असली price समझना। ये नीचे round किया हुआ bucket है। आपके partner की report exact price दिखाएगी, और दोनों नंबर match नहीं करेंगे।
Play from 29:41 दूसरी: सिर्फ़ Prebid की जीत गिनना। जो header auction AdX को एक डॉलर पचास से दो डॉलर तक धकेलता है, वो आपके लिए पैसा कमा रहा है। तब भी जब AdX serve करे।
Play from 29:53 तीसरी: line items और buckets का match न होना। अगर Prebid दो point शून्य पाँच भेजता है और कोई line item उसे target नहीं करता, तो वो bid कभी Ad Manager के auction में पहुँचती ही नहीं।
30:06Recap and quick checks
Play from 30:07 ख़त्म करने से पहले तीन myths, जो हम publishers से लगभग हर हफ़्ते सुनते हैं।
Play from 30:12 Myth एक: header bidding नए buyers ढूँढता है। ज़्यादातर नहीं। ये आपके मौजूदा buyers को हर impression पर compete करवाता है।
Play from 30:21 Myth दो: सबसे ऊँची header bid हमेशा serve होती है। वो सिर्फ़ Prebid का auction जीतती है। फ़ैसला अब भी Ad Manager करता है।
Play from 30:30 Myth तीन: अगर AdX जीत गया तो header bidding fail हो गया। Header bid ने वो price तय की जिसे AdX को हराना था। AdX की क़रीबी जीत अक्सर इस बात का सबूत है कि header bidding ठीक वैसे ही काम कर रहा है जैसा उसे करना चाहिए।
Play from 30:47 चलिए Module एक को recap करते हैं।
Play from 30:50 Waterfall partners से एक-एक करके, एक fixed order में पूछता है। Header auction सबसे एक साथ पूछता है, और उसी demand से ज़्यादा कमाता है।
Play from 30:59 Prebid सबसे अच्छी header bid चुनता है। आख़िरी फ़ैसला Google Ad Manager करता है।
Play from 31:05 अब ज़्यादातर auctions first price हैं, इसलिए bid उतनी ही होनी चाहिए जितना आपको मिलेगा।
Play from 31:10 हर price का मतलब एक ही होना चाहिए: net, और एक ही currency में।
Play from 31:15 Bids, Ad Manager तक key-values के रूप में पहुँचती हैं, और price नीचे round होकर buckets में जाती है।
Play from 31:23 Quick check। सोचना चाहें तो video pause कर लीजिए।
Play from 31:29 दो डॉलर की एक header bid Google Ad Manager तक पहुँचती है। AdX दो डॉलर दो सेंट की bid करता है। Ad कौन serve करेगा?
Play from 31:35 AdX। Prebid line item दो डॉलर पर enter करता है, और AdX उसे दो सेंट से हराकर जीत जाता है। Header bid ने फिर भी अपना काम किया। उसने वो price बढ़ा दी जो AdX को देनी पड़ी।
Play from 31:49 एक और। Partner Y दो डॉलर चालीस की gross bid करता है, और बीस प्रतिशत fee रखता है। Partner Z दो डॉलर की net bid करता है। बिना adjustment के Prebid का auction कौन जीतता है, और किसे जीतना चाहिए?
Play from 32:02 Y जीतता है, दो डॉलर चालीस पर। लेकिन Y असल में एक डॉलर बानवे देता है, तो Z के दो डॉलर बेहतर bid थे। Y पर शून्य point आठ का bid adjustment इसे ठीक कर देता है।
Play from 32:15 ये था Module एक। अब आप जानते हैं कि header bidding क्यों है, एक bid असल में क्या है, और वो partner से Ad Manager तक कैसे पहुँचती है।
Play from 32:27 Module दो में हम ख़ुद Prebid wrapper खोलेंगे। उसे line by line पढ़ेंगे, एक सही test के साथ timeout चुनेंगे, और आपके Core Web Vitals को बचाएँगे।
Play from 32:33 पहले practice करना चाहते हैं? RediAds Academy में header bidding levels खेलिए। Module दो में मिलते हैं।
- Wrapper
- The script that runs the header auction. Prebid.js is a wrapper.
- Adapter
- Prebid's translator for one partner.
- SSP
- A supply-side platform. It sells your impression to buyers.
- GAM
- Google Ad Manager, the ad server that makes the final decision.
- CPM
- The price per thousand impressions.
- First-price auction
- An auction where the winner pays exactly what it bid.
- Key-value
- A label on an ad slot that the ad server can read.
- Line item
- A rule inside Ad Manager that can win an impression.