Viele Werbemittel schnell anzeigen

Der Single-Page-Call (SPC) von OpenX ermöglicht das effiziente „befüllen“ einer Webseite mit Werbemitteln – und dies in nur einem einzigen Ad-Request, also eine deutliche Reduzierung der Serverlast auf Seiten des Ad-Servers. Als „nützlicher“ Nebeneffekt wird auch die Webseite deutlich schneller aufgebaut, da sich ja auch für den Webbrowser der Netzwerktraffik erheblich verringert.

Wie funktioniert jetzt der SPC?

Zunächst wird im HEAD-Bereich der Seite der Request an den OpenX Ad-Server eingebaut:

<script type='text/javascript' src='http://example.com/delivery/spcjs.php?id=1'></script>

Hiermit wird OpenX angewiesen für alle Zonen des Werbeträgers (die Webseite) mit der ID=1 ein Werbemittel (Banner) auszuliefern. Der Bannercode für die einzelnen Banner wird in einem javascript-Array zwischengespeichert. Anschließend können diese „vorgeladenen“ Banner an der jeweiligen Position auf der Webseite ausgegeben werden:

...
foo bar
<script type='text/javascript'><!--// <![CDATA[
OA_show('12');
// ]]> --></script>
...
foo2 bar2
<script type='text/javascript'><!--// <![CDATA[
OA_show('17');
// ]]> --></script>
...

Das obige Beispiel zeigt den Banner für die Zone 12 und Zone 17 auf der Webseite. Kopiert man den obigen Bannercode direkt aus der Admin-Oberfläche von OpenX auf seine Webseite ist eine Verwechselung der Zonen-IDs ausgeschlossen – übernimmt man den SPC-Aufruf von einer bereits existierenden Seite, muß man beachten, das die jeweiligen Zonen-IDs auch zu der Webseiten-ID (Aufruf von spcjs.php, s.o.) passen.

Zusätzliche Optionen

Ähnlich der Option „Werbemittel auf derselben Seite nicht mehrfach anzeigen“ des normalen javascript-Bannercode erlaubt auch der SPC diese Einschränkung: hierzu wird der Parameter „&block=1“ an den Aufruf von spcjs.php angehängt:

<script type='text/javascript' src='http://example.com/delivery/spcjs.php?id=1&block=1'></script>

Intern verarbeitet OpenX die Zonen jetzt der Reihe nach und wird dabei keinen bereits ausgewählten Banner erneut auswählen. Für die Option „Kein Werbemittel der gleichen Kampagne mehrfach anzeigen“ mit dem Parameter „&blockcampaign=1“ verhält es sich identisch.

Erweiterte Nutzungsmöglichkeit

Kommen wir nun zu der optimierten Anwendung des SPC: Man mag sich fragen, warum man für eine Webseite mit nur 3 Zonen trotzdem für alle Zonen der Webseite in OpenX einen Banner anfordern muß. Dies ist jedoch nur in der Standard-Anwendung des SPCs so, wenn man den Bannercode von OpenX generieren läßt. Durch eine Erweiterung des Aufrufs lassen sich die Zonen explizit auswählen – mehr noch – es können auch Zonen mehrfach für eine Seite ausgewählt werden. Hier ein Beispiel: Für eine Webseite sollen die Zonen 7, 12 und 18 ausgegeben werden, wobei die Zone 7 zweimal auf der Webseite enthalten ist. Hier für fügt man vor dem Aufruf von spcjs.php z.B. den folgenden javascript-Code ein:

<script type='text/javascript'><!--// <![CDATA[
var OA_zones = {
'Kopf' : 7,
'Fuss' : 7,
'Links' : 12,
'Rechts' : 18
}
// ]]> --></script>

Hilfreich ist hierbei, dass man an dieser Stelle eigene Namen für die später auf der Seite auszugebenden Banner verwenden kann (Kopf, Fuss, …). Zur Ausgabe der Banner auf der Webseite verwendet man jetzt die selbst gewählten Namen statt der Zonen-IDs:

...
foo bar
<script type='text/javascript'><!--// <![CDATA[
OA_show('Kopf');
// ]]> --></script>
...
foo2 bar2
<script type='text/javascript'><!--// <![CDATA[
OA_show('Links');
// ]]> --></script>
...

2 Gedanken zu „Viele Werbemittel schnell anzeigen“

  1. Wenn nur eigene Werbemittel anzuzeigen sind mag diese Möglichkeit wirklich gut sein.

    Zum Problem wird derartiges dann, wenn man Bannercodes von Drittanbietern ausliefert (wie Adsense, Mirago, Doubleclick, Tradedoubler) und diese Drittanbieter Auslieferungsprobleme haben. Dann bremsen nämlich genau diese Anbieter den kompletten Seitenaufbau aus.

    Sinnvoller wäre es, wenn mit OA_show nicht einfach nur der Bannercode auf die Seite geschrieben würde, sondern der Bannerinhalt in einen IFrame eingetragen würde und damit Seitenunabhängig geladen würde.

    Oder gibt es da noch andere Möglichkeiten?

  2. Ich habe vor ein paar Tagen für einen Kunden den SPC genauer untersucht. ***Leider*** ist gerade mit den IFrames ein dicker Bug im Firefox zu finden. Liefert man einen IFrame im Firefox aus, und der User macht einen Refresh der Seite, vertauscht der Firefox gelegetlich die IFrames mit anderen ‚Plätzen‘. Für den Benutzer sieht das dann so aus, als ob OpenX statt einem Leaderboard z.B. einen Skyskaper auf die Zone geliefert hat und umgekehrt.
    Sonst wäre Deine Idee nicht schlecht, man bräuchte nur den SPC, bzw. OA_Show leicht umzuschreiben (oder eine neue Funktion OA_IFrame zu schreiben) die zusätzlich einen IFrame mit ausgibt. Die Größe der Zone kann man von OpenX mit ausliefern lassen.

Schreibe einen Kommentar