Code-Snippet-Setup-Dokumentation

Übersicht / Erste Schritte

Das clientseitige Setup von Ezoic ist mit allen Website-Strukturen kompatibel und ermöglicht Publishern die volle Kontrolle über die Anzeigenschaltung auf ihrer Webseite.

Die Einrichtung der clientseitigen Anzeigenschaltung von Ezoic per Code-Snippet ist einfach. Dieser Leitfaden führt Sie durch die einzelnen Schritte, damit Sie die Technologie von Ezoic optimal in Ihre Webseite implementieren können.

Voraussetzungen

  1. Stellen Sie sicher, dass Sie ein Ezoic-Konto erstellt haben. Wenn Sie das noch nicht getan haben, können Sie das hier tun.
  2. Wenden Sie sich an Ihren Ezoic Onboarding-Spezialisten, wenn Sie Hilfe bei der Einrichtung der ads.txt-Datei oder der Annahme der Google MCM-Einladung benötigen.

Ads.txt

Die Einrichtung der Ads.txt-Datei ist für alle Publisher erforderlich, die Ezoic nutzen. Dieser Leitfaden hilft Ihnen bei der Einrichtung Ihrer ads.txt-Datei für die Zusammenarbeit mit den Ezoic-Anzeigenpartnern.

Was ist Ads.txt?

Ads.txt ist eine Textdatei, die Publisher auf ihren Webseiten platzieren, um öffentlich zu vermerken, welche Unternehmen zum Verkauf ihres digitalen Inventars berechtigt sind. Sie hilft dabei, unautorisierte Verkäufe von Inventar zu verhindern und schützt vor Domain-Spoofing.

Ads.txt-Setup

Um die Ezoic-Anzeigenpartner an Ihre ads.txt-Datei anzuhängen, müssen Sie eine Weiterleitung einrichten. Hier finden Sie mehrere empfohlene Methoden, wie Sie dies umsetzen können.

Wichtige Hinweise:

Ersetzen Sie [YOUR_DOMAIN].com durch Ihren tatsächlichen Domain-Namen.

Wenn Sie weitere Unterstützung bei der Einrichtung Ihres ads.txt-Kontos benötigen, wenden Sie sich bitte an den Ezoic-Support, oder Ihren persönlichen Onboarding-Spezialisten.

1. .htaccess-Datei-Redirect

Fügen Sie den folgenden Code in Ihre .htaccess-Datei ein:

Redirect 301 /ads.txt https://srv.adstxtmanager.com/19390/[YOUR_DOMAIN].com

(Apache)

2. Nginx-Redirect

Fügen Sie den folgenden Weiterleitungscode zu Ihrer Nginx-Konfiguration hinzu:

server {
    location ~ /ads.txt {
        return 301 https://srv.adstxtmanager.com/19390/[YOUR_DOMAIN].com;
    }
}

(Nginx)

3. PHP-Redirect

Wenn Ihre aktuelle ads.txt-Datei PHP ist, fügen Sie diesen Code ein:

<?php
header('Location: https://srv.adstxtmanager.com/19390/[YOUR_DOMAIN].com');
exit;
?>

(PHP)

4. Curl-Command

Wenn Sie die oben genannten Methoden nicht anwenden können, können Sie den folgenden curl-Befehl verwenden, um Ihre ads.txt-Datei herunterzuladen und auf Ihrem Server zu speichern.

curl -L https://srv.adstxtmanager.com/19390/[YOUR_DOMAIN].com > ads.txt

(Bash)

Wir empfehlen, einen Cron-Job einzurichten, der diesen Befehl mindestens alle 24 Stunden ausführt, um Ihre ads.txt-Datei stets auf dem neuesten Stand zu halten.

Verifizieren Sie Ihr ads.txt-Setup

Nachdem Sie eine dieser Weiterleitungsmethoden implementiert haben, sollten Sie Ihren Cache leeren und überprüfen, ob Ihre ads.txt-Weiterleitung korrekt funktioniert, indem Sie yourdomain.com/ads.txt besuchen. Wenn Sie Probleme haben oder weitere Unterstützung bei der Einrichtung Ihrer ads.txt-Umleitung benötigen, wenden Sie sich bitte an den Ezoic-Support, oder Ihren persönlichen Onboarding-Spezialisten.

Durch die Implementierung einer dieser Weiterleitungsmethoden stellen Sie sicher, dass Ihre ads.txt-Datei ordnungsgemäß für die Zusammenarbeit mit den Werbepartnern von Ezoic konfiguriert ist. So maximieren Sie Ihr Monetarisierungspotenzial und sorgen gleichzeitig für Sicherheit und Transparenz in Bezug auf programmatische Werbung.

Fahren Sie mit dem nächsten Implementierungsschritt fort.

Implementierung von Ezoic Ads

Die Verbindung Ihrer Website mit Ezoic ist ein einfacher Prozess, der das Hinzufügen einiger Zeilen an Code zu Ihrer Webseite erfordert. Während Sie auf die GAM-Genehmigung warten, empfehlen wir Ihnen, sich in einer Staging- oder Entwicklungsumgebung zu bewegen, um sicherzustellen, dass Ihre Anzeigenplatzierungen richtig eingerichtet sind und das Laden der Anzeigen funktioniert.

Dieser Leitfaden führt Sie durch die Schritte zur Implementierung von EzoicAds auf Ihrer Webseite.

Hinweis: Platzhalter/placeholder ist ein von Ezoic verwendeter Begriff für (mögliche) Anzeigenplätze/Anzeigenpositionen. Wenn Sie Fragen zu dem Konzept von “Platzhaltern” haben, wenden Sie sich bitte an den Ezoic-Support, oder Ihren persönlichen Onboarding-Spezialisten.

Schritt 1: Anzeigenplätze definieren

Um Ezoic Ads zu implementieren, müssen Sie Anzeigenplätze auf Ihrer Webseite definieren. Diese Anzeigenplätze werden verwendet, um die Anzeigenpositionen auf Ihrer Webseite zu definieren, an denen Ezoic-Ads ausgespielt werden können.

Wichtig: Ezoic setzt Künstliche Intelligenz ein, um das Anzeigenlayout individuell für jeden Besucher anzupassen. Anzeigen können auf vorgesehenen Plätzen erscheinen, müssen es aber nicht. Um dem Ezoic-System mehr Möglichkeiten für das Ad-Testing zu bieten, empfehlen wir, so viele Anzeigenplätze wie möglich zu erstellen. Dies hilft Ihrer Webseite dabei, das höchste Einnahmepotenzial zu erschließen.

Beispiel: Obwohl Sie 15 Anzeigenplätze definiert haben, werden meistens nur 1-7 davon gleichzeitig mit Anzeigen gefüllt – jedoch oft in unterschiedlichen Kombinationen und Variationen.

Sie können Anzeigenplätze in Ihrem Ezoic Dashboard erstellen oder gemeinsam mit Ihrem Ezoic Onboarding Spezialisten die idealen Anzeigenplätze für Ihre Webseite ermitteln.

Schritt 2: Header-Skripte hinzufügen

Fügen Sie das Ezoic Privacy-Skript und das Header-Skript ganz oben im <head>-Tag ein. Bitte stellen Sie sicher, dass Sie das Privacy-Skript vor dem Header-Skript laden.

Privacy-Skript:

<script src="https://the.gatekeeperconsent.com/cmp.min.js" data-cfasync="false"></script>

Header-Skript:

<script async src="//www.ezojs.com/ezoic/sa.min.js"></script>

Schritt 3: Initialisierung der Bibliothek

Platzieren Sie das Skript zum Laden der Anzeigen ganz oben im <body>-Tag, bevor Sie jegliche Anzeigenplätze definieren.

Skript zum Laden von Anzeigen:

<script>
    window.ezstandalone = window.ezstandalone || {};
    ezstandalone.cmd = ezstandalone.cmd || [];
</script>

Wichtig: Wenn dieses Skript nicht am Anfang des -Tags platziert wird, kann es sich auf die Ladezeit der Anzeigen und die Einnahmen auswirken.

Schritt 4: Einfügen von Anzeigenpositionen

Dieser Code wird für jeden Anzeigenplatz/jede Anzeigenposition abgerufen. Es ist wichtig zu beachten, dass die dreistellige 101 ID für eine spezifische Anzeigenposition steht, und jede Anzeigenposition hat eine andere dreistellige ID. Die entsprechenden Anzeigencodes werden in Ihrem Ezoic Ads-Dashboard generiert.

Jeder Anzeigenplatz/jede Anzeigenposition hat die folgende Struktur:

<div id="ezoic-pub-ad-placeholder-101"></div>
<script>
    ezstandalone.cmd.push(function() {
        ezstandalone.showAds(101)
    });
</script>

Fügen Sie diesen Code für jede Anzeigenposition auf Ihrer Webseite ein. (Wichtig: Anzeigen können auf vorgesehenen Plätzen erscheinen, müssen es aber nicht.)

Fügen Sie der eigentlichen Anzeigenposition (placeholder-div) KEIN Styling hinzu!
Das Hinzufügen von Stilen oder Abständen für die Anzeige kann zu unerwünschten Ergebnissen führen (z.B. wenn eine Anzeigenposition nicht von unserem System mit einer Anzeige gefüllt wird, kann es sein, dass dort auf der Seite ein leerer Platz erscheint).

Setup abgeschlossen

Sobald Sie diese Schritte abgeschlossen haben, haben Sie Ezoic Ads erfolgreich auf Ihrer Webseite implementiert. Wenn Sie Fragen haben oder Hilfe benötigen, wenden Sie sich bitte an den Ezoic-Support, oder Ihren persönlichen Onboarding-Spezialisten.

Dynamische Inhalte

Dieser Bereich ist für Webseiten geeignet, deren Inhalte dynamisch geladen werden oder sich ändern.

Wechseln von Seiten

Beim dynamischen Umschalten zwischen Seitenansichten ist es wichtig, dieses Skript abzurufen:

ezstandalone.refresh()

(JAVASCRIPT)

ezstandalone.refresh() teilt Ezoic mit, dass es einen neuen Seitenaufruf gibt und fordert neuen Anzeigencode für die definierten Platzhalter an.

Wenn die neue Seite eine andere Anordnung von Platzhaltern als die vorherige Seite enthält, sollte ezstandalone.define() mit der neuen Anordnung von Platzhaltern vor dem Aufruf von refresh aufgerufen werden.

<script>
    ezstandalone.cmd.push(function() {
        // define new placeholders and call refresh
        ezstandalone.define(104, 105, 106);
        ezstandalone.refresh();
    });
</script>

(HTML)

Der Aufruf von define überschreibt den vorherigen Satz von Platzhaltern, also fügen Sie in der Funktion alle Platzhalter hinzu, die auf dieser Seite neu hinzugekommen sind.

Wenn die Platzhalter 103 und 104 auf der Seite beispiel.com/seite1 vorhanden sind und der Benutzer dynamisch zur Seite beispiel.com/seite2 wechselt, auf der die Platzhalter 104 und 105 vorhanden sind, muss der Platzhalter 105 in den define-Aufruf aufgenommen werden.

Neue Inhalte

Für zusätzliche Platzhalter innerhalb der gleichen Seitenansicht gibt es die Funktion ezstandalone.displayMore.

Wenn ein Benutzer auf der Seite nach unten scrollt, neue Inhalte geladen werden und die Platzhalter 104 und 105 hinzugefügt werden, sollte ezstandalone.displayMore verwendet werden, um sie anzuzeigen.

<script>
    ezstandalone.cmd.push(function() {
        // call new placeholders
        ezstandalone.displayMore(104, 105);
    });
</script>

(HTML)

Änderung der Inhalte

Wenn sich der Inhalt innerhalb desselben Seitenaufrufs ändert und ein Platzhalter nicht mehr benötigt wird oder nicht mehr sichtbar ist, muss der Platzhalter mit ezstandalone.destroyPlaceholders ordnungsgemäß bereinigt werden. Dadurch kann der Platzhalter bei Bedarf über ezstandalone.displayMore erneut geladen werden.

<script>
    window.ezstandalone.cmd.push(function() {
        // destroy placeholders
        ezstandalone.destroyPlaceholders(104, 105);
    });
</script>

(HTML)

Infinite Scroll

Für Webseiten, die Infinite Scroll implementiert haben, kann eine Kombination aus dem Aufruf von ezstandalone.destroyPlaceholders gefolgt von ezstandalone.displayMore notwendig sein, um Platzhalter wiederzuverwenden, wenn sie sich innerhalb derselben Seitenansicht befinden.

Es wird empfohlen, für Infinite Scroll eine Reihe von spezifischen in-content-Platzhaltern zu erstellen.

Beispiel

Das folgende Beispiel zeigt, wie der Ablauf für Infinite Scroll auf einer Webseite mit mehreren Artikeln aussehen würde.

Rufen Sie zunächst den Platzhalter für den ersten Artikel beim Laden der Seite auf.

<script>
    window.ezstandalone = window.ezstandalone || {};
    ezstandalone.cmd = ezstandalone.cmd || [];
    ezstandalone.cmd.push(function() {
        ezstandalone.define(102, 103, 104);
        ezstandalone.enable();
        ezstandalone.display();
    });
</script>

(HTML)

Der Nutzer scrollt dann zum nächsten Artikel, so dass der nächste Satz von Anzeigen geladen wird.

<script>
    window.ezstandalone.cmd.push(function() {
        // call new placeholders
        ezstandalone.displayMore(105, 106);
    });
</script>

(HTML)

Der Benutzer scrollt dann zum dritten Artikel, und die Platzhalter des ersten Artikels sollen wieder verwendet werden.

<script>
    window.ezstandalone.cmd.push(function() {
        // destroy initial placeholders
        ezstandalone.destroyPlaceholders(102, 103, 104);
        // call new placeholders
        ezstandalone.displayMore(102, 103, 104);
    });
</script>

(HTML)

Alle Platzhalter entfernen

Entfernen Sie alle Platzhalter auf der Seite, indem Sie die Funktion destroyAll verwenden.

<script>
    window.ezstandalone.cmd.push(function() {
        ezstandalone.destroyAll();
    });
</script>

(HTML)

Datenschutz & Consent Management

DSGVO

Um die Einhaltung der DSGVO zu gewährleisten, gibt es zwei Möglichkeiten:

  1. Verwendung der kostenlosen, von Google zertifizierten, Ezoic TCF 2.2-Consent Management Plattform (empfohlen)
  2. Verknüpfung mit einer bestehenden TCF 2.2 Consent Management Plattform, welche die Richtlinien zur Einwilligung der Nutzer in der EU einhält (Notwendig ab 16.01.2024).

Wenn Sie mehr darüber erfahren möchten, wie Ezoic Publishern bei der Einhaltung der Datenschutzgrundverordnung (DSGVO) hilft, besuchen Sie diese Seite!

Verwendung des Ezoic CMPs (empfohlen)

  1. Fügen Sie das folgende Skript in die Kopfzeile Ihrer Webseite ein, und zwar vor jeglichem Anzeigen-/Tracking-Code.
<script src="https://the.gatekeeperconsent.com/cmp.min.js" data-cfasync="false"></script>

(HTML)

Achtung! Dieser Code darf nicht verzögert/nachträglich geladen werden, da sonst personenbezogene Daten verarbeitet werden könnten, bevor die Zustimmung des Nutzers erteilt wurde.

Anpassung des Ezoic CMPs

Die CMP von Ezoic kann über den Bereich Datenschutz im Ezoic-Dashboard unter den Einstellungen angepasst werden.

Verwendung eines CMPs von Drittanbietern

Die Handhabung der DSGVO-Einstellungen durch Drittanbieter erfordert etwas zusätzlichen Code. Viele CMPs haben in ihrer Dokumentation eigene Rückrufe/Callbacks definiert, die abgerufen werden, wenn die Zustimmung erteilt wird, und es wird empfohlen, die von der CMP empfohlene Methode zum Abfragen von Zustimmungen zu verwenden.

In erster Linie muss Ezoic wissen, ob personalisierte Anzeigen erlaubt sind und ob personalisierte Statistiken verwendet werden können (festgelegt durch ezstandalone.setDisablePersonalizedStatistics und ezstandalone.setDisablePersonalizedAds).

Im nachstehenden Code zeigen wir, wie das Code-Snippet unter Verwendung der TCF-V2-API des IAB für die DSGVO in ein Third Party-CMP integriert werden kann:

Für das CMP eines Drittanbieters, welches die TCF V2 API des IAB verwendet, verwenden Sie die Funktion ezstandalone.enableConsent(), bevor Sie enable und display aufrufen. Die enableConsent-Funktion muss für ezstandalone nur einmal aufgerufen werden. Mit anderen Worten: Wenn Sie zusätzliche Platzhalter über displayMore oder refresh anzeigen, muss enableConsent nicht erneut aufgerufen werden.

Wichtig: Nur verwenden, wenn ein CMP auf Ihrer Seite vorhanden ist!

<script>
    var ezstandalone = window.ezstandalone || {};
    ezstandalone.cmd = ezstandalone.cmd || [];
    ezstandalone.cmd.push(function() {
        ezstandalone.enableConsent();
        ezstandalone.define(101, 102);
        ezstandalone.enable();
        ezstandalone.display();
    });
</script>

(HTML)

Anchor Ads

Standardmäßig zeigt Ezoic Anchor Ads an, wenn diese im Dashboard unter Ezoic Ads aktiviert sind.

standalone anchor ads

Anchor Ads ausschalten

Um die Anchor Ad für eine bestimmte Seite auszuschalten, kann die Funktion ezstandalone.setEzoicAnchorAd verwendet werden.

Damit diese Funktion funktioniert, muss sie vor der Funktion ezstandalone.enable() abgerufen werden.

<script >
    window.ezstandalone = window.ezstandalone || {};
    ezstandalone.cmd = ezstandalone.cmd || [];
    ezstandalone.cmd.push(function() {
        ezstandalone.setEzoicAnchorAd(false);
        ezstandalone.define(101, 102, 103);
        ezstandalone.enable();
        ezstandalone.display();
    });
</script>

(HTML)

Prüfen, ob eine Anchor-Ad geschlossen wurde

Um zu sehen, ob die Anchor Ad für die Session eines Nutzers geschlossen wurde, verwenden Sie die Funktion hasAnchorAdBeenClosed.

Hier ein Beispiel für die Verwendung der Funktion zur Bestimmung, ob die Anchor Ad weiterhin angezeigt werden soll

<script >
    window.ezstandalone = window.ezstandalone || {};
    ezstandalone.cmd = ezstandalone.cmd || [];
    ezstandalone.cmd.push(function() {
        let anchorHasBeenClosed = ezstandalone.hasAnchorAdBeenClosed();
        ezstandalone.setEzoicAnchorAd(anchorHasBeenClosed);
        ezstandalone.define(101, 102, 103);
        ezstandalone.enable();
        ezstandalone.display();
    });
</script>

(HTML)

Hybrid-Option

Für komplexere Webseiten mit einer Mischung aus statischen und dynamischen Inhalten, die alle Funktionen von Ezoic nutzen möchten, bieten wir die Hybrid-Integration an.

Was ist die Hybrid-Integration?

Von hybrider Integration spricht man, wenn eine Webseite über Name-Server oder CloudFlare integriert wird, während sie für den Aufruf von Anzeigen Code-Snippets verwendet.
Der Vorteil der Hybrid-Integration ist, dass Publisher Zugriff auf Ezoic-Produkte wie Leap, NicheIQ, Humix, etc. erhalten, während die Anzeigen dynamisch geladen werden.

Voraussetzungen

Stellen Sie sicher, dass die Platzhalter für Ihre Webseite über das Ezoic-Dashboard erstellt werden. In unserem Support-Artikel erfahren Sie mehr über Platzhalter und wie Sie diese erstellen können.

Initialisieren Sie die Ezoic-Bibliothek, indem Sie dieses Skript in den <head> der Seite einfügen. Einige Ezoic-Funktionen erfordern, dass der HTML-Code statisch definiert ist und nicht über Javascript geladen wird.

<script async src="https://www.ezojs.com/ezoic/sa.min.js"></script>

(HTML)

Platzhalter dynamisch hinzufügen

Um der Webseite einen Platzhalter hinzuzufügen, erstellen Sie ein div-Element an der Stelle, an der die Anzeige erscheinen soll. Das id-Attribut des Elements sollte die ID des Platzhalters mit dem Präfix ezoic-pub-ad-placeholder- sein.

Um zum Beispiel Platzhalter mit der ID 103 und 104 hinzuzufügen, würde der HTML-Code etwa so aussehen:

<body>
    <div id="ezoic-pub-ad-placeholder-103">
    </div>
    <!-- Content -->
    <div id="ezoic-pub-ad-placeholder-104">
    </div>
</body>

(HTML)

Abrufen von Anzeigen

Sobald die Platzhalter in den HTML-Code eingefügt wurden, rufen Sie den Ezoic-Anzeigencode mit ezstandalone.displayMore() auf.

<script type="text/javascript">
    window.ezstandalone = window.ezstandalone || {};
    ezstandalone.cmd = ezstandalone.cmd || [];
    ezstandalone.cmd.push(function() {
        ezstandalone.displayMore(103, 104);
    });
</script>

(HTML)

Ausnahmefälle

Für integrierte Webseiten ohne statische Platzhalter, die alle Platzhalter dynamisch über Code-Snippets laden möchten, verwenden Sie bitte stattdessen diese Anleitung.

Statische Platzhalter sind Platzhalter, die der HTML-Datei hinzugefügt werden, wenn diese unseren Proxy durchläuft, und nicht über JavaScript.

Traffic splitten

Der Traffic-Split wird über die Einstellungen im Ezoic Dashboard unter Ezoic Ads > Split Testing festgelegt.

Ähnlich wie bei dem Traffic-Split auf einer Webseite mit dem clientseitigen Code-Snippet-Setup können Sie die gleiche Funktion ohne Übergabe von Parametern hinzufügen.

<script type="text/javascript">
    ezstandalone.cmd = ezstandalone.cmd || [];
    ezstandalone.cmd.push(function() {
        if(ezstandalone.isEzoicUser()) {
            ezstandalone.define(100,101);
            ezstandalone.enable();
            ezstandalone.display();
        } else {
            // Normal ad code execution
        }
    });
</script>

(HTML)

Traffic splitten

Im Gegensatz zu unseren anderen Integrationsmethoden erfolgt der Traffic-Split bei dem Code-Snippet-Setup client-seitig.

Mit der Funktion ezstandalone.isEzoicUser können Sie den Ezoic-Traffic auf einen bestimmten Prozentsatz Ihres Traffics begrenzen.

Wie bei dem Traffic-Split in unserer Standard-Integration basiert auch die isEzoicUser-Funktion auf der Session eines Nutzers, nicht auf den Pageviews.

Beispiel

Im Folgenden finden Sie ein Beispiel für die Verteilung von 50 Prozent Ihres Traffics an Ezoic.

<script type="text/javascript">
    ezstandalone.cmd = ezstandalone.cmd || [];
    ezstandalone.cmd.push(function() {
        var percentageToRunEzoic = 50;
        if(ezstandalone.isEzoicUser(percentageToRunEzoic)) {
            ezstandalone.define(100,101);
            ezstandalone.enable();
            ezstandalone.display();
        } else {
            // Normal ad code execution
        }
    });
</script>

(HTML)

Humix-Videos

Mit dem Einbettungscode-Generator in Ihrem Humix-Dashboard können Sie unseren Videoplayer nach Belieben auf Ihrer Webseite einbinden.

Neue Features (Beta)

Übersicht

Dies sind neue Features, die implementiert werden können, sich aber noch in der Beta-Phase befinden und sich noch ändern können, bevor sie vollständig veröffentlicht werden.

ShowAds

Grundlegende Nutzung

showAds ist eine neue Funktion in ezstandalone, die den Abruf von Anzeigenplätzen/Platzhaltern ermöglicht. Die grundlegende Verwendung von ezstandalone.showAds beinhaltet die Übermittlung einer einzelnen Platzhalter-ID oder eines Arrays von Platzhalter-IDs an die Funktion. Im Folgenden finden Sie ein Beispiel dafür, wie Anzeigenplätze/-Platzhalter derzeit aufgerufen werden, gefolgt davon, wie sie jetzt aufgerufen werden können.

Aktuell:

<script>
    window.ezstandalone = window.ezstandalone || {};
    ezstandalone.cmd = ezstandalone.cmd || [];
    ezstandalone.cmd.push(function() {
        ezstandalone.define(102,103,104);
        ezstandalone.enable();
        ezstandalone.display();
    });
</script>

Neu:

<script>
    window.ezstandalone = window.ezstandalone || {};
    ezstandalone.cmd = ezstandalone.cmd || [];
    ezstandalone.cmd.push(function() {
        ezstandalone.showAds(102,103,104);
    });
</script>

Dadurch wird nicht nur die Anzahl der Funktionen reduziert, sondern auch die Komplexität der Verwendung von define/enable/display mit displayMore für dynamische Inhalte beseitigt. Nachfolgend ein Beispiel dafür, wie Ezoic Ads auf einer Webseite mit dynamisch geladenen Seiten implementiert werden könnte, gefolgt von der Verwendung von showAds.

Aktuell:

<body>
    <!-- static content + placeholders -->
    <div class="content1">
        <div id="ezoic-pub-ad-placeholder-101"></div>
    </div>
    <div class="content2">
        <div id="ezoic-pub-ad-placeholder-102"></div>
    </div>
    <div class="content3">
        <div id="ezoic-pub-ad-placeholder-103"></div>
    </div>
    <script>
        window.ezstandalone = window.ezstandalone || {};
        ezstandalone.cmd = ezstandalone.cmd || [];
        ezstandalone.cmd.push(function() {
            ezstandalone.define(102, 103, 104);
            ezstandalone.enable();
            ezstandalone.display();
        });
    </script>

                .
                .
                .

    <!-- dynamic content + placeholders -->
    <div class="dynamic content1">
        <div id="ezoic-pub-ad-placeholder-104"></div>
        <script>
            ezstandalone.cmd.push(function() {
                ezstandalone.displayMore(104)
            });
        </script>
    </div>
    <div class="dynamic content2">
        <div id="ezoic-pub-ad-placeholder-105"></div>
        <script>
            ezstandalone.cmd.push(function() {
                ezstandalone.displayMore(105)
            });
        </script>
    </div>
</body>

Neu:

<body>
    <script>
        window.ezstandalone = window.ezstandalone || {};
        ezstandalone.cmd = ezstandalone.cmd || [];
    </script>
    <!-- static content + placeholders -->
    <div class="content1">
        <div id="ezoic-pub-ad-placeholder-101"></div>
        <script>
            ezstandalone.cmd.push(function() {
                ezstandalone.showAds(101)
            });
        </script>
    </div>
    <div class="content2">
        <div id="ezoic-pub-ad-placeholder-102"></div>
        <script>
            ezstandalone.cmd.push(function() {
                ezstandalone.showAds(102)
            });
        </script>
    </div>
    <div class="content3">
        <div id="ezoic-pub-ad-placeholder-103"></div>
        <script>
            ezstandalone.cmd.push(function() {
                ezstandalone.showAds(103)
            });
        </script>
    </div>

                .
                .
                .

    <!-- dynamic content + placeholders -->
    <div class="dynamic content1">
        <div id="ezoic-pub-ad-placeholder-104"></div>
        <script>
            ezstandalone.cmd.push(function() {
                ezstandalone.showAds(104)
            });
        </script>
    </div>
    <div class="dynamic content2">
        <div id="ezoic-pub-ad-placeholder-105"></div>
        <script>
            ezstandalone.cmd.push(function() {
                ezstandalone.showAds(105)
            });
        </script>
    </div>
</body>

Erweiterte/fortgeschrittene Verwendung

Die erweiterte Implementierung bietet zusätzliche Funktionen, indem sie ein umfangreicheres Spektrum von Objekten akzeptiert. Jedes Objekt kann die folgenden Attribute enthalten:

  • id (erforderlich): Der eindeutige Identifikator des Platzhalters, in dem die Anzeige erscheinen soll.
  • required (optional, boolesch): Ein Indikator, der angibt, ob die Anzeige erscheinen muss. Wenn es auf „true“ gesetzt ist, erzwingt das System, dass eine Anzeige im angegebenen Platzhalter angezeigt wird, auch wenn sie normalerweise nicht angezeigt werden würde.
  • sizes (optional, String oder Array von Strings): Gibt die zulässigen Größen für die Anzeige im Format '{Breite}x{Höhe}' an. Sie können eine einzelne Größe als String oder mehrere Größen als Array von Strings angeben. Auf diese Weise können Sie die Dimensionen der Anzeige steuern, die erscheinen wird.

Beispiel für die Implementierung:

<script>
var placeholders = [
    { id: 103, required: true, sizes: ['336x280', '126x126'] },
    { id: 104, sizes: '1000x450' },  
    { id: 105, required: true },
];

ezstandalone.showAds(placeholders);
</script>

(HTML)

In dem oben gezeigten Beispiel:

  1. Platzhalter 103:
    • Im Platzhalter 103 wird immer eine Anzeige erscheinen.
    • Die zulässigen Größen für die Anzeige sind 336x280 und 126x126.
  2. Platzhalter 104:
    • Eine Anzeige wird im Platzhalter 104 ausgespielt, wenn Ezoic entscheidet, dass diese Anzeige erscheinen soll.
    • Die zulässige Größe für die Anzeige ist 1000x450“.
  3. Platzhalter 105:
    • Im Platzhalter 105 wird immer eine Anzeige erscheinen.
    • Es sind keine spezifischen Größen angegeben, daher entscheidet Ezoic über die beste Größe für die Anzeige in diesem Platzhalter.
Anmerkungen
  • Spezifität der Anzeigengrößen: Die im Attribut sizes angegebenen Anzeigengrößen werden als spezifische Anfragen behandelt. Ezoic versucht, die bestmögliche Anzeige zu finden, die der angegebenen Größe entspricht. Wenn keine exakte Übereinstimmung vorhanden ist, wählt das System die nächstmögliche Größe, die am besten in die angegebenen Maße passt.
  • Wenn das Attribut required auf true gesetzt ist, wird Ezoic die Anzeige in diesem Platzhalter priorisieren und sicherstellen, dass sie auch dann angezeigt wird, wenn andere Bedingungen dies normalerweise verhindern würden.
  • Wenn sizes angegeben werden, wird die Anzeige nur dann angezeigt, wenn eine Anzeige in den angegebenen Größen verfügbar ist. Wenn das Attribut „sizes“ weggelassen oder leer gelassen wird, verwendet Ezoic sein Standardverhalten, um die Anzeigengröße zu bestimmen.
Anwendungsfälle
  • Garantierte Anzeigenplatzierung: Verwenden Sie das Attribut required, um sicherzustellen, dass Anzeigen in wichtigen Platzhaltern angezeigt werden, unabhängig von anderen Bedingungen.
  • Größenspezifische Anzeigen: Verwenden Sie das Attribut sizes, um die Abmessungen der geschalteten Anzeigen zu steuern. Dies ist besonders nützlich für responsive Designs oder spezifische Layoutanforderungen, bei denen bestimmte Größen effektiver sind.

Diese fortschrittliche Methode bietet Flexibilität und Kontrolle über die Anzeigenplatzierung und eignet sich daher für Szenarien, in denen mehr als nur die Platzhalter-ID benötigt wird, um das Anzeigenverhalten zu bestimmen.

RefreshAds

refreshAds ist eine neue Funktion in ezstandalone, die es ermöglicht, Anzeigen in bestimmten Platzhaltern zu aktualisieren/erneuern. Diese Funktion kann verwendet werden, wenn Sie eine Anzeige für einen bestimmten Nutzer zu einer bestimmten Zeit aktualisieren/neu laden möchten.

Hier sehen Sie ein Beispiel für die Verwendung der Funktion:

<script>
    ezstandalone.cmd.push(function() {
        ezstandalone.refreshAds(101, 102)
    });
</script>

(HTML)

Ezoic Identity (Email-Hashing, First-Party-Data)

Ezoic Identity ist ein Produkt, das es Publishern ermöglicht, eine gehashte (verschlüsselte) Version der E-Mail eines Nutzers mit diversen Anbietern zu teilen.

Übersicht

Das Produkt Ezoic Identity ermöglicht es Publishern, eine gehashte Version der E-Mail eines Nutzers mit Anbietern wie Google und Prebid’s Nutzer Identity Modulen und Biddern zu teilen. Das Teilen von gehashten E-Mails kann einen großen Vorteil bieten, da es Werbetreibenden ermöglicht, ihre Zielgruppen ohne den Einsatz von Cookies besser zu erreichen. Diese Dokumentation führt Sie durch alle Schritte, die Sie für den Einstieg benötigen.

Wichtig: Bitte stellen Sie sicher, dass Sie alle geltenden Vorschriften zur Datenweitergabe einhalten und holen Sie die erforderliche Zustimmung ein, bevor Sie Nutzerdaten mit externen Anbietern teilen.

Weitergabe von gehashten oder nicht gehashten E-Mails von Nutzern

Rufen Sie die folgende Funktion ab, um entweder sha256-, md5- oder sha1-Hashes der Text-E-Mail-Adresse eines Nutzers zu übermitteln. Sie können auch eine ungehashte E-Mail übermitteln, die Ezoic dann für Sie hasht, um eine maximale Abdeckung aller gängigen Hashing-Methoden zu gewährleisten, bevor sie an unsere Anbieter weitergegeben wird.

Unverschlüsselte E-Mail

var ezoicIdentity = ezoicIdentity || {};
ezoicIdentity.queue = ezoicIdentity.queue || [];
ezoicIdentity.queue.push(function(){
    ezoicIdentity.setIdentity({
        email: PLAINTEXT_EMAIL,
    });
});

(Javascript)

Verschlüsselte / Hashed E-Mail

Bitte beachten Sie bei der Übermittlung einer gehashten E-Mail Adresse Folgendes:

  • Validieren Sie die E-Mail Adresse, z.B. durch die reguläre Verwendung
  • Entfernen Sie vor- und nachgestellte Leerzeichen
  • Konvertieren Sie alle Zeichen in Kleinbuchstaben
  • Hashing der E-Mail mit sha256, md5 oder sha1 (sha256 wird empfohlen):

Es muss mindestens eine gehashte E-Mail Adresse an die Funktion übergeben werden. Wenn Sie mehrere gehashte E-Mails haben, können Sie sie alle übergeben. Empfohlen wird SHA256, aber Sie können jegliche Kombination der drei Hashes übergeben.

var ezoicIdentity = ezoicIdentity || {};
ezoicIdentity.queue = ezoicIdentity.queue || [];
ezoicIdentity.queue.push(function(){
    ezoicIdentity.setIdentity({
        md5: MD5_HASHED_EMAIL,
        sha256: SHA256_HASHED_EMAIL,
        sha1: SHA1_HASHED_EMAIL,
    });
});

(Javascript)

Testen

Die Funktion erstellt im Session-Speicher des Browsers einen Cookie namens ezidentity, der die übermittelten Hashes enthält. Um die Implementierung zu testen, suchen Sie einfach nach dem ezidentity-Cookie.

Identity API

Diese Dokumentation beschreibt zwei Endpunkte für die Verwaltung von E-Mail-Daten: Massenübertragung und Hinzufügen einzelner E-Mails.

E-Mail-Quelle hinzufügen

Dieser Endpunkt ermöglicht das Hinzufügen einer einzelnen E-Mail oder ihrer Hash-Werte zur Quelle.

Endpunkt-Details

  • URL: https://email-api.ezoic.com/v1/source/{sourceUUID}/user
  • Methode: POST
  • sourceUUID: die Kennung der Quellenliste

Header

  • Autorisierung: Bearer a1b2c2
  • Inhaltstyp: application/json

Request Body

Der Body der Anfrage sollte ein JSON-Objekt mit diesen möglichen Feldern sein:

FeldBeschreibung
emailRohe E-Mail-Adresse
sha256SHA256-Hash der normalisierten E-Mail Adresse
sha1SHA1-Hash der normalisierten E-Mail Adresse
md5MD5-Hash der normalisierten E-Mail Adresse
customUserIdBenutzerdefinierte User ID, einzigartig (optional)

Anforderungen:

  • Wenn “E-Mail” vorhanden ist, ist keines der Hash-Felder erforderlich.
  • Wenn “email” nicht vorhanden ist, sind alle drei Hash-Felder (“sha256”, “sha1”, “md5”) erforderlich.
  • Die “customUserId” ist in beiden Fällen optional. Wird sie angegeben, muss sie eindeutig mit der E-Mail-Adresse verknüpft sein.

Beispiel 1: Anfrage mit E-Mail

{
    "email": "[email protected]",
    "customUserId": "1c286ca6-2738-4b79-91cd-a11ab337839a"
}

(JSON)

Beispiel 2: Anfrage mit Hashes

{
    "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "sha1": "63a710569261a24b3766275b7000ce8d7b32e2f7",
    "md5": "b58996c504c5638798eb6b511e6f49af",
    "customUserId": "1c286ca6-2738-4b79-91cd-a11ab337839a"
}

(JSON)

Antwort:

Bei einer erfolgreichen Anfrage wird eine JSON-Antwort zurückgegeben:

{
    "status": "ok"
}

(JSON)

Massenübertragung / Bulk Load

Dieser Endpunkt ermöglicht das massenhafte Laden von Nutzerdaten über eine CSV-Datei.

Endpunkt-Details

  • URL: https://email-api.ezoic.com/v1/source/{sourceUUID}/user/bulk
  • Methode: POST
  • sourceUUID: die Kennung der Quellenliste

Header

  • Autorisierung: Bearer a1b2c2
  • Inhaltstyp: text/csv

Struktur der CSV-Datei

Die CSV-Datei sollte in UTF-8 kodiert sein und die folgenden Spalten enthalten:

SpalteBeschreibung
emailRohe E-Mail Adresse
sha256SHA256-Hash der normalisierten E-Mail Adresse
sha1SHA1-Hash der normalisierten E-Mail Adresse
md5MD5-Hash der normalisierten E-Mail Adresse
customUserIdEinzigartiger Identifikator, der vom Kunden festgelegt wird (Optional)

Anforderungen:

  • Wenn “E-Mail” vorhanden ist, ist keine der Hash-Spalten erforderlich.
  • Wenn “email” nicht vorhanden ist, sind alle drei Hash-Spalten (“sha256”, “sha1”, “md5”) erforderlich.
  • Die “customUserId” ist in beiden Fällen optional. Wird sie angegeben, muss sie eindeutig mit der E-Mail-Adresse verknüpft sein.

Beispiel-CSV 1: Mit E-Mail

email,customUserId
[email protected],44b0c043-ca99-4156-967f-dd12bf92ceaf
[email protected],ea677c98-bd7e-46b4-92ac-8d20bb30608f

Beispiel-CSV 2: Mit Hashes

sha256,sha1,md5,customUserId
a1b2c3...,d4e5f6...,g7h8i9...,bf3381b6-59f1-40e7-b4a3-e55f116c7129

Antwort:

Bei einer erfolgreichen Anfrage wird eine JSON-Antwort zurückgegeben:

{
    "status": "ok",
    "bulkLoadId": "abcd"
}

(JSON)

  • status (string): Gibt den Status des Bulk-Load-Vorgangs an
  • bulkLoadId (string): Ein eindeutiger Identifikator für diesen Bulk-Load-Vorgang

Bulk-Load-Status abrufen

Dieser Endpunkt ermöglicht die Abfrage des Bulk Load Status.

Endpunkt-Details

  • URL: https://email-api.ezoic.com/v1/source/{sourceUUID}/user/bulk/{bulkLoadId}
  • Methode: GET
  • sourceUUID: die Kennung der Quellenliste
  • bulkLoadId: Ein eindeutiger Identifikator für diesen Bulk Load-Vorgang

Header

  • Autorisierung: Bearer a1b2c2

Antwort:

Bei einer erfolgreichen Anfrage wird eine JSON-Antwort zurückgegeben:

{
    "status": "ok",
    "bulkLoadStatus": "running"
}

(JSON)

  • status (string): Gibt den Status der Query an, um den Status zu erhalten
  • bulkLoadStatus (string): Der aktuelle Status für den Bulk Load-Vorgang

E-Mail-Normalisierung

Vor dem Hashing von E-Mail-Adressen sollten diese gemäß den folgenden Regeln normalisiert werden:

  1. Entfernen Sie vor- und nachgestellte Leerzeichen.
  2. Wandeln Sie alle Zeichen in Kleinbuchstaben um.
  3. Für gmail.com-Adressen:

Beispiel für die Normalisierung:

Stellen Sie sicher, dass E-Mail-Adressen vor dem Hashing sowohl für den Bulk Load- als auch für den Einzel-Endpunkt zum Hinzufügen von E-Mails einheitlich normalisiert werden.

Anmerkungen

  • Stellen Sie sicher, dass alle Daten in UTF-8 kodiert werden.
  • Die “sourceUUID” in der URL ist für Ihre Datenquelle spezifisch.
  • Behandeln Sie E-Mail-Adressen sicher und halten Sie alle Datenschutzbestimmungen ein.
  • Normalisieren Sie E-Mail-Adressen vor dem Hashing, einheitlich für beide Endpunkte.
  • Die API verwendet HTTP-Statuscodes, um Erfolg oder Misserfolg anzuzeigen.
  • Achten Sie bei Bulk Loads auf mögliche Größenbeschränkungen und Verarbeitungszeiten.

E-Mail-Dienst-Integration

Unsere Identity-Lösung ermöglicht es Publishern, die Anzeigenleistung für Traffic zu optimieren, der von Newslettern und E-Mail-Kampagnen stammt. Durch die Übermittlung sicherer Signale über URL-Parameter können wir gehashte E-Mail-Adressen und andere First-Party-Daten nutzen. Diese Daten werden in verschiedene Identity-Lösungen integriert und ermöglichen es uns, Gebotsanfragen für Anzeigen zu optimieren. Werbetreibende geben so höhere Gebote ab und erhöhen die Füllrate der Anzeigen, was letztendlich zu höheren Einnahmen für Publisher führt.

Und so funktioniert es:

  1. Synchronisierung von E-Mails: Publisher synchronisieren ihre E-Mail-Listen mit dem sicheren System von Ezoic, das eine einzigartige Abonnenten- oder Kontakt-ID verwendet, die von der Newsletter-Plattform bereitgestellt wird. Wenn keine Abonnenten-/Kontakt-ID verfügbar ist, generiert Ezoic eine eindeutige ID und fügt sie der E-Mail-Liste des Publishers als Tag, Merge-Tag oder benutzerdefiniertes Feld hinzu, je nach E-Mail-Dienstanbieter. Diese ID wird dann von Ezoic verwendet, um Webseiten-Besucher zu identifizieren, wenn sie von Newslettern oder E-Mail-Kampagnen kommen. Ezoic unterstützt direkte API-Integrationen mit vielen führenden E-Mail-Newsletter-Anbietern und bietet außerdem die Möglichkeit, eine Verbindung über unsere Ezoic-API herzustellen, um eine nahtlose Integration mit jedem anderen Anbieter zu ermöglichen.
  2. Einbettung von IDs in Links: Der Publisher fügt die einzigartige User-ID als UTM-Parameter in alle ausgehenden Webseiten-Links innerhalb seiner Newsletter oder E-Mail-Kampagnen ein (zum Beispiel: www.publisher-website.com/content-page?utm_content=zid-123456).
  3. Identifizierung von Besuchern: Wenn der Nutzer auf der Webseite landet, nachdem er auf einen Link geklickt hat, der eine dieser User-IDs enthält, liest Ezoic die ID aus der URL. Wir verwenden diese ID, um den Nutzer zu identifizieren und einen E-Mail-Hash zu generieren, der dann zusammen mit anderen verfügbaren First-Party-Daten an mehrere Identity-Provider, wie z.B. UID2 von The Trade Desk, gesendet wird.
  4. Optimierung des Ad Targetings: Werbetreibende und Agenturen, die Demand-Side-Plattformen (DSPs) nutzen, können die E-Mail-Hashes mit den Zielgruppen ihrer Kampagnen abgleichen und so Nutzer über verschiedene Plattformen hinweg identifizieren. Die aus diesen Hashes abgeleiteten Identity Tokens werden dann an die DSPs gesendet und ermöglichen es ihnen, auf Inventar zu bieten, das den Zielkriterien ihrer Kampagnen entspricht.

Dieser Prozess führt zu einer Optimierung der Füllraten von Demand-Partnern und zu höheren CPMs. Auf iOS-Geräten, egal ob mit Safari oder Chrome, können Werbetreibende beispielsweise keine Premium-Retargeting-Kampagnen durchführen, die auf Cookies von Drittanbietern basieren, da solche auf iOS-Geräten blockiert werden. Mit einem E-Mail-Hash können Werbetreibende ihre Retargeting-Kampagnen jedoch trotzdem mit Kunden oder Leads auf der Grundlage ihrer verschlüsselten E-Mail-Adressen abgleichen.

Wie Sie mit der E-Mail-Dienst-Integration beginnen

Ezoic ermöglicht direkte API-Integrationen mit einer Vielzahl beliebter Anbieter und stellt außerdem eine eigene unkomplizierte und sichere API-Schnittstellen für die Integration aller anderen Email-Service-Anbieter bereit. Klicken Sie auf einen der unten stehenden Buttons, um eine schrittweise Anleitung für Ihre bevorzugte Integrationsmethode zu erhalten.

Einbettung von IDs in Links

Sie können eine User-ID oder einen E-Mail-Hash über einen beliebigen URL-Parameter einfügen, der gemäß der unten stehenden Spezifikation formatiert ist. Ezoic liest den Parameter automatisch aus der URL aus und übermittelt die verschlüsselten Identitätsinformationen der Besucher an Werbetreibende und Agenturen.

Wir empfehlen die Verwendung eines UTM-Parameters, aber jeder andere Parameter funktioniert ebenfalls.

Hier sind einige Beispiele für akzeptierte Werte:

FeldBeispiel
idwww.publisher-website.com/mypage?utm_content=zid-123
md5www.publisher-website.com/mypage?utm_source=zmd5-1a2b3c
sha256www.publisher-website.com/mypage?utm_myparam=zsha256-1a2b3c
sha1www.publisher-website.com/mypage?myparam=zsha1-1a2b3c

Die Angabe der User-ID ist meistens der effektivste Weg, um Identitätsdaten zu übermitteln, steht aber nur zur Verfügung, wenn Sie die Integration eines E-Mail-Dienstes abgeschlossen haben.

Wenn Sie nur E-Mail-Hashes übermitteln, können Sie mehrere gehashte E-Mails in die URL aufnehmen. Empfohlen wird SHA256, aber Sie können eine beliebige Kombination der drei Hashes angeben.

Integrationen

Ezoic ermöglicht direkte API-Integrationen mit einer Vielzahl beliebter Anbieter und stellt außerdem eine eigene unkomplizierte und sichere API-Schnittstellen für die Integration aller anderen Email-Service-Anbieter bereit. Klicken Sie auf einen der unten stehenden Buttons, um eine schrittweise Anleitung für Ihre bevorzugte Integrationsmethode zu erhalten.

Wie Sie beginnen

Die Einrichtung ist einfach, sicher und schnell.

1. Ein Konto erstellen

Keine Kreditkarte, kein Vertrag. Beginnt immer mit 30 Tagen kostenloser Testphase.

2. Webseite verbinden

Mehrere Setup-Optionen & echte Menschen, die 24/7 für Sie da sind.

3. Setup konfigurieren

Hier können Sie mit den Einstellungen und den erweiterten Tests von Ezoic experimentieren.