Os blocos de anúncios do Google AdSense são atualizados após a solicitação de anúncio ter sido feita para indicar se esse bloco foi preenchido com um criativo ou não. Para verificar a porcentagem dos seus blocos que não foi preenchida, consulte a cobertura média deles nos relatórios do Google AdSense.
Depois que um bloco solicita um anúncio, o Google AdSense adiciona um parâmetro ao elemento <ins>
chamado data-ad-status
. Observação: o data-ad-status
não deve ser confundido com o data-adsbygoogle-status
, que é usado pelo nosso código de anúncio para processamento dos anúncios.
Caso um anúncio tenha sido retornado ou não, esse parâmetro será atualizado para uma das seguintes opções:
data-ad-status="filled" |
Um anúncio foi retornado ao bloco de anúncios e está em exibição. |
data-ad-status="unfilled" |
Nenhum anúncio foi retornado, e o bloco de anúncios está vazio. |
O que o Google AdSense faz com blocos de anúncios não preenchidos
Quando os blocos de anúncios do Google AdSense estão unfilled
, tentamos recolhê-los ou mostrar um espaço em branco. Só recolhemos os blocos de anúncios quando isso não causa o reflow de página, ou seja, apenas os blocos fora da janela de visualização serão recolhidos. Para todos os outros blocos não preenchidos, exibimos um espaço em branco do tamanho original deles.
Como ocultar blocos de anúncios não preenchidos
(avançado) Você pode otimizar esse comportamento usando CSS ou JavaScript. Por exemplo, se você quiser ocultar todos os blocos de anúncios não preenchidos, use CSS para aplicar um estilo display: none!important;
ao elemento.
Exemplo 1: ocultar blocos de anúncios não preenchidos usando CSS
Você pode adicionar o seguinte estilo CSS à sua página para ocultar automaticamente blocos de anúncios não preenchidos:
<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;
}
Exemplo 2: exibir uma imagem somente se o bloco de anúncios não estiver preenchido
Se um bloco não exibir um anúncio, você poderá optar por exibir um anúncio interno:
<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;
}
Se você preferir usar JavaScript para atualizar sua página, utilize o objeto MutationObserver para detectar mudanças no parâmetro data-ad-status
e executar o código JavaScript com base nessas mudanças.
Limitações
O parâmetro data-ad-status
só é adicionado a blocos de anúncios que existem na janela superior. Isso significa que, para blocos veiculados em uma janela de vários domínios, o parâmetro data-ad-status
não será adicionado a um bloco de anúncios.
Também não recomendamos carregar blocos de anúncios do Google AdSense como inicialmente ocultos com o objetivo de torná-los visíveis após a alteração do parâmetro data-ad-status
. Se os blocos de anúncios não estiverem visíveis na página inicialmente, não será possível executar a solicitação de anúncio para eles.