AdSense-এর বিজ্ঞাপন ইউনিট বিজ্ঞাপন অনুরোধ করার পরে আপডেট করা হয়। যাতে এটি বোঝা যায় বিজ্ঞাপন ইউনিট বিজ্ঞাপন ক্রিয়েটিভের মাধ্যমে পূরণ করা হয়েছে নাকি এটি অপূর্ণ রয়েছে। AdSense রিপোর্টিংয়ের গড় কভারেজ পর্যালোচনা করে আপনি বিজ্ঞাপন ইউনিটের কত শতাংশ অপূর্ণ রয়েছে তা চেক করে দেখতে পারবেন।
বিজ্ঞাপন ইউনিট বিজ্ঞাপন অনুরোধ করার কাজ সম্পূর্ণ করলে, AdSense data-ad-status
নামে একটি প্যারামিটার <ins>
এলিমেন্টে যোগ করে। মনে রাখবেন: data-ad-status
কিন্তু data-adsbygoogle-status
নয়, যা বিজ্ঞাপন প্রসেস করার উদ্দেশ্যে আমাদের বিজ্ঞাপন কোড ব্যবহার করে।
বিজ্ঞাপন ফিরিয়ে দেওয়া বা না দেওয়ার উপর ভিত্তি করে এই প্যারামিটার নিচে দেওয়া কোডগুলির একটিকে আপডেট করবে:
data-ad-status="filled" |
বিজ্ঞাপন ইউনিটে একটি বিজ্ঞাপনকে ফিরিয়ে দেওয়া হয়েছে এবং সেটি এখন দেখা যাচ্ছে। |
data-ad-status="unfilled" |
কোনও বিজ্ঞাপন ফিরিয়ে দেওয়া হয়নি এবং বিজ্ঞাপন ইউনিটে কিছু নেই। |
অপূর্ণ বিজ্ঞাপন ইউনিটের সাথে AdSense কী করে থাকে
AdSense-এর বিজ্ঞাপন ইউনিট "ফাঁকা থাকলে
", আমরা চেষ্টা করি যাতে সেটি আড়াল করে রাখা হয় অথবা একটি খালি স্পেস দেখানো হয়। আমরা তখনই বিজ্ঞাপন ইউনিট আড়াল করে দিই যখন ইউনিটগুলি আর পৃষ্ঠা রিফ্লো করতে পারে না, এর অর্থ হল ভিউপোর্টের বাইরে থাকা বিজ্ঞাপন ইউনিটগুলিকে শুধুমাত্র আড়াল করে দেওয়া হয়। অন্যান্য সব অপূর্ণ বিজ্ঞাপন ইউনিটের জন্য, আমরা বিজ্ঞাপন ইউনিটের সাইজ বজায় রাখি এবং একটি খালি স্পেস তার পরিবর্তে দেখানো হয়।
আপনার অপূর্ণ বিজ্ঞাপন ইউনিটকে কীভাবে লুকাবেন
(উন্নত) আপনি CSS বা জাভাস্ক্রিপ্ট ব্যবহার করে এই আচরণকে অগমেন্ট করতে পারেন। যেমন, যেসব বিজ্ঞাপন ইউনিট ফাঁকা আছে সেগুলির জন্য আপনি এলিমেন্টে CSS ব্যবহার করে display: none !important;
স্টাইল প্রয়োগ করতে পারেন।
উদাহরণ ১: CSS ব্যবহার করে ফাঁকা আছে এমন বিজ্ঞাপন ইউনিট লুকানো
ফাঁকা আছে এমন বিজ্ঞাপন ইউনিট অটোমেটিক লুকাতে, আপনি নিচে দেখানো CSS স্টাইল আপনার পৃষ্ঠাতে যোগ করতে পারেন:
<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;
}
উদাহরণ ২: বিজ্ঞাপন ইউনিট ফাঁকা থাকলে শুধু একটি ছবি দেখানো
কোনও বিজ্ঞাপন ইউনিটে বিজ্ঞাপন না দেখানো হলে, আপনি সেই জায়গায় 'আমাদের বিজ্ঞাপন' দেখানোর বিকল্প বেছে নিতে পারেন:
<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
প্যারামিটারে পরিবর্তন শনাক্ত করার জন্য আপনি MutationObserver ব্যবহার করতে পারবেন এবং এই পরিবর্তনগুলির উপর ভিত্তি করে JavaScript কোড এক্সিকিউট করতে পারবেন।
সীমাবদ্ধতা
সবচেয়ে উপরের উইন্ডোতে থাকা বিজ্ঞাপন ইউনিটের জন্যই শুধু data-ad-status
প্যারামিটার যোগ করা হয়। এর অর্থ হল, যেসব বিজ্ঞাপন ইউনিট ক্রস-ডোমেন উইন্ডোর মাধ্যমে পরিবেশিত হয়, সেগুলির জন্য data-ad-status
প্যারামিটার বিজ্ঞাপন ইউনিটের সাথে যোগ করা যায় না।
তাছাড়া, AdSense-এর বিজ্ঞাপন ইউনিটকে 'প্রাথমিকভাবে লুকানো' অবস্থায় লোড করার সাজেশনও আমরা দিই না, কারণ আমরা চাই data-ad-status
প্যারামিটারে পরিবর্তন করে সেগুলিকে যেন সম্পূর্ণভাবে দেখানো সম্ভব হয়। কোনও বিজ্ঞাপন ইউনিট পৃষ্ঠাতে প্রাথমিকভাবে না দেখা গেলে, সেই বিজ্ঞাপন ইউনিটের জন্য বিজ্ঞাপনের অনুরোধ এক্সিকিউট নাও করতে পারি।