Retargeting: Produktlisten
Keywords:
retargeting, re-targeting, produktlisten, retargeting-datenbank
Deutsch Datum:
23.01.2018
verfügbare Sprachen:

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 Spalten stehen dafür zur Auswahl:

 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.

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.).

Wichtig: Sowohl Produkt-ID als auch die Kategorien müssen eindeutig und als Zahl übermittelt werden (nicht identifizierbare Daten werden als 0 / Null in der Datenbank gespeichert). Zahlen sind bis max. 2^32 (rund 4 Mrd.) möglich.

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)
Wenn source=0: Name des Retargetingwertes ([xxx] aus .../adretargeting.php?value=[XXX]) 
Wenn source=1: Name des HTTP-Parameters (&xyz=...)
Wenn source=2: Schreibweise "x:Name", wobei x die ID des Pretargetings ist und Name der Name des Pretargeting-Parameters ( ... window.asm_pretargeting("&parametername=1..."); ... )

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:

  • products - liefert die Produkte die sich der Besucher zuletzt angesehen hat
  • cat1 - liefert Produkte aus einer der als Typ Kategorie 1 besuchten Kategorien
  • cat2 - liefert Produkte aus einer der als Typ Kategorie 2 besuchten Kategorien
  • cat3 - liefert Produkte aus einer der als Typ Kategorie 3 besuchten Kategorien
  • cat4 - liefert Produkte aus einer der als Typ Kategorie 4 besuchten Kategorien
  • cat5 - liefert Produkte aus einer der als Typ Kategorie 5 besuchten Kategorien
  • all - liefert Produkte aus der gesamten Produktdatenbank unabhängig von Kategorie und Affinität
  • search - (nur bei source=1) sucht in den für die Suche freigegebenen Spalten nach den übermittelten Begriffen. Begriffe müssen via Komma getrennt an den HTTP-Parameter übergeben werden der unter value=... benannt ist.

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