Google ने पुष्टि करने के पुराने तरीके का इस्तेमाल करके, विज्ञापनों की परफ़ॉर्मेंस में कैसे सुधार किया

जानें कि तीसरे पक्ष के संसाधनों को तेज़ी से लोड करने से, आय में बढ़ोतरी कैसे हो सकती है.

Jonathon Imperiosi
Jonathon Imperiosi

इस केस स्टडी से पता चलता है कि तीसरे पक्ष के संसाधनों की परफ़ॉर्मेंस को बेहतर बनाने से, कारोबार की मेट्रिक कैसे बढ़ाई जा सकती हैं. हालांकि, पिछले अध्ययन में, विज्ञापनों के दिखने में लगने वाले समय को कम करने की लागत को मापा गया था. हालांकि, इस स्टडी से असल दुनिया में परफ़ॉर्मेंस में किए गए सुधार से मिलने वाले फ़ायदों के बारे में बताया गया है:

0.5%

पब्लिशर की आय में बढ़त

2%

विज्ञापन स्क्रिप्ट के शुरुआती लोड में बढ़ोतरी

सोर्स: Google का इंटरनल डेटा, जून से जुलाई 2019 तक.

बैकग्राउंड

Google पब्लिशर टैग (GPT), Google Ad Manager के लिए विज्ञापन टैग करने की एक स्क्रिप्ट है. यह वेब पर डिसप्ले विज्ञापनों को दिखाने के लिए अनुरोध करती है और उन्हें रेंडर करती है. GPT के लिए एक आसान stale-while-revalidate एचटीटीपी हेडर लागू करके, GPT टीम अपने पब्लिशर पार्टनर के लिए Google डिसप्ले विज्ञापनों की स्पीड और परफ़ॉर्मेंस को बेहतर बनाने में कामयाब रही. यही तकनीक किसी भी अन्य स्थिति में लागू की जा सकती है, जहां सबसे नए कोड को लोड करने की तुलना में, स्क्रिप्ट को जल्द से जल्द लोड करना ज़्यादा ज़रूरी होता है.

समस्या

GPT को बूटस्ट्रैपिंग स्क्रिप्ट, gpt.js के रूप में डिप्लॉय किया जाता है, जिसे लाइव रहने के लिए 15 मिनट (टीटीएल) का समय दिया जाता है. यह छोटा TTL (टीटीएल) स्क्रिप्ट को तेज़ी से अपडेट या रोल बैक करने की अनुमति देता है. लोड होने के बाद, gpt.js अतिरिक्त स्क्रिप्ट को लोड करने का अनुरोध करता है और उन स्क्रिप्ट को लोड करता है जिनका TTL (टीटीएल) लंबा होता है.

15 मिनट के TTL की समयसीमा खत्म होने के बाद, कैश में मौजूद gpt.js का वर्शन पुराना हो जाता है और इसे फिर से पुष्टि करने की ज़रूरत होती है. पहले, फिर से पुष्टि करने की इस प्रक्रिया में स्क्रिप्ट की नई कॉपी फ़ेच करने के लिए सिंक्रोनस नेटवर्क अनुरोध किया जाता था. साथ ही, पहले विज्ञापन अनुरोध में देरी होती थी.

समाधान

stale-while-revalidate एट्रिब्यूट का इस्तेमाल Cache-Control हेडर में किया जाता है. यह समय की एक अतिरिक्त विंडो के बारे में बताती है. इस दौरान, कैश मेमोरी में पुरानी एसेट का इस्तेमाल किया जा सकता है. इस दौरान, एसेट को एसिंक्रोनस तरीके से दोबारा पुष्टि किया जाता है. इससे डेवलपर को तुरंत कैश मेमोरी में सेव किया गया कॉन्टेंट तुरंत लोड हो जाता है—और उसे रीफ़्रेश करने में आसानी होती है. साथ ही, कैश मेमोरी में सेव किए गए कॉन्टेंट के अपडेट आने वाले समय में इस्तेमाल किए जाएंगे.

Google Display Network में दिखने वाले विज्ञापनों से जुड़ी केस स्टडी

GPT टीम ने 2016 में gpt.js के एचटीटीपी रिस्पॉन्स में इस Cache-Control हेडर को जोड़ा था, ताकि ब्राउज़र stale-while-revalidate को लागू कर सकें:

cache-control: private, max-age=900, stale-while-revalidate=3600

इस सेटिंग का मतलब है कि अगर कैश मेमोरी की पिछली वैल्यू के बाद 15 से 60 मिनट के बीच gpt.js का अनुरोध किया जाता है, तो कैश मेमोरी की वैल्यू का इस्तेमाल, अनुरोध पूरा करने के लिए किया जाएगा. भले ही, वह वैल्यू पुरानी हो. इसके साथ ही, कैश मेमोरी में नई वैल्यू डालने के लिए, बैकग्राउंड में फिर से पुष्टि करने का अनुरोध किया जाएगा, ताकि आने वाले समय में इसका इस्तेमाल किया जा सके.

Chrome ने stale-while-revalidate को पूरे ट्रैफ़िक के 75 से 99% वर्शन में रोल आउट किया है. इसके असर को मापने के लिए, इस सुविधा के 1% ट्रैफ़िक को कुछ समय के लिए बंद कर दिया गया है. GPT टीम ने विज्ञापन स्क्रिप्ट के लिए stale-while-revalidate के असर की जांच करने के लिए, इस 1% (प्रयोग के तौर पर शुरू किए गए ग्रुप) से मेट्रिक और चालू सुविधा (कंट्रोल ग्रुप) से ट्रैफ़िक के 1% नमूने को लॉग किया. पिछले दो हफ़्तों में, Google डिसप्ले विज्ञापन के 5.2 अरब विज्ञापन इंप्रेशन के सैंपल साइज़ से लॉग की गई मेट्रिक का इस्तेमाल किया गया. इस दौरान, कंट्रोल ग्रुप को यह जानकारी मिली:

  • विज्ञापन इंप्रेशन में 0.3% की बढ़ोतरी हुई.
  • आय में 0.5% की बढ़ोतरी हुई.
  • विज्ञापन स्क्रिप्ट के शुरुआती लोड में 2% की बढ़ोतरी हुई (पेज लोड की शुरुआत से 500 मि.से. से कम).
  • कुल सफल विज्ञापन स्क्रिप्ट लोड में 1.1% की बढ़ोतरी हुई.
विज्ञापन स्क्रिप्ट लोड की संख्या के मुकाबले पेज लोड शुरू होने से लेकर विज्ञापन स्क्रिप्ट लोड (मिलीसेकंड) तक के समय में हुए बदलाव का प्रतिशत
सोर्स: Google का इंटरनल डेटा, जून से जुलाई 2019 तक.

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

अपनी साइट पर पुरानी जानकारी को फिर से पुष्टि करने के दौरान लागू करना

GPT टीम ने देखा है कि stale-while-revalidate के साथ एचटीटीपी हेडर में आसान सा बदलाव करने से स्पीड बेहतर हो सकती है और कारोबार की मेट्रिक बढ़ सकती है. अपनी साइट पर stale-while-revalidate को लागू करने के बारे में ज़्यादा जानकारी के लिए, प्रॉडक्ट की पुरानी जानकारी को 'हाल ही में पुष्टि करने के दौरान पुरानी जानकारी' के साथ अप-टू-डेट रखना पोस्ट देखें.

Unsplash पर काहिका की फ़ोटो