AdSense in WordPress DSGVO-konform einbauen
Werbung und AdSense in WordPress einbauen, ohne dich in Code, Ladezeit und Consent-Fragen zu verzetteln: der praktische Leitfaden mit Schritt-für-Schritt-Anleitung, Google Consent Mode v2 und einer Prüfanleitung für den Browser.
Du willst Werbung oder Google AdSense in WordPress einbauen und fragst dich, wie du das sauber, schnell und datenschutzbewusst hinbekommst? Der übliche Weg ist, irgendwo einen AdSense-Schnipsel ins Theme zu kopieren und zu hoffen, dass es passt. Das rächt sich später: bei der Wartung, bei der Ladezeit und beim Thema Einwilligung. In diesem Beitrag zeige ich dir, wie du Anzeigen zentral steuerst statt Code wild einzustreuen, worauf du beim Datenschutz achten solltest, wie du das Einwilligungssignal setzt und an Google meldest, und wie du anschließend im Browser nachweist, dass wirklich nichts vor der Zustimmung lädt.
Warum du Werbung steuern solltest statt Code einzustreuen
Sobald du den ersten Werbeblock direkt in eine Theme-Datei oder einen Beitrag klebst, beginnt ein kleines Chaos. Beim nächsten Theme-Update ist der Code eventuell weg. Willst du eine Anzeige an zehn Stellen zeigen, pflegst du sie zehnmal. Und wenn du testen willst, ob eine Position überhaupt etwas bringt, fehlt dir jede Grundlage, weil du nichts misst.
Drei Gründe sprechen dafür, Werbung an einer Stelle zu verwalten:
- Wartbarkeit: Ein Werbeblock, eine Quelle. Du änderst den Code einmal und die Anzeige aktualisiert sich überall, wo du sie eingebunden hast.
- Performance: Werbeskripte sind oft die schwersten Elemente einer Seite. Wer sie kontrolliert lädt (Stichwort Lazy-Load), schützt seine Ladezeit und damit auch die Rankings.
- Recht: Werbung, besonders personalisierte, berührt den Datenschutz. Eine zentrale Steuerung macht es leichter, Anzeigen erst nach einer Einwilligung auszuspielen, statt in jedem Snippet einzeln daran zu denken.
Genau hier setzt ein Werbe-Manager wie Adjet an: Du legst Anzeigen als eigene Blöcke an, entscheidest zentral über Platzierung und Regeln und siehst die Wirkung in einer lokalen Statistik. Kein Suchen in Theme-Dateien mehr.
Ein Hinweis zum Namen, bevor du im Backend vergeblich suchst: Im offiziellen WordPress-Verzeichnis heißt die kostenlose Fassung Hafenstudios Ads, nicht Adjet. Du installierst sie unter Plugins, Installieren, Suche nach „Hafenstudios Ads“, oder direkt über wordpress.org/plugins/hafenstudios-ads/. Stand Anfang September 2026 steht dort Version 2.5.0 bei mindestens 100 aktiven Installationen und 14 Bewertungen mit einem Schnitt von 5,0; im August 2026 hat WordPress.org das Plugin auf die Featured-Liste genommen.
DSGVO-Grundlagen für Werbung: das Wichtigste vorab
Wichtig zuerst: Das hier ist keine Rechtsberatung, sondern eine praktische Orientierung. Im Zweifel klärst du die Details mit einer fachkundigen Person. Ein paar Punkte gelten aber in der Regel als Konsens, wenn es um Werbung auf Websites geht.
Personalisierte Anzeigen, wie sie AdSense standardmäßig ausspielt, setzen üblicherweise Cookies oder ähnliche Technologien, um Nutzer wiederzuerkennen. Solche Verfahren brauchen in der Regel eine aktive Einwilligung, den sogenannten Consent. Das bedeutet praktisch:
- Du brauchst normalerweise ein Consent-Banner beziehungsweise eine Consent-Management-Plattform (CMP), über die Besucher zustimmen oder ablehnen können. Ablehnen sollte dabei genauso einfach sein wie Zustimmen, also ein Klick auf derselben Ebene und kein versteckter Umweg über eine Einstellungsseite.
- Werbung, die auf einwilligungspflichtigen Technologien beruht, sollte in der Regel erst nach der Zustimmung geladen werden, nicht schon vorher.
- Anzeigen gelten als Werbung und sollten als solche erkennbar sein. In Deutschland gilt eine klare Kennzeichnung als „Werbung“ als empfehlenswert, damit redaktioneller Inhalt und Anzeige nicht verschwimmen. Für bezahlte Verlinkungen gilt derselbe Gedanke, dazu steht mehr im Beitrag Affiliate-Links kennzeichnen.
Zwei Fundstellen sind dabei die praktisch wichtigen, und sie liegen auf verschiedenen Ebenen. Art. 6 Abs. 1 lit. a DSGVO nennt die Einwilligung als eine mögliche Rechtsgrundlage für die Verarbeitung personenbezogener Daten. Das TDDDG, der Nachfolger des früheren TTDSG, geht in § 25 Abs. 1 einen Schritt weiter: Wer Informationen auf dem Endgerät eines Nutzers speichert oder auf dort gespeicherte Informationen zugreift, braucht dafür grundsätzlich eine Einwilligung, unabhängig davon, ob die Daten personenbezogen sind. Technisch notwendige Speicherungen, etwa für den Warenkorb, sind nach Abs. 2 ausgenommen; ein Werbecookie ist es nicht. Ein Werbecookie ist damit doppelt erfasst, einmal für das Setzen und einmal für die anschließende Verarbeitung. Welches Werkzeug diese Einwilligung einholt und dokumentiert, vergleiche ich ausführlich im Beitrag Cookie-Consent-Plugins für WordPress im DSGVO-Vergleich.
Der wunde Punkt vieler Setups ist der Zeitpunkt: Wird das Werbeskript sofort beim Seitenaufruf geladen, ist es oft schon aktiv, bevor überhaupt jemand zugestimmt hat. Deshalb ist ein Consent-Gating, das Anzeigen an die Zustimmung koppelt, so nützlich.
AdSense in WordPress einbauen: Schritt für Schritt
So gehst du eine saubere Einrichtung in sieben Schritten an. Sie funktionieren mit Adjet, das Prinzip lässt sich aber auf jedes gut gemachte Werbe-Setup übertragen. Die Schritte drei bis fünf sind die eigentliche Datenschutzarbeit; wer sie zusammenwirft, baut sich genau die Lücke, um die es in diesem Beitrag geht.
1. Werbeblock anlegen
Du hast zwei Wege. Entweder du fügst deinen eigenen Anzeigencode ein, etwa von einem Werbepartner, oder du nutzt den AdSense-Assistenten. Dort trägst du deine Publisher-ID und die Slot-ID ein und bekommst eine responsive Anzeige, die sich an den Platz anpasst. Wer möchte, kann optional den Auto-Ads-Loader von Google einbinden, bei dem Google selbst Positionen wählt. Woher diese beiden IDs kommen und was davor im AdSense-Konto passieren muss, vom Antrag über die Verifizierung bis zur ads.txt, steht im Beitrag Google AdSense in WordPress einbinden.
2. Platzierung und Targeting wählen
Jetzt entscheidest du, wo die Anzeige erscheint. Für eine automatische Platzierung stehen typische Positionen bereit: vor oder nach dem Inhalt, nach einem bestimmten Absatz oder nach dem ersten Bild. Willst du es genauer steuern, platzierst du manuell per Shortcode, Gutenberg-Block oder Widget:
[adjet_ad id="1"]
Für rotierende Anzeigen fasst du mehrere Blöcke in einer Gruppe zusammen, die nach Gewichtung ausgespielt wird:
[adjet_ad_group name="header"]
Über das Targeting grenzt du zusätzlich ein: nur Desktop, Tablet oder Mobile, nur bestimmte Beitragstypen, Kategorien, Tags oder Terms, jeweils auch mit Ausschlüssen. So zeigst du zum Beispiel eine mobile Anzeige nur in einer bestimmten Kategorie und lässt sie auf deinen Verkaufsseiten weg.
Der Consent-Teil: drei Aufgaben, drei Schritte
Jetzt kommt der Teil, den viele überspringen, und er besteht aus drei Aufgaben, die technisch nichts miteinander zu tun haben. Erstens muss irgendetwas die Entscheidung des Besuchers einholen und speichern. Zweitens muss diese Entscheidung an Googles Tags gemeldet werden. Drittens müssen die Anzeigen bis dahin zurückgehalten werden. Ein Banner allein erledigt nur die erste Aufgabe. Genau daran scheitern die meisten Einbauten: Der Besucher klickt auf Ablehnen, das Banner verschwindet zufrieden, und im Hintergrund lief das Werbeskript längst.
3. Das Consent-Signal einholen und speichern
Hier hast du zwei Wege, und du entscheidest dich für genau einen davon.
- Das eingebaute Banner: Adjet bringt eine Vorlage „Cookie-Consent“ mit. Du legst sie als Block an und aktivierst ihn, ab da speichert das Banner die Entscheidung im Cookie
adjet_consentmit einem Jahr Laufzeit undSameSite=Lax. Zustimmen und Ablehnen stehen als zwei Buttons nebeneinander auf der ersten Ebene, das Ablehnen versteckt sich nicht hinter einem Einstellungen-Link. In der kostenlosen Fassung ist das eine Alles-oder-nichts-Entscheidung; die Aufteilung in Kategorien (Notwendig, Statistik, Marketing, Präferenzen) mit einzelnen Auswahlfeldern gehört zu Pro. - Ein externes CMP: Du betreibst schon ein Consent-Werkzeug? Dann trägst du in den Adjet-Einstellungen nur den Namen des Cookies ein, das dein Werkzeug nach der Zustimmung setzt, und optional den Wert, der darin stehen muss. Adjet prüft von da an genau darauf und zeigt kein eigenes Banner. Trägst du einen Cookienamen ein, entscheidet ab dann dieses Cookie darüber, ob eine Anzeige laden darf, auch wenn das eingebaute Banner noch aktiv wäre.
Beides gleichzeitig zu betreiben ist keine gute Idee. Zwei Banner, die dieselbe Frage stellen, verwirren den Besucher, und am Ende dokumentierst du zwei Entscheidungen, die auseinanderlaufen können. Welches der gängigen Consent-Werkzeuge zu deiner Seite passt, steht im DSGVO-Vergleich der Cookie-Consent-Plugins.
4. Die Einwilligung an Google melden: Consent Mode v2
Ein gesetztes Cookie interessiert Google nicht. Seit März 2024 erwartet Google für Besucher aus dem EWR, dass die Einwilligung über Consent Mode v2 an die eigenen Tags gemeldet wird, sobald AdSense, Google Ads oder Analytics im Spiel sind. Das ist keine gesetzliche Pflicht, sondern eine Anforderung von Google an sein eigenes Ökosystem. Die Folgen sind trotzdem spürbar: lückenhafte Messdaten, schwächeres Remarketing und im ungünstigen Fall Einschränkungen im Konto.
Consent Mode v2 arbeitet mit Signalen, die entweder auf granted oder auf denied stehen. Die kostenlose Fassung setzt genau diese vier:
| Signal | Wofür es steht |
|---|---|
ad_storage | Speichern und Auslesen von Werbe-Cookies auf dem Endgerät |
ad_user_data | Übermittlung von Nutzerdaten an Google zu Werbezwecken |
ad_personalization | Personalisierte Werbung und Remarketing |
analytics_storage | Speichern für Analysezwecke, etwa Google Analytics |
Zwei weitere Signale gehören zum Standard, functionality_storage und personalization_storage. Beide setzt nur Adjet Pro, zusammen mit der Kategorienaufteilung des Banners, die sie auf „Präferenzen“ abbildet. Im Quelltext der kostenlosen Fassung kommen sie überhaupt nicht vor.
Die Reihenfolge ist der Punkt, an dem die meisten Einbauten scheitern. Vor dem ersten Google-Tag muss ein consent default stehen, in dem diese vier Signale auf denied stehen. Erst danach darf ein consent update die Entscheidung des Besuchers melden. Fehlt der Default, feuern die Tags ab dem Seitenaufruf mit vollem Speicherzugriff, und Googles Tag Assistant meldet „consent update called before default“. Adjet druckt den Default deshalb ganz früh im <head>, noch vor jedem gtag.js, und meldet eine bereits im Cookie gespeicherte Entscheidung sofort als Update nach. Ohne dieses Nachmelden hielte eine Ablehnung genau eine Seitenansicht lang, denn ein Page-Cache liefert allen Besuchern dasselbe HTML und kann das Cookie gar nicht kennen.
Google unterscheidet außerdem zwei Betriebsarten, und das ist eine echte Entscheidung:
- Basic: Die Google-Tags laden gar nicht erst, solange keine Einwilligung vorliegt. Ohne Zustimmung fließt nichts, dafür fehlen die Daten vollständig. Diesen Weg geht Adjet mit dem eingebauten Banner: Der AdSense-Loader wird zurückgehalten und erst nach der Zustimmung in die Seite injiziert.
- Advanced: Die Tags laden sofort, senden vor der Einwilligung aber nur cookielose Signale, aus denen Google fehlende Conversions modelliert. Das liefert mehr auswertbare Daten, bedeutet aber einen Request an Google, bevor der Besucher entschieden hat. Ob das ohne Speicherzugriff schon unter § 25 Abs. 1 TDDDG fällt, ist umstritten. Sicher ist nur, dass Basic diese Frage gar nicht erst stellt.
Es gibt noch einen dritten Weg, den Adjet als Schalter anbietet und der in Anleitungen fast immer fehlt: nicht-personalisierte Anzeigen. Ist die Einstellung aktiv, setzt Adjet vor dem AdSense-Loader Googles NPA-Flag, solange keine Einwilligung vorliegt. Der Besucher sieht dann Werbung ohne Personalisierung statt einer leeren Fläche, und die Consent-Mode-Signale bleiben unverändert auf denied. Der Schalter ist ab Werk aus, und die Einstellung sagt selbst dazu, warum: Auch nicht-personalisierte Anzeigen setzen Cookies für das Frequency Capping, in der EU brauchst du dafür unter Umständen trotzdem eine Einwilligung.
5. Die Anzeigen tatsächlich sperren
Erst jetzt kommt das Gating. Ist es aktiv, rendert Adjet den Werbecode nicht in die Seite, sondern legt ihn in ein template-Element, das der Browser nicht ausführt. Kommt die Zustimmung, holt das Frontend-Skript den Code heraus und hängt ihn ein. Ohne Zustimmung bleibt der Platz leer, und zwar leer im Wortsinn: Es liegt kein wartendes Skript darin, das nur auf ein Signal lauert. Bei Auto Ads, wo Google die Positionen selbst wählt und es keinen Block als Anker gibt, hält Adjet stattdessen die Loader-Adresse zurück und fügt sie nach der Entscheidung seitenweit ein.
6. Lazy-Load und Kennzeichnung einschalten
Aktiviere Lazy-Load, damit Anzeigen erst geladen werden, wenn sie in den sichtbaren Bereich rücken. Technisch übernimmt das ein IntersectionObserver, der beobachtet, ob der Block gleich sichtbar wird. Das spart Ladezeit, gerade wenn eine Anzeige weit unten steht. Schalte außerdem das optionale „Werbung“-Label ein, damit Anzeigen als solche erkennbar bleiben.
7. Wirkung in der Statistik prüfen
Nach dem Livegang schaust du in die lokale Statistik, einen 30-Tage-Chart als schlichtes SVG, der Impressionen und Klicks zeigt. Die Daten bleiben in deiner Datenbank, es gibt keine externen Calls an Adjet oder hafenstudios. So siehst du, welche Position und welches Format bei deinen Lesern funktioniert, und kannst schwache Platzierungen abschalten, statt zu raten. Für zeitlich begrenzte Aktionen hilft die Kampagnen-Planung mit optionaler Start- und Endzeit.
Prüfen, ob das Gating wirklich greift
Ein Häkchen in den Einstellungen ist kein Beweis. Der Beweis steht in den Entwicklerwerkzeugen deines Browsers, und er dauert keine zehn Minuten. Die Adressen, auf die es ankommt, sind zwei: Der AdSense-Loader kommt von pagead2.googlesyndication.com, ein Google-Ad-Manager-Slot von securepubads.g.doubleclick.net. Nach diesen beiden filterst du.
- Frisches privates Fenster öffnen. Sonst prüfst du gegen eine Entscheidung, die du selbst vor Wochen getroffen hast. Dann F12 drücken und in den Reiter Netzwerk wechseln.
- Filter setzen und neu laden. Tippe
googlesyndicationin das Filterfeld und lade die Seite. Vor jeder Entscheidung muss die Liste leer bleiben. Steht dort schon eine Zeile, lädt AdSense zu früh, und daran ändert auch das schönste Banner nichts. - Cookies ansehen. Im Reiter Anwendung (Chrome) beziehungsweise Speicher (Firefox) unter Cookies sollten vor der Entscheidung nur Einträge deiner eigenen Domain stehen, etwa die WordPress-Session. Nichts von Google.
- Auf Ablehnen klicken. Der Netzwerkfilter bleibt leer, und im Cookie
adjet_consentsteht jetztdenied. - Seite neu laden, ohne etwas zu löschen. Immer noch nichts von Google, und das Banner darf nicht wieder auftauchen. Diesen Test verlieren erstaunlich viele Setups: Ein Banner, das nach dem Neuladen erneut fragt, hat die Ablehnung nicht wirksam gespeichert.
- Cookies löschen, neu laden, zustimmen. Jetzt muss die Zeile im Netzwerkreiter erscheinen,
adjet_consentaufgrantedstehen und der Werbeplatz sich füllen. Passiert das nicht, ist das Gating zwar dicht, aber irgendetwas anderes stimmt nicht. - Consent Mode gegenprüfen. Tippe in der Konsole
dataLayerein und klappe die Einträge auf. Der erste consent-Eintrag muss eindefaultmit diesen vier Signalen aufdeniedsein, dasupdatemit deiner Entscheidung steht danach. Ist die Reihenfolge vertauscht, meldet auch Googles Tag Assistant den Fehler.
?adjet_debug=1 auf. Adjet schreibt dann an jede ausgelassene Stelle den ersten Grund hin, warum dort nichts steht: Beitragstyp, Seitentyp, Zeitplan, Wortzahl, Consent oder Gerät. Sichtbar ist das nur für dich, und diese Ansicht landet nie in einem Page-Cache. Das erspart das Raten, ob die Ursache beim Consent liegt oder ganz woanders.Das Banner muss bedienbar sein, nicht nur rechtlich sauber
Ein Consent-Banner steht zwischen dem Besucher und dem gesamten Inhalt. Wer es nicht bedienen kann, kommt nicht auf die Seite und kann folglich auch nicht einwilligen. An dieser Stelle sind Datenschutz und Barrierefreiheit dieselbe Baustelle: Eine Einwilligung, die nur mit der Maus und nur mit gutem Sehvermögen erteilt werden kann, ist praktisch keine freie Entscheidung. Fünf Dinge prüfst du in wenigen Minuten selbst:
- Tastatur: Lade die Seite und drücke nur die Tabulatortaste. Erreichst du Zustimmen und Ablehnen, und lösen sich beide mit Enter oder Leertaste aus? Das setzt echte
button-Elemente voraus statt anklickbarerdiv-Container. Im eingebauten Adjet-Banner sind es Buttons. - Sichtbarer Fokus: Siehst du beim Durchtabben, wo du gerade stehst? Ein wegdesigntes
outline: noneist der häufigste Fehler an sonst sauberen Bannern. - Verdeckung: Tabbe bei offenem Banner weiter in die Seite hinein. Ein am unteren Rand festgeklebtes Banner verdeckt gern genau das Element, das gerade den Fokus hat. WCAG 2.2 hat dafür ein eigenes Erfolgskriterium, 2.4.11 Focus Not Obscured (Minimum) auf Stufe AA.
- Kontrast: Der Text im Banner braucht nach Erfolgskriterium 1.4.3 mindestens 4,5:1 gegen seinen Hintergrund, die Umrandung eines Buttons nach 1.4.11 mindestens 3:1. Helles Grau auf Weiß fällt hier regelmäßig durch, und ausgerechnet der Ablehnen-Button ist oft der hellere von beiden. Chrome zeigt den Kontrastwert direkt im Farbwähler an.
- Screenreader: Das Banner braucht einen Namen, sonst wird es als namenloser Bereich angesagt. Die Adjet-Vorlage bringt dafür
role="dialog"mit eineraria-label-Beschriftung mit.
Der Punkt, an dem beide Anforderungen zusammenlaufen, ist derselbe wie oben: Ablehnen muss genauso leicht erreichbar sein wie Zustimmen, ein Klick auf derselben Ebene. Das ist zugleich Datenschutz und Bedienbarkeit. Warum ein zusätzliches Rätsel vor einem Formular dieselbe Wirkung entfaltet, nur an anderer Stelle, steht im Beitrag Captcha und Barrierefreiheit: was WCAG wirklich verlangt.
Performance im Blick behalten
Werbung und Ladezeit sind ein Balanceakt. Ein paar einfache Regeln helfen:
- Weniger ist mehr: Drei durchdachte Platzierungen wirken oft besser als acht, die die Seite zumüllen und Leser vertreiben.
- Lazy-Load nutzen: Alles, was unterhalb des ersten sichtbaren Bereichs liegt, muss nicht sofort laden.
- Positionen testen: Nutze die Statistik, um Anzeigen mit schwacher Wirkung zu entfernen, statt immer neue hinzuzufügen.
Wenn du deine WordPress-Seite ohnehin gerade aufräumst, lohnt sich ein Blick auf saubere URLs und Umleitungen. Wie du das ordentlich löst, liest du im Beitrag WordPress 301-Weiterleitungen einrichten, denn auch dort geht es darum, technische Dinge zentral statt verstreut zu regeln.
Fazit
Werbung und AdSense in WordPress einzubauen ist keine Frage von schnell kopiertem Code, sondern von sauberer Steuerung. Wenn du Anzeigen zentral verwaltest, sie erst nach Einwilligung ausspielst, diese Einwilligung auch an Google meldest, verzögert lädst und als Werbung kennzeichnest, bist du technisch, rechtlich und bei der Ladezeit auf der sicheren Seite. Und weil du misst, was funktioniert, verdienst du am Ende mehr mit weniger Anzeigen.
Der wichtigste Satz zum Mitnehmen ist trotzdem der aus der Prüfanleitung: Ein Häkchen ist kein Beweis. Zehn Minuten mit offenem Netzwerkreiter sagen dir mehr über deine Rechtslage als jede Einstellungsseite. Adjet ist quelloffen unter GPLv2, bringt eine eigene Berechtigung (manage_adjet) und eine REST-API (adjet/v1) mit, ohne deine Daten nach außen zu geben. Der Anzeigen-Kern ist dauerhaft kostenlos; was die Pro-Fassung zusätzlich kann und was sie kostet, steht auf der Preisseite.
Werbung sauber steuern statt Code streuen
Adjet bringt Auto-Platzierung, AdSense-Assistent, ein eigenes Consent-Banner mit Google Consent Mode v2, Gating, Lazy-Load und lokale Statistik in ein Cockpit, ganz ohne externe Calls.
Häufige Fragen zu AdSense und Werbung in WordPress
Brauche ich für AdSense in WordPress ein Consent-Banner?
Ja, in der Regel schon: Personalisierte Anzeigen wie bei AdSense setzen üblicherweise Cookies oder ähnliche Technologien ein, die eine aktive Einwilligung voraussetzen. Dafür brauchst du normalerweise ein Consent-Banner beziehungsweise eine Consent-Management-Plattform (CMP), über die Besucher zustimmen oder ablehnen können. Erst wenn diese Zustimmung vorliegt, sollte die Werbung tatsächlich geladen werden, nicht schon beim ersten Seitenaufruf. Das ist keine Rechtsberatung, sondern eine praktische Orientierung. Im Zweifel klärst du die Details mit einer fachkundigen Person.
Wann darf eine Werbeanzeige geladen werden?
Werbung, die auf einwilligungspflichtigen Technologien beruht, sollte erst nach der Zustimmung geladen werden, nicht schon vorher beim Seitenaufruf. Adjet bietet dafür zwei Wege: das eingebaute Consent-Banner, das die Entscheidung selbst einholt und im Cookie adjet_consent speichert, oder das Consent-Cookie-Gating, bei dem du den Cookienamen deines vorhandenen Consent-Tools einträgst und Adjet auf dieses Signal wartet. In beiden Fällen liegt der Werbecode bis dahin in einem template-Element, das der Browser nicht ausführt, der Platz bleibt also wirklich leer. Ergänzend sorgt Lazy-Load per IntersectionObserver dafür, dass selbst zugestimmte Anzeigen erst beim Scrollen in den sichtbaren Bereich laden.
Was ist Google Consent Mode v2 und was passiert ohne ihn?
Consent Mode v2 ist Googles Weg, die Einwilligung des Besuchers an die eigenen Tags zu melden. Die kostenlose Fassung meldet dabei vier Signale auf granted oder denied: ad_storage, ad_user_data, ad_personalization und analytics_storage; die beiden Präferenz-Signale functionality_storage und personalization_storage setzt nur Adjet Pro. Seit März 2024 erwartet Google den Einsatz für Besucher aus dem EWR, sobald AdSense, Google Ads oder Analytics laufen. Fehlt die Meldung, bekommst du lückenhafte Messdaten und schwächeres Remarketing, im ungünstigen Fall auch Einschränkungen im Konto. Entscheidend ist die Reihenfolge: Vor dem ersten Google-Tag muss ein consent default mit lauter denied stehen, erst danach darf ein consent update die Entscheidung melden.
Reicht das eingebaute Banner von Adjet oder brauche ich ein eigenes Consent-Plugin?
Für eine Website, die Werbung ausspielt und sonst wenige Drittdienste einbindet, reicht das eingebaute Banner: Es holt die Entscheidung ein, speichert sie im Cookie adjet_consent, meldet Google Consent Mode v2 und hält die Anzeigen zurück, bis zugestimmt wurde. Sobald du viele weitere einwilligungspflichtige Dienste betreibst, etwa Videoeinbettungen, Kartendienste, Chat-Widgets und mehrere Analyse-Werkzeuge, ist ein spezialisiertes Consent-Plugin die bessere Wahl. Dann trägst du dessen Cookienamen in den Adjet-Einstellungen ein, und Adjet wartet auf dieses Signal, statt ein zweites Banner zu zeigen. Beide gleichzeitig zu betreiben ist die schlechteste Variante.
Muss ich Anzeigen als Werbung kennzeichnen?
Ja, das gilt als empfehlenswert. Anzeigen gelten als Werbung, und in Deutschland gilt eine klare Kennzeichnung als „Werbung“ als guter Standard, damit redaktioneller Inhalt und Anzeige nicht verschwimmen. Adjet bringt dafür ein optionales „Werbung“-Label mit, das du einfach einschalten kannst, ohne selbst Code anzupassen. So bleibt für deine Leser jederzeit erkennbar, welcher Inhalt bezahlt ist und welcher nicht.
Was bewirkt Lazy-Load bei Werbeanzeigen?
Lazy-Load sorgt dafür, dass eine Anzeige erst geladen wird, wenn sie tatsächlich in den sichtbaren Bereich des Bildschirms rückt. Technisch übernimmt das ein IntersectionObserver, der beobachtet, ob der Werbeblock gleich sichtbar wird. Das spart Ladezeit, besonders wenn eine Anzeige weiter unten auf der Seite steht, und schont so auch die Core Web Vitals. In Adjet lässt sich Lazy-Load zusammen mit dem Consent-Gating aktivieren, sodass beide Mechanismen ineinandergreifen.
Ist Adjet kostenlos und wie baue ich AdSense damit ein?
Adjet ist quelloffen unter GPLv2. Im offiziellen WordPress-Verzeichnis läuft die kostenlose Fassung unter dem Namen Hafenstudios Ads, danach suchst du also im Backend unter Plugins, Installieren. Du legst eine Anzeige über den AdSense-Assistenten an, trägst deine Publisher-ID und Slot-ID ein und bekommst eine responsive Anzeige, die sich an den Platz anpasst; optional aktivierst du zusätzlich den Auto-Ads-Loader von Google. Platziert wird automatisch, etwa vor oder nach dem Inhalt, oder manuell per Shortcode wie [adjet_ad id="1"], Gutenberg-Block oder Widget. Für Automatisierung steht außerdem eine REST-API unter adjet/v1 sowie die eigene Berechtigung manage_adjet bereit.