Po odeslání žádosti o reklamu se reklamní jednotky AdSense aktualizují, aby bylo možné zjistit, zda jednotka byla vyplněna kreativou, nebo zda byla ponechána nevyplněná. Procento nevyplněných reklamních jednotek můžete zjistit tím, že v přehledu AdSense zkontrolujete průměrné pokrytí.
Když reklamní jednotka dokončí žádost o reklamu, AdSense přidá do prvku <ins>
parametr data-ad-status
. Poznámka: Parametr data-ad-status
by neměl být zaměňován s parametrem data-adsbygoogle-status
, který je používán naším kódem reklamy pro účely zpracování reklam.
V závislosti na tom, zda byla nebo nebyla vrácena reklama, se parametr aktualizuje jedním z následujících způsobů:
data-ad-status="filled" |
Do reklamní jednotky byla vrácena reklama, která se nyní zobrazuje. |
data-ad-status="unfilled" |
Nebyly vráceny žádné reklamy a reklamní jednotka je prázdná. |
Co AdSense dělá s nevyplněnými reklamními jednotkami
Když mají reklamní jednotky stav unfilled
, pokusíme se je sbalit, nebo zobrazit prázdné místo. Reklamní jednotky sbalíme jenom v případě, že to nezpůsobí přeuspořádání stránky. To znamená, že se sbalí jenom reklamní jednotky mimo zobrazovanou oblast. U všech ostatních nevyplněných reklamních jednotek zachováme původní velikost a zobrazí se prázdný prostor.
Skrytí nevyplněných reklamních jednotek
(pokročilé) Toto chování můžete podpořit tím, že použijete CSS nebo JavaScript. Pokud například chcete skrýt všechny nevyplněné reklamní jednotky, můžete použít CSS a aplikovat na prvek styl display: none !important;
.
Příklad č. 1: Skrytí nevyplněných reklamních jednotek pomocí CSS
Pokud chcete na stránce automaticky skrýt nevyplněné reklamní jednotky, můžete na stránku přidat následující styl 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;
}
Příklad č. 2: Obrázek se zobrazí jen tehdy, pokud je reklamní jednotka prázdná
Když reklamní jednotka nezobrazuje reklamu, můžete místo ní zobrazit vlastní reklamu:
<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;
}
Pokud chcete k aktualizaci své stránky raději použít JavaScript, můžete použít MutationObserver, který detekuje změny v parametru data-ad-status
a v závislosti na těchto změnách provede kód JavaScript.
Omezení
Parametr data-ad-status
se přidává jenom do reklamních jednotek, které existují v horním okně. To znamená, že v případě reklamních jednotek, které se zobrazují v rámci okna napříč doménami, se parametr data-ad-status
k jednotce nepřidá.
Také nedoporučujeme načítat reklamní jednotky AdSense jako zpočátku skryté s cílem zviditelnit, až se změní parametr data-ad-status
. Pokud reklamní jednotky zpočátku nejsou na stránce viditelné, nemusí se u nich vůbec aktivovat odeslání žádosti o reklamu.