Und das Nächste von Google, das mal wieder nicht passt. Betrifft aber nur diejenigen, die überhaupt Adsense nutzen und auf den Status von "data-ad-status" reagieren, also hier im Forum wohl keine
Bei Adsense ist das ja so, dass sowohl bei nativen Anzeigen als auch bei Auto-Ads Werbeplätze "erweitert" werden, also an ein Format einer Werbeanzeige vergrößert werden, dann aber nicht befüllt wird. Das ist dann genau der Moment, wo man mitten auf der Seite oder im Text einen Leeren Bereich hat. Das ist super, vor allem Mobil, wenn das das ganze Display betrifft, aber halt nix drinnen ist. Schaut dann so aus, als ob man da einfach beim nächsten Absatz <p> ein "margin-top" von 400 Pixel hätte, also ein sinnloser Abstand.
Warum das so sein muss, also warum erst ein Container erweitert wird, bevor man prüft, ob überhaupt Anzeigen ausgeliefert werden können, das weiß auch nur Google. Ich würde das jedenfalls in der Reihenfolge machen. Aber egal, Google hat ja eine Lösung dafür und übermittelt den Status auf den man dann offiziell auch reagieren DARF!
Also es gibt in jedem Ad, egal ob nativ oder Autoad das Data-Attribut "data-ad-status". Das wird, wenn eine Anzeige verfügbar ist, auf "filled" gesetzt oder eben, wenn keine da ist, auf "unfilled". Damit kann man dann, einen bereits vergrößerten Container über den Status erkennen und auf z.B. display:none setzen, mit:
Dann wird also die Seite geladen, ein möglicher Container erweitert. Wenn befüllt, der Status "filled" gesetzt und fertig oder eben, wenn nicht befüllt der Status "unfilled" gesetzt und dann per CSS ausgeblendet. Wie gesagt, das ist eine offiziell von Adsense erlaubte Funktion bzw. erlaubter Eingriff in die Ads.
Das Problem nun, wen wundert es, es ist ja ein Google-System.....
Es werden Container erweitert, Ads eingefügt, die sind also für ca. eine Sekunde sichtbar und dann folgt der Status "unfilled". Das ist also auch eine Lüge, denn das Ad ist ja drinnen.
In diesem Fall ist es eine Werbung der Deutschen Bahn. Nimmt man das display:none dann nämlich einfach mal temporär raus ist die Werbeanzeige vorhanden. Bedeutet also, wenn man das nutzt, wie von Google vorgegeben, dann ist möglicherweise eine Werbung abgerufen und eingebunden, wird dann aber ausgeblendet, weil Google den FALSCHEN Status setzt.
Und lässt man das einfach weg, damit Werbung, die da ist, auch angezeigt wird, dann funktioniert das natürlich an anderen Stellen auch nicht mehr, denn es gibt dann wieder teilweise leere Container. Und das, weil ein falscher Status da ist. unfilled = leer, filled = befüllt, kann ja nicht so schwer sein. Bei Google bedeutet es aber teilweise unfilled = befüllt.