Po wysłaniu żądania reklamy jednostki reklamowe AdSense wykonują aktualizację, aby poinformować, czy zostały zajęte przez reklamy, czy też pozostają niewypełnione. Aby zobaczyć, jaki procent jednostek reklamowych jest niewypełnionych, sprawdź średnie pokrycie w raportach AdSense.
Gdy jednostka reklamowa wyśle żądanie reklamy, AdSense dodaje do elementu <ins>
parametr o nazwie data-ad-status
. Uwaga: parametru data-ad-status
nie należy mylić z atrybutem data-adsbygoogle-status
, który służy naszemu kodowi reklamy do przetwarzania reklam.
W zależności od tego, czy została zwrócona reklama, parametrowi temu zostanie przypisana jedna z tych wartości:
data-ad-status="filled" |
Reklama została zwrócona do jednostki reklamowej i się w niej wyświetla. |
data-ad-status="unfilled" |
Nie zostały zwrócone żadne reklamy, a jednostka reklamowa jest pusta. |
Co AdSense robi z niewypełnionymi jednostkami reklamowymi?
Gdy jednostki reklamowe AdSense są „niewypełnione
”, staramy się albo je zwijać, albo wyświetlać puste miejsce. Zwijamy jednostki reklamowe tylko wtedy, gdy nie spowoduje to przeformatowania strony. Oznacza to, że zwijane są tylko jednostki reklamowe poza widocznym obszarem. W przypadku pozostałych niewypełnionych jednostek reklamowych wyświetlamy zamiast nich puste miejsce o wielkości odpowiadającej ich rozmiarowi.
Jak ukryć niewypełnione jednostki reklamowe
(dla zaawansowanych) Ukrywanie niewypełnionych jednostek reklamowych możesz ulepszyć za pomocą CSS-u lub JavaScriptu. Jeśli np. chcesz ukrywać wszystkie niewypełnione jednostki reklamowe, możesz użyć CSS-u, aby zastosować do danego elementu styl display: none !important;
.
Przykład 1. Ukrywanie niewypełnionych jednostek reklamowych za pomocą CSS-u
Aby automatycznie ukrywać niewypełnione jednostki reklamowe, możesz dodać do strony ten 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;
}
Przykład 2. Wyświetlanie obrazu tylko wtedy, gdy jednostka reklamowa jest niewypełniona
Jeśli jednostka reklamowa nie wyświetla reklamy, możesz w niej pokazywać autoreklamę:
<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;
}
Jeśli do aktualizowania strony wolisz używać JavaScriptu, możesz za pomocą narzędzia MutationObserver wykrywać zmiany wartości parametru data-ad-status
i w odpowiedzi na nie wykonywać kod JavaScript.
Ograniczenia
Parametr data-ad-status
jest dodawany tylko do jednostek reklamowych, które występują w górnym oknie. Oznacza to, że ten parametr nie będzie dodawany do jednostek reklamowych wyświetlanych w oknie międzydomenowym.
Nie zalecamy też wczytywania jednostek reklamowych AdSense jako początkowo ukrytych i wyświetlanych dopiero po zmianie wartości parametru data-ad-status
. Jeśli jednostki reklamowe nie są początkowo widoczne na stronie, możemy nie wykonać w ich przypadku żądania reklamy.