Zum Hauptinhalt springen
Mit der Onsite-Personalisierung liefern Sie Shopinhalte zielgruppenspezifisch aus. Je nach Kundengruppe blenden Sie andere Banner ein, gestalten eigene Farbwelten oder leiten den Kunden bei jedem Shop-Aufruf auf eine für ihn bestimmte Landingpage weiter. Die Steuerung übernimmt ein Cookie, das der Shop selbst verwaltet. Sein Inhalt ist verschlüsselt, der Kunde kann ihn also nicht verändern. Das ist der wesentliche Unterschied zu einer Steuerung über URL-Parameter, die jeder Besucher in der Adresszeile umschreiben kann. Dc Hund Katze

Wie die Personalisierung funktioniert

Am Beispiel eines Tierbedarfs-Shops für Hunde und Katzen: Dasselbe Verfahren trägt auch andere Personalisierungen, beispielsweise eigene Farbwelten oder eine Weiterleitung auf eine feste Landingpage, sowohl in der laufenden Sitzung als auch bei späteren Besuchen. Der Shop speichert beliebig viele Schlüssel-Wert-Paare in einem einzigen Cookie. Er verschlüsselt den Inhalt mit AES-256 und komprimiert ihn anschließend. Aus dem Cookie lässt sich also weder ablesen noch beeinflussen, welcher Zielgruppe ein Besucher zugeordnet ist. Der Cookiename lautet ws_<Shop>_<Sprache>_design_cookie.
Der Sprachcode steckt im Cookienamen. Ein Besucher, der die Sprache wechselt, startet damit in der neuen Sprache ohne Zuordnung. Wenn Ihre Personalisierung über Sprachen hinweg gelten soll, müssen Sie das Cookie in jeder Sprache erneut setzen.
Schlüssel werden ohne Rücksicht auf Groß- und Kleinschreibung verglichen. Kundengruppe und kundengruppe sind also derselbe Schlüssel. Setzen Sie denselben Schlüssel erneut, wird der bisherige Wert ersetzt.
Schlüssel und Werte dürfen keinen senkrechten Strich enthalten. Der Shop trennt die Einträge im Cookie mit diesem Zeichen, ein Wert wie hund|katze zerlegt das Cookie also fehlerhaft.

Voraussetzungen

Für die Onsite-Personalisierung ist keine Freischaltung durch die WEBSALE AG nötig. Zwei Dinge müssen jedoch erfüllt sein, damit das Cookie überhaupt geschrieben wird:
  1. Der Kunde hat Cookies in seinem Browser aktiviert.
  2. Es liegt eine Einwilligung für den Dienst vor, sofern Sie das Consent-Management einsetzen.
Sobald Sie die Einwilligungsverwaltung des Shops produktiv einsetzen, ist die Onsite-Personalisierung zustimmungspflichtig. Der zugehörige WEBSALE-Dienst heißt DesignCookie und muss einem Einwilligungseintrag in der Shopkonfiguration zugeordnet sein.
Liegt keine Einwilligung vor, arbeitet DC-CookieData_set ohne jede Rückmeldung nicht. Es gibt keine Fehlermeldung und keinen leeren Ausgabewert, das Cookie wird schlicht nicht geschrieben und nicht gelesen. Wenn Ihre Personalisierung im Livebetrieb wirkungslos bleibt, prüfen Sie deshalb zuerst, ob der Dienst DesignCookie in einer zugestimmten Einwilligungsgruppe liegt.
Ist die Einwilligungsverwaltung gar nicht aktiv, entfällt diese Prüfung und das Cookie wird immer geschrieben. Bitte klären Sie die Frage, welche Informationstexte Ihre Kunden zum Cookie-Einsatz brauchen, mit Ihrem Datenschutzbeauftragten ab. Wegweiser: Cookies · Einwilligungsverwaltung

Schritt 1: Den Gültigkeitszeitraum festlegen

Der Gültigkeitszeitraum des Cookies beträgt standardmäßig 30 Tage. Sie legen ihn in der Shopkonfiguration shop.config im Abschnitt Basic fest.
Ohne Eintrag oder mit dem Wert 0 gelten 30 Tage. Referenz: Abschnitt Basic

Schritt 2: Die Einblendungen als Includes anlegen (optional)

Sie haben zwei Wege, die zielgruppenspezifischen Inhalte auszuspielen. Entweder laden Sie separate Include-Templates, oder Sie hinterlegen die Inhalte direkt im Template und blenden sie mit Klammerungen ein und aus. Beide Wege zeigt Schritt 4. Für den Weg über Includes legen Sie die Templates jetzt an und speichern sie im Templateverzeichnis benutzer/templates/translation. Im Beispiel sind das: Der Aufbau der Dateinamen ist kein Zufall. Der Shop setzt den Dateinamen später aus einem festen Präfix und dem Wert des Cookies zusammen, nach dem Muster incl_<Wert des Cookies>.htm. Aus den Dateinamen ergeben sich damit die Werte, die Sie im nächsten Schritt vergeben: katze und hund. Ergänzen Sie auf den Seiten, die eine Zielgruppe kennzeichnen sollen, den folgenden Code. Im Beispiel ist das die Landingpage für Katzenhalter.
Auf der Landingpage für Hundehalter steht derselbe Block, nur mit dem Wert hund:
Der Shop sendet das Design-Cookie zusätzlich selbst als Set-Cookie-Header und verwendet dafür den Wert aus DesignCookieDays. Deshalb muss var days im Skript denselben Wert tragen. Stimmen die beiden nicht überein, hängt die Lebensdauer des Cookies davon ab, welcher der beiden Wege es zuletzt geschrieben hat. Die Klammerung DC-CookieData_cookieHasChanged greift nur, wenn sich am Cookie-Inhalt tatsächlich etwas geändert hat. Setzen Sie denselben Schlüssel mit demselben Wert erneut, wird das Skript nicht ausgegeben. Das ist beabsichtigt und spart unnötige Schreibvorgänge im Browser.
DC-CookieData_set braucht beide Angaben. Fehlt der Schlüssel oder der Wert, passiert nichts. Achten Sie deshalb darauf, dass ein Tag, das Sie als Wert übergeben, auch wirklich gefüllt ist.Browser begrenzen die Größe eines Cookies auf etwa 4 KB. Der Shop protokolliert außerdem eine Warnung, wenn der verschlüsselte Inhalt zu groß wird, und verwirft ihn vollständig, wenn er die doppelte Obergrenze überschreitet. Schreiben Sie deshalb nur kurze Kennungen in das Cookie, keine ganzen Datensätze.
Referenz: DC-CookieData_set() · DC-CookieData_cookieHasChanged · DC-CookieData_cookieName · DC-CookieData_cookieValue

Schritt 4: Die Inhalte ausspielen

Beide Wege stehen und fallen mit derselben Klammerung. {DC-CookieData(kundengruppe)} greift, wenn der Schlüssel im Cookie vorhanden ist, die verneinte Form {!DC-CookieData(kundengruppe)} greift, wenn er fehlt. Innerhalb der Klammerung merkt sich ~DC-CookieData_touchKey(kundengruppe)~, welcher Schlüssel gerade gemeint ist. Erst dadurch liefert $DC-CookieData_lastValueTouched$ dessen Wert.

Weg A: Include-Technik

Der Wert aus dem Cookie wird in den Dateinamen eingesetzt. Steht im Cookie der Wert hund, wird aus
der Aufruf ~WS-DynIncludeTpl(incl_hund.htm)~. Vollständig sieht das so aus:
Der Dateiname entsteht aus einem Wert, der im Cookie steht. Legen Sie für jeden Wert, den Sie jemals setzen, auch ein Include-Template an. Fehlt eine Datei, bleibt an dieser Stelle einfach nichts stehen, und der Kunde sieht auch den Standardinhalt nicht, weil der Schlüssel ja vorhanden ist.
Wegweiser: Wiederverwendung: Includes Referenz: DC-CookieData() · DC-CookieData_touchKey · DC-CookieData_lastValueTouched · WS-DynIncludeTpl · WS-IncludeTpl

Weg B: Klammerung direkt im Template

Statt Include-Templates zu laden, übergeben Sie den Wert an einen Design-Parameter und klammern die Inhalte damit direkt im Template.
Ersetzen Sie <Index Kategorie Katze> und <Index Kategorie Hund> durch die Indizes Ihrer Kategorien. Weg B eignet sich für überschaubare Unterschiede wie Überschriften, Banner oder Farbwelten. Sobald sich ganze Seitenbereiche unterscheiden, wird Weg A übersichtlicher, weil jede Zielgruppe ihre eigene Datei bekommt und das Haupttemplate schlank bleibt. Referenz: DC-FPX · DC-CookieData() · DC-CookieData_touchKey · DC-CookieData_lastValueTouched Neben den oben verwendeten Tags stehen weitere zur Verfügung, die in manchen Fällen kürzer zum Ziel führen. Innerhalb der Schleife liefert ~DC-CookieData~ den Schlüssel und ~DC-CookieData_get~ ohne Parameter den zugehörigen Wert. Das ist der bequemste Weg, um im Testmodus zu prüfen, was tatsächlich im Cookie steht. Referenz: DC-CookieData_get · DC-CookieData_lastKeyTouched

Verwandte Themen