Seit Version 2.15.0 kann zusätzlich zum normalen Retargeting (Wiedererkennen von Besuchern) auch erweiteres Retargeting verwendet werden. Hierbei ist es möglich den einzelnen Besucher zusätzlich mit Produkteigenschaften zu markieren - also Informationen darüber für welches Produkt bzw. Produktkategorien sich der Besucher interessiert hat um so anschließend Produktspezifische Banner ausliefern zu können.
So funktioniert's ...
Im AdServer wird eine Datenbank an Produktinformationen z.B. aus einem Webshop importiert. Gleichzeitig werden Besucher des Shops mit dem erweiterten Retargeting markiert, etwa welches Produkt sich der Besucher angesehen hat oder in welcher Produktkategorie er gesurft hat. Surft der so markierte Besucher anschließend auf einer Webseite auf der Banner des AdServers ausgeliefert werden können, kann der AdServer die Markierungen des Besuchers dazu verwenden um ihm Banner anzuzeigen die z.B. weitere Informationen zu bereits gesehenen Produkten oder andere Produktvorschläge in interessanten Kategorien beinhalten. Hierzu werden die Daten der Markierung (z.B. "Welche Produkte hat der Besucher gesehen?") mit den zuvor in den AdServer importierten Produktinformationen (z.B. Produkt X, Preis 3,95 EUR, Kategorie Y, Beschreibungstext usw.) verknüpft und dynamisch in das Werbemittel geladen.
Vorbereitungen
Zunächst muss eine Produktdatenbank hinterlegt werden. Hierfür wird der AdServer in regelmäßigen Abständen eine entsprechend präparierte CSV-Datei von Ihrem Server bzw. Ihrem Webshop herunter laden. Damit er dies tun kann muss zunächst die Einstellung für den CSV-Download vorgenommen werden. Dies tun Sie im Administrationsbereich im Punkt Retargeting-Datenbank. Erstellen Sie hier zunächst einen Datenbankeintrag mit folgenden Werten:
Name | Name für den Importvorgang (beliebig) |
URL | URL(s) (eine pro Zeile) der CSV-Datei die importiert werden soll. Diese CSV kann mit Platzhaltern versehen werden (siehe unten) |
Aktiv | Bestimmt ob der Importvorgang aktiviert werden soll. |
Spaltentrennzeichen | Bestimmt das Zeichen welches innerhalb der CSV Spalten voneinander abgrenzt. Üblicherweise wird hier das Komma verwendet, manchmal ist auch das Semikolon oder andere Zeichen vorzufinden. Soll die Tabulatur [Tab] verwendet werden, geben Sie bitte "\t" ein. |
Intervall | Bestimmt das Intervall in denen die CSV-Daten abgerufen und importiert werden sollen. Das Intervall beginnt dabei jeweils um 0:00 Uhr eines jeden Tages und setzt sich dann entsprechend fort. |
Zeilendefinition | Eine Liste von durch Semikolon getrennten Zahlen die darüber Ausschluss geben in welcher Spalte sich welcher Datentyp befindet. Nutzen Sie hierfür den dazu befindlichen Konfigurator. Weitere Verfeinerungen sind möglich, siehe unten. |
Daten beginnen ab Zeile | Bestimmt ab welcher Zeile mit Daten begonnen wird. Befinden sich in der ersten Zeile etwa Überschriften und in der zweiten erst die Daten, wird hier eine 2 eingetragen. |
Die Produktdatenbank sollte dabei zumindest eine Spalte Produkt-ID und eine Spalte Kategorie 1 enthalten und kann ggf. durch weitere Spalten Kategorie 2 - 5 sowie Datenspalten verfeinert werden.
CSV-Format und Spaltentypen
Die CSV muss Zeilenweise aufgebaut sein und sollte die Produktdaten für alle der möglicherweise bei Besuchern vorgenommen Markierungen beinhalten. Folgende Spaltentypen stehen dafür zur Auswahl:
ID | Spaltentyp |
0 | [Spalte ignorieren] |
1 | Produkt-ID |
2 | Kategorie 1 |
3 | Kategorie 2 |
4 | Kategorie 3 |
5 | Kategorie 4 |
6 | Kategorie 5 |
7 | Datenspalte (langer Text, nur in Ausnahmefällen verwenden) |
8 | Datenspalte (kurzer Text 255 Zeichen) |
9 | Suchspalte (suchbarer Text bis 255 Zeichen) |
10 | Startdatum Aktivität |
11 | Enddatum Aktivität |
12 | Datenspalte URL-codiert |
Dabei ist es Ihnen freigestellt ob Sie nur eine Kategorie, zwei, drei, vier oder alle 5 Kategoriespalten befüllen oder wie die Kategoriespalten logisch zueinander gehören (denkbar wäre z.B. auch die Verwendung von Kategorie 1 = Marke (Nike, Esprit, Fruit of the Loom, etc.), Kategorie 2 = Angebotstyp (Sonderangebote, Schnäppchen, Normale Angebote, etc.), Kategorie 3 = Typ (T-Shirt, Schuhe, Oberbekleidung, usw.), Kategorie 4 = Preisraum (z.B. bis 100 EUR, bis 200 EUR usw.).
Beispiele:
Produkt-ID | (Zahl) Eindeutige ID für ein Produkt (z.B. Damenschuh XYZ = 627) |
Kategorie 1 | (Zahl) Eindeutige ID für die erste Oberkategorie des Produkts (z.B. Kategorie "Damenschuhe Hersteller Z" = 72398) |
Kategorie 2 | (Zahl) Eindeutige ID für die zweite Oberkategorie des Produkts (z.B. Kategorie "Damenschuhe Winterschuhe" = 6283) |
Kategorie 3 | (Zahl) Eindeutige ID für die dritte Oberkategorie des Produkts (z.B. Kategorie "Damenschuhe Insgesamt" = 936) |
Kategorie 4 | (Zahl) Eindeutige ID für die vierte Oberkategorie des Produkts (z.B. Kategorie "Damenmode Insgesamt" = 928) |
Kategorie 5 | (Zahl) Eindeutige ID für die fünfte Oberkategorie des Produkts (z.B. Kategorie "Mode Insgesamt" = 314) |
Datenspalte | (Text) Beliebiger Text, Zahl, Datum, URL oder anderer Wert der weitere Informationen zum Produkt enthält. |
Erweiterungen der Zeilendefinition
Die Zeilendefinition kann durch weitere Bausteine verfeinert werden.
Manuelles Setzen/Überschreiben eines festen Wertes
Soll der Wert einer Spalte mit einem festen anderen Wert überschrieben werden, notieren Sie in der Zeilendefinition bei der jeweiligen Spalte einfach den Wert in Klammern gefolgt vom Spaltentyp. Beispiel:
Vorher: 1;1;1;3;0;2
Nachher: 1;(Fester Text)1;1;3;0;2
In diesem Fall wird die zweite Spalte immer mit "Fester Text" gesetzt.
Upload von Grafiken auf den Imageserver
Sofern in der CSV eine Spalte enthalten ist die eine URL auf eine Grafik beinhaltet, kann diese Grafik vom AdServer beim Import automatisch heruntergeladen und auf den Imageserver des AdServers hochgeladen werden. Dies hat ggf. deutliche Geschwindigkeitsvorteile bei der Verwendung der Grafiken. Um dies zu veranlassen, setzen Sie in der Definition der jeweiligen Spalte ein "i:" vor den Spaltentyp. Darüber hinaus können Sie eine Änderung der Bildgröße veranlassen indem Sie nach "i:" die maximale Breite und Höhe in Pixeln innerhalb von eckigen Klammern angeben (z.B. "[300x300]", auch Schreibweisen mit nur Breite/Höhe sind möglich, z.B. "[x300]" oder "[300x]"). Bei Angabe einer maximalen Größe wird das Bild unter Beibehaltung des Seitenverhältnisses auf die maximale Höhe und Breite angepasst. Beispiel:
Vorher: 1;1;1;3;0;2
Nachher (A): 1;i:1;1;3;0;2
Nachher (B): 1;i:[250x150]1;1;3;0;2
In Fall A wird die URL aus Spalte zwei heruntergeladen und auf die Imageserver hoch geladen, die Retargetingdatenbank beinhaltet dann eine URL mit der Grafik auf dem Imageserver. Im Fall B wird die Grafik zusätzlich noch auf eine Breite von maximal 250px und eine Höhe von maximal 150px geändert.
Erweiterte Markierung von Besuchern (erweitertes tagging)
Möchten Sie Produktlisten für das Retargeting verwenden müssen diese zuvor entsprechend markiert werden. Hierzu verwenden Sie wie beim normalen markieren die URL
http://[AdServer-URL]/adretargeting.php?value=[XXX]
und erweitern diese um einen oder mehrere der folgenden Parameter:
&product=x | (Zahl) Produkt-ID die der Besucher gesehen hat |
&cat1=x | (Zahl) Kategorie ID für Kategorie 1 |
&cat2=x | (Zahl) Kategorie ID für Kategorie 2 |
&cat3=x | (Zahl) Kategorie ID für Kategorie 3 |
&cat4=x | (Zahl) Kategorie ID für Kategorie 4 |
&cat5=x | (Zahl) Kategorie ID für Kategorie 5 |
&aff=x | (Zahl) Affinität. Je höher die Zahl umso höher das Interesse des Besuchers für dieses Produkt/Kategorie; Standardwert ist 25 |
Beispiel:
http://[AdServer-URL]/adretargeting.php?value=meinshop&product=625&cat3=27
... markiert den Besucher mit dem Retargeting-Wert "meinshop" (der Besucher kann also mit "meinshop" wiedererkannt werden) und setzt zudem die Interessen des Besuchers für das Produkt mit der ID 625 und Kategorie 3 mit der ID 27. Später könnten dem Besucher als z.B. Banner mit Sonderangeboten für das Produkt 625 gezeigt werden oder Produktvorschläge von anderen Produkten aus der Kategorie 3 = 27.
Pro Besucher werden maximal 25 Datenwerte gespeichert (ein Datenwert entspricht einer Kategorie oder einem Produkt).
Setzen der Affinität
Die einfachste Weise die Affinität einzustellen ist sie ganz raus zu lassen. In diesem Fall wird beim Besuch der Seite die Affinität mit 25 gesetzt. Je weiterem Seitenbesuch wird anschließend automatisch die Affinität aller bereits gesetzen Werte um 1 gesenkt, lediglich bei Werten die erneut gesetzt werden würden, wird die Affinität eben um den zu setzenden Wert erhöht. Damit ergibt sich, dass Werte die seit mehreren Besuchen nicht mehr erneut gesetzt wurden nach und nach herausfallen (Affinität kleiner 1) und Werte die sehr oft gesetzt werden weil z.B. die Kategorie sehr oft besucht wird werden entsprechend gestärkt.
Eine ebenfalls sinnvolle Weise zum Ermitteln der Affinität kann es sein, die Verweildauer auf einer Seite als Maß für die Affinität zu verwenden. Hierzu wird lediglich ein einfaches JavaScript benötigt. Beispiel:
<script type="text/javascript" language="JavaScript">
<!--
var rtvisit = new Date();
function callrt()
{
var diff = Math.round(((new Date())-rtvisit)/1000);
var img = new Image();
img.src = 'http://[AdServer-URL]/adretargeting.php?value=meinshop&product=625&cat3=27&aff='+diff;
}
window.onunload=callrt;
//-->
</script>
Das Script misst die Zeitspanne die der Besucher auf einem Dokument verbringt und löst beim Verlassen der Seite das Setzen des Retargeting-Pixels aus als dessen Affinitäts-Wert die Anzahl an Sekunden steht, die der Besucher auf der Seite verbracht hat.
Anpassen von Werbemitteln
Damit die Werbemittel entsprechend an die zuvor markierten Interessen des Besuchers angepasst werden können müssen sie entsprechende Informationen darüber erhalten was den Besucher interessiert. Hierzu sind einige Anpassungen an Werbemitteln notwendig:
Flash-Werbemittel und Werbemittel auf externen Servern
Damit sich das Flash-Werbemittel an die Retargeting-Informationen anpassen kann muss diesem mitgeteilt werden welche Informationen es anzeigen soll. Dies geschieht in Form von Parametern die der AdServer an das Werbemittel übergibt. Das Werbemittel nimmt diese wieder auf und passt sich selbst an die Informationen an.
Um die Informationen zu übermitteln wird entweder in das Feld "zus. Flash-Parameter" (bei Flash-Werbemitteln) oder an die Banner-URL (z.B. wenn das Werbemittel ein ASP- oder PHP-Script auf einem externen Server ist der das Werbemittel generiert) folgender Platzhalter ein-/angefügt:
%%retargeting%[Parameter]%
HTML-Werbemittel
Damit sich ein HTML-Werbemittel an die Retargeting-Informationen anpassen kann muss das Werbemittel so programmiert werden, dass es Informationen aus JavaScript übernimmt und an geeigneten Stellen im HTML-Code einfügt. Hierzu fügen Sie einen entsprechenden Platzhalter in den JavaScript-Teil des HTML-Codes ein:
%%retargeting%[Parameter]%
Parameterkonfiguration des Platzhalters
Der oben genannte Platzhalter fordert den AdServer auf Retargetinginformationen auszulesen und mit der einer Produktdatenbank zu verbinden. Damit er weiß welche Informationen er wie und woher holen soll muss der Platzhalter näher konfiguriert werden. Dies geschieht indem an Stelle von [Parameter] die folgenden Parameter eingetragen werden:
source= | (int) Quelle für den Datenvergleich: 0 = Suche nach Retargetingwert (default); 1 = Suche nach HTTP-Parameter; 2 = Suche innerhalb von Pretargeting Parametern |
value= |
(string) |
output= | (string) Wert "js" oder "json" für Ausgabe der Informationen als JavaScript-Array; Wert "url" als Ausgabe der Informationen als URL-Parameter |
count= | (int) Anzahl maximal auszugebender Produkte |
db= | (int) Datenbank-ID aus der die Produktdaten bezogen werden sollen (vgl. Einstellungen der Retargeting-Datenbank |
order= | (string) Wert der beschreibt in welcher Reihenfolge Datensätze aus der Datenbank herausgesucht werden sollen. Möglich sind die Werte "rand" (Zufallsauswahl), "aff" (Produkte mit der höhsten Affinität) |
get= |
(string) Wert der beschreibt nach welchen Kriterien Datensätze ausgewählt werden sollen. Mögliche Werte sind:
Hierbei können mehrere Werte durch Komma getrennt nacheinander angegeben werden, z.B. "products,cat1,cat2". In diesem Beispielfall wird zuerst nach besuchten Produkten gesucht. Wird mindestens die in count= angegebene Zahl gefunden so werden diese ausgegeben. Werden weniger Produkte gefunden wird im Beispiel nach Produkten aus Kategorie 1 gesucht, anschließend nach Kategorie 2. Ferner können in einem Feld mehrere Werte miteinander kombiniert werden, wenn diese durch + (Plus) verbunden werden. Beispiel: "products,cat1+cat2,all" liefert die besuchten Produkte oder, wenn keine gefunden wurden, Produkte für die der User Affinitäten in Kategorie 1 UND 2 hat (muss beides vorhanden sein). Erst wenn auch hier keine Produkte gefunden wurden wird im Beispiel durch "all" die Suche in der gesamten Produktdatenbank fortgesetzt. |
rt[x]prod= und rt[x]cat[y]= und rt[x]data[y]= |
Ausgabesteuerung: Gibt den Namen an mit dem die Produktdaten des Produktes x in URL-Schreibweise ausgegeben werden sollen. (siehe unten) |
pre[rt...] und post[rt...] |
Ausgabesteuerung: Der hier angegebene Wert wird vor (pre) oder nach (post) den Daten für ein bestimmtes Feld ausgegeben. prert1data3=X setzt also X bei der Ausgabe vor die Daten von Datensatz 1 Spalte 3. Hinweis: Sofern Sie das Feld zuvor mittels rt[...] umbenannt haben verwenden Sie bitte pre[Feldname] bzw. post[Feldname]. Beispiel ...|rt1data3=produktname|preproduktname=NEU|... Hinweis: Beachten Sie, dass alle Werte URL-encoded übergeben werden müssen. Sofern Sie z.B. eine Klick-URL voranstellen wollen verwenden Sie bitte ...|prert1data3=%25urlredirect%25|... |
Mehrere Parameter werden dabei mit | voneinander getrennt. Beispiel:
%%retargeting%value=meinshop|output=url|count=1|db=23|order=rand|get=products,all%
... liefert ein Produkt im URL-Format aus Datenbank 23 welches nach Zufall ausgewählt wurde und vom Besucher zuletzt angesehen wurde oder, wenn kein Produkt zuletzt angesehen wurde, dann ein Zufallsprodukt aus der gesamten Datenbank.
Ausgabevarianten
Mittels dem Parameter output=... kann die Art der Ausgabe definiert werden. Die Angabe output=js erzeugt dabei einen JavaScript-Code der die abgerufenen Produktinformationen als Mehrdimensionales-Array beinhaltet. Die erste Dimension des Arrays ist dabei das Produkt (Index 0 = erstes Produkt, Index 1 = zweites Produkt usw.), die zweite Dimension des Arrays besteht dabei aus den Datenbankfeldern der Produktdatenbank. Die Felder sind dabei in folgender Reihenfolge angeordnet:
- Produkt-ID
- Kategorie 1
- Kategorie 2
- Kategorie 3
- Kategorie 4
- Kategorie 5
- Datenfeld 1
- Datenfeld 2
- Datenfeld ...
Beispiel:
<script language="JavaScript">
<!--
var daten = %%retargeting%output=js|...%
//-->
</script>
... ergibt folgende Beispiel-Ausgabe:
<script language="JavaScript">
<!--
var daten = new Array(
new Array(990,1,2,3,4,5,"Datenfeld 1","Datenfeld 2"),
new Array(991,1,2,3,4,5,"Datenfeld 1","Datenfeld 2"),
new Array(992,1,2,3,4,5,"Datenfeld 1","Datenfeld 2"),
new Array(993,1,2,3,4,5,"Datenfeld 1","Datenfeld 2")
)
//-->
</script>
Bei Verwendung der Ausgabevariante output=url werden die Daten stattdessen als Reihe von URL-Parametern ausgegeben. Hierbei werden folgende Parameter an die Flash-Datei übergeben:
&rtcount= | (int) Anzahl der Produkte die übergeben werden |
&rt[i]prod= | (int) Produkt-ID des i-ten Produktes, die Zählung beginnt dabei bei 1 für das erste Produkt, 2 für das zweite usw.. &rt4prod= enthält also die ID des vierten Produkts. |
&rt[i]cat[x]= | (int) x-te Kategorie-ID des i-ten Produktes. z.B. &rt2cat1= übergibt die ID für Kategorie 1 von Produkt 2 |
&rt[i]data[x]= | (string) x-te Datenspalte des i-ten Produktes. z.B. &rt2data3= übergibt die dritte Datenspalte des zweiten Produktes |
Beispiel:
&rtcount=1&rt1prod=23&rt1cat1=66&...&rt1data1=Datensatz%201&rt1data2=Datensatz%202&rt1data3=Datensatz%203
In URL-Schreibweise können die Namen der Parameter dadurch angepasst werden, dass die Parameterkonfiguration des Platzhalters entsprechend verändert wird (siehe oben). Beispiel:
%%retargeting%output=url|...|rt1prod=id1|rt1cat1=kat1|rt1data3=click|preclick=%25urlredirect%25%
... ergibt z.B. folgende Ausgabe:
&rtcount=1&id1=23&kat1=66&...&rt1data1=Datensatz%201&rt1data2=Datensatz%202&click=%urlredirect%Datensatz%203