AdSense reklam birimleri, reklam biriminin bir reklam öğesi ile doldurulduğunu veya doldurulmadan bırakıldığını belirtmek üzere, reklam isteği yapıldıktan sonra güncellenir. AdSense raporlarındaki ortalama kapsamınızı inceleyerek reklam birimlerinizin yüzde kaçının doldurulmadığını kontrol edebilirsiniz.
Bir reklam biriminin reklam isteği bittikten sonra AdSense, <ins>
öğesine data-ad-status
adlı bir parametre ekler. Not: data-ad-status
, reklam işleme amacıyla reklam kodumuz tarafından kullanılan data-adsbygoogle-status
ile karıştırılmamalıdır.
Bir reklamın döndürülüp döndürülmediğine bağlı olarak, bu parametre aşağıdakilerden birine güncellenir:
data-ad-status="filled" (dolduruldu) |
Reklam birimine döndürülen reklam şu anda gösterilmektedir. |
data-ad-status="unfilled" (doldurulmadı) |
Hiçbir reklam döndürülmedi ve reklam birimi boş. |
AdSense doldurulmayan reklam birimleriyle ilgili hangi işlemleri gerçekleştirir?
AdSense reklam birimleri "unfilled
" değerine sahip olduğunda (doldurulmadığında), reklam birini daraltmaya veya boş bir alan göstermeye çalışırız. Reklam birimlerini, yalnızca sayfanın yeniden düzenlenmesine neden olmayacağı durumlarda daraltırız. Yani, yalnızca görüntü alanının dışındaki reklam birimleri daraltılır. Diğer tüm doldurulmayan reklam birimlerinin boyutunu korur ve bunun yerine boş bir alan gösteririz.
Doldurulmayan reklam birimlerinizi gizleme
(gelişmiş) Bu davranışı CSS veya JavaScript kullanarak gerçekleştirebilirsiniz. Örneğin, tüm doldurulmayan reklam birimlerini gizlemek istiyorsanız CSS'yi kullanarak öğeye bir display: none !important;
stili uygulayabilirsiniz.
1. Örnek: Doldurulmayan reklam birimlerini CSS kullanarak gizleme
Doldurulmayan reklam birimlerini otomatik olarak gizlemek için sayfanıza şu CSS stilini ekleyebilirsiniz:
<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. Örnek: Yalnızca reklam birimi doldurulmamışsa bir resmi gösterme
Bir reklam biriminde reklam gösterilmiyorsa, bunun yerine bir kurum reklamı gösterebilirsiniz:
<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;
}
Alternatif olarak, sayfanızı güncellemek için JavaScript kullanmayı tercih ederseniz, MutationObserver API'sini kullanarak data-ad-status
parametresindeki değişiklikleri algılayabilir ve bu değişikliklere göre JavaScript kodunu yürütebilirsiniz.
Sınırlamalar
data-ad-status
parametresi yalnızca üst pencerede bulunan reklam birimlerine eklenir. Yani, alanlar arası pencerede sunulan reklam birimleri söz konusu olduğunda data-ad-status
parametresi bir reklam birimine eklenmez.
Ayrıca, AdSense reklam birimlerini, data-ad-status
parametre değişikliğiyle görünür hale getirmek amacıyla, başlangıçta gizli olarak yüklemenizi önermeyiz. Reklam birimleri başlangıçta sayfada görünmüyorsa, söz konusu reklam birimine yönelik reklam isteğini yürütemeyebiliriz.