Nutzerprofil-Targeting
Keywords:
targeting
Deutsch Datum:
05.06.2014
verfügbare Sprachen:
English

Die Targeting-Einstellungen ermöglichen es die Kampagne bestimmten Nutzern vorzuenthalten und so die Werbung nur einer bestimmten Nutzergruppe anzuzeigen. Das System unterstützt hierbei in der Standardausführung die Varianten Geo- bzw. IP-Targeting sowie Nutzerprofil-Targeting. Die Hinweise zum Geo-Targeting finden Sie im entsprechenden Hilfe-Menüpunkt, die folgende Beschreibung bezieht sich auf das Targeting auf Nutzerprofile.

Ziele

Ziel des Onlinemarketings soll es sein, dem richtigen Nutzer die richtige Werbung zeigen zu können. Aus diesem Grunde sollen Nutzerdaten gesammelt und bereits erhobene Nutzerdaten ausgewertet und zur Steuerung der Werbeeinblendungen eingesetzt werden.

Datenschutz

Aus Datenschutzrechtlichen Gründen ist es in den meisten Fällen nicht gestattet personenbezogene Daten zwischen Unternehmen auszutauschen. Aus diesem Grund müssen alle übermittelten Daten personenungebunden sein.Ferner gilt der Grundsatz der Datensparsamkeit, welcher beinhaltet, dass nur die im jeweiligen Fall effizient benötigten Daten verarbeitet werden sollen und werden. Aus diesem Grund werden wir uns bei der Auswertung der Nutzerdaten auf wenige Targetingkriterien beschränken.

Umsetzung

Da die Auslieferung der Werbemittel letztlich auf den Servern des Vermarkters geschieht, ist es zwingend notwenig die benötigten Informationen zu dem jeweiligen User vom Server der Webseite an den AdServer des Vermarkters zu übertragen. An diesem Punkt ist insbesondere die Performance von besonderer Bedeutung, also wie schnell die Daten verarbeitet werden können, weshalb hier eine Lösung mit täglichem oder stündlichem Datenabgleich nicht in Frage kommt. Die Übermittlung der Userdaten geschieht daher URL-basiert.

Targetingkriterien

Da es insbesondere auf die Geschwindigkeit ankommt mit der die Userdaten ausgewertet werden können, ist es hier notwenig die Datenmenge auf ein Minimum der wichtigsten Kriterien zu reduzieren. Die von Werbekunden am meisten angefragten Kriterien sind hierbei die folgenden, die aus Gründen der Einheitlichkeit und leichteren Verarbeitung nochmals in Untergruppen klassifiziert werden: 

  • Geschlecht
    • Männlich
    • Weiblich
  • Alter
  • Nettoeinkommen
    • Unter 500 EUR
    • 500 – 999 EUR
    • 1000 – 1499 EUR
    • usw.
    • 4000 EUR und darüber
  • Interessen
    • Reise, Urlaub & Erholung
      dazu gehören u.A.: Reisen, Urlaub, Hotel, Wandern
    • Finanzen & Versicherungen
      dazu gehören u.A.: Aktien, Fonds, Geldanlage, Rente, Versicherung
    • Fashion
      dazu gehören u.A.: Bekleidung, Mode, Styling, Beauty, Sportbekleidung
    • Auto & Motor
      dazu gehören u.A.: Auto, Motorrad, Tuning, Verkehr
    • Sport
      dazu gehören u.A.: Fußball, Basketball, Handball, Tennis, Formel1, Wintersport
    • Telekommunikation, Computer & IT
      dazu gehören u.A.: Festnetz, Handy, PC/Notebook, Internet, Server
    • Familie
      dazu gehören u.A.: Kinder, Partnerschaftsvermittlung, Schule & Erziehung
    • Freizeitgestaltung, Unterhaltung & Kultur
      dazu gehören u.A.: Radfahren, Kino, TV, Musik, Bücher, Konzerte, Theater, Museum
    • Gesundheit
      dazu gehören u.A.: Wellnes, Arztneimittel, Kuren, Hygiene & Pflege, Ernährung
    • Wohnen & Garten
      dazu gehören u.A.: Haus, Garten, Immobilien, Möbel, tech. Ausstattung, Tiere usw.

Weitere Kriterien sind für kaum einen Werbekunden von gehobenem Interesse und können daher vernachlässigt werden. (Dinge wie Uhrzeit, Geo-Targeting usw. werden über andere Techniken realisiert.)

Datenerhebung

Da meist bei einigen teilnehmenden Webseiten bereits Daten erhoben wurden, während dies bei anderen Webseiten noch nicht der Fall ist, sollte hier zunächst das Ziel bestehen, die Datenerhebung zu vereinheitlichen, sodass vergleichbare Werte Webseitenübergreifend erhoben werden können. Für die oben genannten Targetingkriterien sollten z.B. innerhalb des Anmeldeprozesses auf der Webseite oder innerhalb einer separaten Befragung der Nutzer Daten erhoben und mit der User-ID verknüpft abgespeichert werden, sodass eine spätere Zuordnung Nutzer ↔ Targetingkriterien möglich ist. Zur Erhebung der Daten empfehlen sich folgende Formularelemente:

 

  • Geschlecht: Radiobuttons Männlich / Weiblich (nicht vormarkiert)
  • Alter: Selectbox; Werte „-“ (ohne Wert) bis 100
  • Nettoeinkommen: Selectbox; Werte:
    - (ohne Wert)
    unter 500 EUR/Monat
    500 – 999 EUR/Monat
    1000 – 1499 EUR/Monat
    1500 – 1999 EUR/Monat
    2000 – 2499 EUR/Monat
    2500 – 2999 EUR/Monat
    3000 – 3499 EUR/Monat
    3500 – 3999 EUR/Monat
    4000 EUR/Monat und darüber
  • Interessen: eine Checkbox je Kategorie

Darüber hinaus ist es empfehlenswert insbesondere bei der Erhebung des Nettoeinkommens einen kurzen Erklärungstext bei zu fügen:Nettoeinkommen: Das Einkommen abzüglich Abgaben wie Steuern und Sozialabgaben.

Konvertierung bereits erhobener Daten

Sofern bereits Daten erhoben wurden, die nicht dem oben genannten Format entsprechen, sind diese wie folgt umzuwandeln: 

  • Geschlecht: in der Regel sollte keine Umwandlung nötig sein. Sollte statt Mann und Frau auch z.B. der Wert „Familie“ erhoben worden sein, ist dieser durch „kein Wert“ zu ersetzen.
  • Alter: sofern das Alter nicht als konkrete Zahl sondern in Gruppen (z.B. „20-30 Jahre“) erhoben wurde, wird hier das Durchschnittsalter der Gruppe angesetzt (aus „20-30“ wird also 25 Jahre)
  • Nettoeinkommen: Die Umwandlung geschieht nach folgenden Kriterien:

Erhobenes Format

Benötigtes Format Umwandlung
Bruttoeinkommen einzeln Nettoeinkommen einzeln Die Zahl ist in Abhängigkeit von der Höhe des Bruttoeinkommens mit einem Faktor zwischen rund 0,5 und 0,8 zu multiplizieren (entspricht 20% bis 50% Steuern, Sozialabgaben usw. die i.d.R. vom Bruttoeinkommen abgezogen werden). Genaue Abhängigkeiten hierfür sind im Einzelfall zu klären.
Nettoeinkommen Haushalt Nettoeinkommen einzeln Die Zahl ist in Abhängig vom Wohnort mit einem Faktor zwischen rund 1,1 und 1,6 zu multiplizieren (entspricht dem Anteil der Erwerbstätigen je Haushalt je nach Region). Genau Abhängigkeiten hierfür sind im Einzelfall zu klären

Wurde das Einkommen bisher nicht in den geforderten Gruppen sondern anderen Einteilungen ermittelt, wird von der bisher erhobenen Gruppe der Mittelwert gebildet und dieser der neuen Gruppe zugeordnet.

·         Interessen: Es werden die jeweils am besten passenden Gruppen zugeordnet.

Technische Umsetzung

Wie beschrieben sollen die Userdaten URL-basiert an den AdServer übertragen werden. Hierzu wird die normale IFrame- bzw. Script-URL jeweils dynamisch um einen Parameter („&tgt=“) erweitert. Als Wert wird ein codierter Text angegeben, der die Werte des jeweiligen Nutzers beinhaltet dem die Werbung angezeigt wird. Beispielverlauf: 

  1. Nutzer A registriert sich bei der Webseite und gibt dabei die benötigten Informationen (Alter, Geschlecht usw.) an.
  2. Nutzer A loggt sich in die Webseite ein und ist für diese nun als „A“ erkennbar. Der Nutzer ruft nun eine Unterseite der Webseite ab.
  3. Auf der Webseite befindet sich der normale Code zur Auslieferung der Werbemittel (IFrame/Script). Da die Webseite den Nutzer als „A“ erkannt hat, wird statt dem normalen Code nun ein geänderter Code inkl. dem Parameter &tgt= sowie den codierten Nutzerdaten an den Nutzer übermittelt.
  4. Der Browser des Nutzers erfasst den Code samt der Parameter und übermittelt die URL an den AdServer des Vermarkters.
  5. Der AdServer des Vermarkters wertet die übergebenen Parameter aus und kann anhand dieser entscheiden welche Werbung dem Nutzer angezeigt werden soll.

Codierung der Targetingkriterien

Zur schnelleren Auswertung der Parameter werden diese ausschließlich als Zahlenkombination fester Breite übermittelt. Die Zahlenreihe bildet sich wie folgt (in dieser Reihenfolge): 

  • Geschlecht: 0 = unbekannt, 1 = Männlich, 2 = Weiblich
  • Alter: 000 = unbekannt, ansonsten Alter plus 47 inkl. führender Null
  • Einkommen: 0 = unbekannt, ansonsten: Zahl = Abrunden(Einkommen / 500)+1; Maximum=9
  • Interessen: Jeder Kategorie wird eine Zahl zugeordnet. Die Zahlen aller für den Nutzer zutreffenden Interessen werden summiert und mit führenden Nullen auf 4 Ziffern gebracht (z.B. 0062). Diese Zahlen sind:
    • Reise, Urlaub & Erholung: 1
    • Finanzen&Versicherungen: 2
    • Fashion: 4
    • Auto & Motor: 8
    • Sport:16
    • Telekommunikation, Computer & IT: 32
    • Familie: 64
    • Freizeit, Unterhaltung&Kultur: 128
    • Gesundheit: 256
    • Wohnen & Garten: 512

Einige Beispiele: 

Parameter

= Geschlecht = Alter = Einkommen = Interessen
&tgt=207830069 w (2) 31 (078) 1000-1499(3) Reise (1)Fashion (4)Familie (64)Ergibt: 0069 
&tgt=107450026 m (1) 27 (074) 2000-2499(5) Finanzen (2)Auto (8)Sport (16)Ergibt: 0026 
&tgt=109200005 m (1) 45 (092) Unbekannt (0) Reise (1)Fashion (4)Ergibt: 0005 
&tgt=100040064 m (1) Unbekannt (000) 1500-1999(4) Familie (64)Ergibt: 0064 
&tgt=200000000 w (2) Unbekannt (000) Unbekannt (0) Unbekannt (0000) 
&tgt=000000008 Unbekannt (0) Unbekannt (000) Unbekannt (0) Auto (8)Ergibt: 0008 
&tgt=000000000 Unbekannt (0) Unbekannt (000) Unbekannt (0) Unbekannt (0000) 

Beispielumsetzung PHP

Der folgende Code zeigt beispielhaft die Umsetzung der Targetingkriterien in PHP: 

function getTargetString($gender = 0,
                         $age = 0,
                         $income = -1,
                         $reise = false,
                         $finance = false,
                         $fashion = false,
                         $cars = false,
                         $sport = false,
                         $telco = false,
                         $family = false,
                         $cultur = false,
                         $health = false,
                         $immo = false
                         )
{ 
 
function fix0($s,$j=1)
 
 
{
  $z = ($j-strlen($s.''));
  for($i=0; $i<$z; $i++){ $s = '0'.$s; }
  return $s;
 }
 $interests = ($reise*1)+
              ($finance*2)+
              ($fashion*4)+
              ($cars*8)+
              ($sport*16)+
              ($telco*32)+
              ($family*64)+
              ($cultur*128)+
              ($health*256)+
              ($immo*512);
 return $gender.fix0($age+47,3).fix0(floor($income/500)+1).fix0($interests,4);
}

Beispielumsetzung Übernahme des Nutzerprofiltargetings von Nugg.ad

<script language="JavaScript">
<!--
 function nuggad2adspirit()
 {
  var tgt = '000000000';
  function fix0(s,j){ z = (j-(s+'').length); for(i=0; i<z; i++){ s = '0'+s; } return s; }
  function getInterest(v,alt){ return (v>0&&v<5&&(v<alt||alt==0))?v:alt;}
  if(nuggprof)
  {
   var gender = 0;
   var age = 0;
   var income = -1;
   var reise = 0;
   var finance = 0;
   var fashion = 0;
   var cars = 0;
   var sport = 0;
   var telco = 0;
   var family = 0;
   var cultur = 0;
   var health = 0;
   var immo = 0;
   for(var i=0; i<nuggprof.length; i++)
   {
    var itm = nuggprof[i];
    var n = '';
    var v = '';
    if(itm.length == 2)
    {
     var n = itm[0];
     var v = itm[1];
    }
    switch(n)
    {
     case 'nd_gnd': gender=v  ; break; //sex
     case 'nd_ncm': if(v==1){income=1;}//0-1000
                    else if(v==2){income=3;} //1000-2000
                    else if(v==3){income=5;} //2000-3000
                    else if(v==4){income=7;} //3000-4000
                    else if(v==5){income=9;} //4000-5000
                    break; //income
     case 'nd_agr':  if(v==1){age=18;}
                    else if(v==2){age=25;}
                    else if(v==3){age=35;}
                    else if(v==4){age=45;}
                    else if(v==5){age=55;}
                    else if(v==6){age=65;}
                    break; //age
     case 'ni_fina':
     case 'ni_insu':
                     finance = getInterest(v, finance); break;
     case 'ni_trvl':
     case 'ni_tick':
                     reise = getInterest(v, reise); break;
     case 'ni_fash':
                     fashion = getInterest(v, fashion); break;
     case 'ni_cars':
                     cars = getInterest(v, cars); break;
     case 'ni_sprt':
                     sport = getInterest(v, sport); break;
     case 'ni_tele':
     case 'ni_comp':
     case 'ni_cons':
                     telco = getInterest(v, telco); break;
     case 'ni_baby':
     case 'ni_furn':
     case 'ni_pets':
     case 'ni_wite':
     case 'ni_sing':
     case 'ni_educ':
     case 'na_jobs':
     case 'na_fami':
     case 'na_life':
                     family = getInterest(v, family); break;
     case 'na_ente':
     case 'ni_arts':
     case 'ni_mdia':
     case 'ni_game':
     case 'na_book':
     case 'na_vips':
     case 'na_cine':
     case 'na_joke':
     case 'na_tvtv':
                     cultur = getInterest(v, cultur); break;
     case 'ni_opti':
     case 'ni_care':
                     health = getInterest(v, health); break;
     case 'ni_hous':
     case 'ni_flat':
     case 'ni_doit':
     case 'ni_prov':
                     immo = getInterest(v, immo); break;
    }
   }
   var interests = (reise*1)+ (finance*2)+ (fashion*4)+ (cars*8)+ (sport*16)+ (telco*32)+ (family*64)+ (cultur*128)+ (health*256)+ (immo*512);
   tgt = gender+''+fix0(age+47,3)+''+fix0(Math.floor(income/500)+1)+''+fix0(interests,4);
  }
  return tgt;
 }

document.write('<scr'+'ipt src="http://[adserver]/adscript.php?pid=XYZ&ord=[timestamp]&tgt='+nuggad2adspirit()+'" type="text/javasc'+'ript" language="JavaSc'+'ript"></scr'+'ipt>');
//-->
</script>