विज्ञापन का अनुरोध किए जाने के बाद, AdSense की विज्ञापन यूनिट अपडेट होती हैं. अनुरोध का मकसद यह पता करना होता है कि विज्ञापन यूनिट में विज्ञापन क्रिएटिव मौजूद है या उसे खाली छोड़ा गया है. आप AdSense रिपोर्टिंग में अपनी औसत कवरेज को देखकर पता कर सकते हैं कि आपकी विज्ञापन यूनिट का कितना प्रतिशत हिस्सा खाली है.
जब विज्ञापन यूनिट, विज्ञापन के लिए अनुरोध पूरा कर लेती है, तब AdSense data-ad-status
नाम के <ins>
एलिमेंट में एक पैरामीटर जोड़ देता है. ध्यान दें: data-ad-status
को data-adsbygoogle-status
समझने की भूल नहीं होनी चाहिए. हमारा विज्ञापन कोड इसका इस्तेमाल विज्ञापन प्रोसेसिंग के लिए करता है.
विज्ञापन शामिल किया गया था या नहीं, इसके आधार पर यह पैरामीटर इनमें से किसी एक पर अपडेट होगा:
data-ad-status="filled" |
विज्ञापन यूनिट में विज्ञापन को शामिल किया गया और अब वह दिख रहा है. |
data-ad-status="unfilled" |
कोई विज्ञापन शामिल नहीं किया गया इसलिए विज्ञापन यूनिट खाली है. |
खाली विज्ञापन यूनिट को AdSense कैसे मैनेज करता है
AdSense की विज्ञापन यूनिट "खाली
" होने पर, हम विज्ञापन यूनिट को छोटा करने की कोशिश करते हैं या खाली जगह दिखाते हैं. हम विज्ञापन यूनिट को सिर्फ़ तब छोटा करते हैं, जब वे पेज के रीफ़्लो होने की वजह न हों. इसका मतलब है कि सिर्फ़ व्यूपोर्ट के बाहर वाली विज्ञापन यूनिट छोटी की जाती हैं. दूसरी सभी खाली विज्ञापन यूनिट के लिए, हम विज्ञापन यूनिट का साइज़ बनाए रखते हैं और इसके बजाय खाली जगह दिखाते हैं.
खाली विज्ञापन यूनिट को छिपाने का तरीका
(बेहतर) सीएसएस या JavaScript का इस्तेमाल करके, इस व्यवहार को बेहतर बनाया जा सकता है. उदाहरण के लिए, अगर आपको सभी खाली विज्ञापन यूनिट को छिपाना है, तो एलिमेंट पर display: none !important;
स्टाइल लागू करने के लिए सीएसएस का इस्तेमाल किया जा सकता है.
उदाहरण 1: सीएसएस का इस्तेमाल करके खाली विज्ञापन यूनिट छिपाना
आपके पास अपने पेज पर इन सीएसएस स्टाइल को जोड़ने का विकल्प है, ताकि खाली विज्ञापन यूनिट अपने-आप छिप सकें:
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-1234567890123456"
data-ad-slot="1234567890"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
ins.adsbygoogle[data-ad-status="unfilled"] {
display: none !important;
}
उदाहरण 2: विज्ञापन यूनिट के खाली होने पर ही इमेज दिखाना
अगर विज्ञापन यूनिट कोई विज्ञापन नहीं दिखाती है, तो आप इसके बजाय हाउस विज्ञापन दिखाने का विकल्प चुना जा सकता है:
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-1234567890123456"
data-ad-slot="1234567890">
<a href="/page"><img src="/backup.jpg" width="300px" height="250px"></a>
</ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
ins.adsbygoogle a {
display: none !important;
}
ins.adsbygoogle[data-ad-status="unfilled"] a {
display: block;
}
इसके अलावा, अगर आप अपने पेज को अपडेट करने के लिए JavaScript का इस्तेमाल करना चाहते हैं, तो data-ad-status
पैरामीटर के बदलावों को पहचानने और उन बदलावों को JavaScript कोड के आधार पर पूरा करने के लिए MutationObserver का इस्तेमाल कर सकते हैं.
सीमाएं
data-ad-status
पैरामीटर, सिर्फ़ सबसे ऊपर वाली विंडो में मौजूद विज्ञापन यूनिट में जोड़ा जाता है. इसका मतलब यह है कि क्रॉस-डोमेन विंडो के ज़रिए दिखाई जा रही विज्ञापन यूनिट के लिए, data-ad-status
पैरामीटर को किसी विज्ञापन यूनिट में नहीं जोड़ा जाएगा.
हम इस बात का भी सुझाव नहीं देते कि शुरुआत में, AdSense की विज्ञापन यूनिट छिपी हुई यूनिट के तौर पर लोड की जाएं. इसका मकसद बस इतना है कि data-ad-status
का पैरामीटर बदलने के बाद, विज्ञापन यूनिट दिखनी चाहिए. अगर शुरुआत में पेज पर विज्ञापन यूनिट नहीं दिखती हैं, तो हो सकता है कि हम उस विज्ञापन यूनिट के लिए विज्ञापन अनुरोध को स्वीकार न करें.