Po odoslaní žiadosti o reklamu sa reklamné jednotky služby AdSense aktualizujú a informujú, či je reklamná jednotka obsadená reklamnou kreatívou. Percento neobsadených reklamných jednotiek môžete zistiť tak, že v prehľadoch služby AdSense skontrolujete pokrytie.
Keď reklamná jednotka dokončí žiadosť o reklamu, AdSense pridá do prvku <ins>
parameter data-ad-status
. Poznámka: Parameter data-ad-status
by sa nemal zamieňať s parametrom data-adsbygoogle-status
, ktorý používa kód reklamy na účely spracúvania reklám.
V závislosti od toho, či došlo k vráteniu reklamy, sa tento parameter aktualizuje na jednu z nasledujúcich hodnôt:
data-ad-status="filled" |
Systém vrátil reklamnej jednotke reklamu a tá sa teraz zobrazuje. |
data-ad-status="unfilled" |
Systém nevrátil žiadne reklamy a reklamná jednotka je prázdna. |
Čo robí AdSense s neobsadenými reklamnými jednotkami
Keď sú reklamné jednotky služby AdSense v stave unfilled
, snažíme sa reklamnú jednotku zbaliť alebo zobraziť prázdne miesto. Reklamné jednotky zbalíme iba vtedy, keď nespôsobia preformátovanie stránky. Znamená to, že sa zbalia iba reklamné jednotky mimo oblasti zobrazenia. V prípade všetkých ostatných neobsadených reklamných jednotiek sa zachová veľkosť reklamnej jednotky a namiesto nej sa zobrazí prázdny priestor.
Ako skryť neobsadené reklamné jednotky
(rozšírené) Toto správanie môžete rozšíriť pomocou šablón CSS alebo kódu JavaScript. Ak napríklad chcete skryť všetky neobsadené reklamné jednotky, pomocou šablón CSS môžete na daný prvok aplikovať štýl display: none !important;
.
Príklad č. 1: skrytie neobsadených reklamných jednotiek pomocou šablón CSS
Na stránku môžete pridať nasledujúci štýl CSS s cieľom automaticky skrývať neobsadené reklamné jednotky:
<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;
}
Príklad č. 2: zobrazovanie obrázka iba v prípade neobsadenej reklamnej jednotky
Ak reklamná jednotka nezobrazí reklamu, môžete namiesto nej zobraziť 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;
}
Prípadne ak chcete stránku radšej aktualizovať pomocou kódu JavaScript, môžete použiť metódu MutationObserver na zisťovanie zmien v parametri data-ad-status
a na základe týchto zmien spúšťať kód JavaScript.
Obmedzenia
Parameter data-ad-status
sa pridáva iba do reklamných jednotiek, ktoré existujú v hornom okne. Znamená to, že do reklamných jednotiek zobrazovaných prostredníctvom okna pre viacero domén sa parameter data-ad-status
nepridá.
Okrem toho reklamné jednotky služby AdSense neodporúčame načítavať najprv ako skryté s cieľom zviditeľniť ich po zmene parametra data-ad-status
. Ak reklamné jednotky nie sú na stránke od začiatku viditeľné, možno sa pre danú reklamnú jednotku nebude dať spustiť žiadosť o reklamu.