Adcontroller: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 46: Zeile 46:


     var iqd_mode = (function () {
     var iqd_mode = (function () {
        var dm = window.location.href.toLowerCase();
      let mode = 'live';
        return (dm.indexOf('iqdeployment=') > 1) ? dm.split('iqdeployment=')[1].split('&')[0] : 'live';
      const currentUrlSearchParams = new URLSearchParams(window.location.search);
 
      if (currentUrlSearchParams.has('iqdeployment')) {
        mode = currentUrlSearchParams.get('iqdeployment').replace(/\W/g, '');
      }
 
      return mode;
     })();
     })();


Zeile 98: Zeile 104:


     var iqd_mode = (function () {
     var iqd_mode = (function () {
        var dm = window.location.href.toLowerCase();
      let mode = 'live';
        return (dm.indexOf('iqdeployment=') > 1) ? dm.split('iqdeployment=')[1].split('&')[0] : 'live';
      const currentUrlSearchParams = new URLSearchParams(window.location.search);
 
      if (currentUrlSearchParams.has('iqdeployment')) {
        mode = currentUrlSearchParams.get('iqdeployment').replace(/\W/g, '');
      }
 
      return mode;
     })();
     })();


Zeile 181: Zeile 193:
         keywords: "[Erfolgt_mit_Abstimmung_iq]",
         keywords: "[Erfolgt_mit_Abstimmung_iq]",
         tma: "[Erfolgt_mit_Abstimmung_iq]",
         tma: "[Erfolgt_mit_Abstimmung_iq]",
         platform: "[desktop | tablet | mobile]"
         platform: "[desktop | tablet | mobile]",
        userData: {
          hashedEmail: "[Hashed Email siehe Erläuterung unten]"
        }
     };
     };
</script>
</script>
Zeile 215: Zeile 230:
Hier sind folgende Werte möglich: desktop, tablet oder mobile
Hier sind folgende Werte möglich: desktop, tablet oder mobile
Je nachdem auf welchen Device der User unterwegs ist sollte der entsprechende Wert übergeben werden.
Je nachdem auf welchen Device der User unterwegs ist sollte der entsprechende Wert übergeben werden.
====Schlüssel: userData====
"userData" ist das Sammelobjekt für alle nötigen UserInformationen sowohl im  Rahmen von Clean Room Cases als auch unserer ID-Lösungen.
=====Schlüssel: userData:hashedEmail=====
Vorherige Normalisierung und Übergabe der via SHA256 erstellten Hashes der E-Mail Adressen über Publisher-CMS-/Mandantenobjekt (AdController) nach User Anmeldung/ Newsletter Registrierung.
<syntaxhighlight lang='javascript'>
//Beispiel eines SHA256 Hashes
const userData:{
        hashedEmail: "21bd991f8b25a57075dd2489b4eebda1a5d956bbf52f961fe5289c6d5a0a2b5c"
}
</syntaxhighlight>
'''Normalisierung''':
Vor dem Hashing der E-Mail-Adresse Normalisierung der Zeichenfolge, indem „überflüssige“ Zeichen entfernt werden:
# Entfernen führender und nachgestellter Leerzeichen
# Alle ASCII-Zeichen in Kleinbuchstaben umwandeln
# Entfernen von "." (ASCII-Code 46) aus dem Benutzernamen der E-Mail-Adresse
  à z.B. jane.smith@gmail.com wird normalisiert zu janesmith@gmail.com
# Entfernen von "+" (ASCII-Code 43) und alle nachfolgenden Zeichen aus dem Benutzernamen der E-Mail-  Adresse
  à  z.B. janesmith+test@gmail.com wird normalisiert zu janesmith@gmail.com


===Zeichenlimitierung===
===Zeichenlimitierung===