Kampagnenbasierte Segmentierung mit Magnolia – Teil 2 – Implementierung

personalization-apps

Wir werden nun in Magnolia den im Ersten Teil beschriebenen Use Case mittels eines Custom Traits umsetzen. Hierfür benötigen wir einen Trait, welcher eine Segmentierung basierend auf dem HTTP Referrer Header erlaubt.

TL;DR

Magnolia setzt für personalisierten Content auf Seitenvarianten – Variants genannt. Welche Seitenvariante für den Endbenutzer gewählt wird, wird mittels Segments bestimmt. Ein Segment besteht aus einem oder mehreren Traits welche zusammen Regeln bilden anhand derer die Besucher klassifiziert werden.

Um die Segmentierung zu testen können fiktive Personen – Personas definiert werden, welche ebenfalls mehrere Traits aufweisen können. Mittels diesen können Autoren die einzelnen Varianten testen um festzustellen, ob der korrekte Inhalt an die korrekten Zielpersonen ausgespielt wird.

Eigene Traits können mit geringem programmatischen Aufwand hinzugefügt werden.

Revisit: Personalisierung im Überblick 

Um eine bessere Übersicht über die Personalisierung zu erhalten müssen vorab die von Magnolia verwendeten Begriffe geklärt werden (siehe auch Blogpost zu Personalisierung):

  • Variant
    Definiert die alternative Darstellung einer Seite.
    In der alternativen Darstellung kann beispielsweise anderer Content dargestellt werden.
  • Segment
    Filtert Seitenbesucher anhand von vordefinierten Regeln.
  • Trait
    Ein Attribut welches einen einzelnen Seitenbesucher auszeichnet, zum Beispiel sein Alter oder sein Herkunftsland.
  • Rule
    Eine Regel setzt sich aus mehreren und verknüpften Traits zusammen. Jeder Trait besitzt normalerweise noch einen identifizierenden Wert mit dem zusammen die Regel gebildet wird.
  • Persona
    Eine fiktive Person welche ebenfalls mit Regeln definiert wird. Personas werden verwendet um Segments zu testen. 

Die Magnolia Dokumentation bietet eine gute Grafik um die Zusammenhänge zwischen Regeln, Traits und Segmenten zu verdeutlichen:

personalization-segment

Ein Segment besteht aus mehreren Rules, welche aus mehreren Traits zusammengesetzt sind.

Magnolia bietet drei Traits “out-of-the-box” an:

  • Datum
    Inhalt kann anhand des aktuellen Datums ausgespielt werden.
  • Country
    Inhalt kann aufgrund des Besucherlandes ausgespielt werden.
  • Besucher
    Erlaubt die Unterscheidung zwischen neuen Besuchern und wiederkehrenden Besuchern.

Richtig spannend wird es aber erst mit der Möglichkeit, eigene Traits zu definieren und zu implementieren.

Implementierung Custom HTTP Referer Trait

Drei Aspekte sind von technischer Seite her zu beachten um eigene Traits einsetzen zu können.

1. Erstellung der Traitkonfiguration

2. Programmierung der Trait Klassen

3. Programmierung eines Filters und eines Voters zur Erkennung des Traits basierend auf dem Request

Traitkonfiguration

Ein Trait kann in einem beliebigen Magnolia Modul registriert werden, muss aber unterhalb des Modulordners in einem Knoten namens „traits“ abgelegt werden.

Screen Shot 2015-03-19 at 13.56.46

Wir nennen unseren Trait httpReferer. Abgesehen von den Knoten defaultPreviewTrait und defaultViewTrait sind alle Einträge Pflichtfelder. Eine genaue Beschreibung der Felder und ihre Bedeutung ist in der Magnolia Dokumentation ersichtlich.

Ein Trait setzt sich aus den folgenden Klassen zusammen:

  • Einen Converter des Typs „PreviewParameterConverter“ zur Darstellung der Trait Parameter in der Admin App
  • Die Trait Klasse selbst – ein einfaches POJO welche den Trait beschreibt
  • Ein Voter des Typs „AbstractBoolVoter“ welcher für die Erkennung des Traits zuständig ist

Das ruleField definiert die erlaubten Werte für einen Trait, während das valueField für das Testen von Varianten eingesetzt wird. In unserem Fall genügt ein einfaches Textfeld zur Erfassung des HTTP Referers, deshalb verwenden wir hier die TextFieldDefinition Klasse.

Neben dem eigentlichen Trait wird auch noch ein Filter benötigt, welcher die korrekte Variante basierend auf dem Trait ausliefern kann. Hierfür muss der Filter an der entsprechenden Stelle in der Filter Chain registriert werden. Die Position des Filters in der Filter Chain ist hierbei von entscheidender Bedeutung.

Screen Shot 2015-03-19 at 13.59.43

Der Code

Die Implementierung gestaltet sich in diesem Falle sehr einfach. Es muss keine komplexe Business Funktionalität umgesetzt werden, die eigentliche „Magie“ findet in der Voter Klasse statt, welche true zurückgibt sofern der aktuelle Request die Regeln des Traits erfüllt.

Konfiguration Segmente, Varianten und Personas

Mit diesem doch recht einfachen Trait sind wir nun in der Lage, entprechende Segmentierungen zu erstellen. Im folgenden Beispiel werden zwei Segmente erstellt um die Benutzer zu unterscheiden ob sie von Beobachter oder Swissmom auf unsere Seite weitergeleitet wurden.

segments

In der Konfiguration eines Segments fügen wir den neu erstellten HTTP Referer Trait hinzu.

segment-trait

referer-trait

Die erstellten Segmente können wir anschliessend einer entsprechenden Seitenvariante zuweisen:

page-variants

choose-audience

Um die Seitenvarianten zu testen benötigen wir Personas welche einen der beiden Traits aufweisen. Wir erstellen zwei unterschiedliche Personen, eine für jede Segmentierung und konfigurieren pro Person den jeweiligen Trait.

personas

persona-trait

Wir sind nun soweit, dass wir die einzelnen Varianten testen können. Entweder wir testen die Darstellung über das Varianten-Dropdown….

variant-preview

… oder wir verwenden über „Preview as visitor“ eine unserer frisch erstellten Testpersonen:

beobachter-visitor

 Fazit

Aus technischer Sicht ist es unter Magnolia 5.3 relativ einfach, kundenspezifische Anforderungen an Segmentierung mittels Custom Traits zu implementieren. Die Implementierung selbst gestaltet sich straight-forward und fügt sich gut in die Magnolia Architektur ein.

Magnolia ermöglicht damit viele Massnahmen im Rahmen des digitalen Marketings und unterstützt den Autor bei einer effizienten Umsetzung von Kampagnen. Insbesondere durch den Referrer Trait können Unternehmungen intensiver und einfacher kanalübergreifende Marketingkampagnen lancieren und die Webseite als zentrales, personalisierbares Konversionstool einsetzen.

 

Quellen

Magnolia Dokumentation zur Personalisierung

Magnolia Dokumentation zur Erstellung eigener Traits

Bild Beobachter: Bild

Ein Gedanke zu “Kampagnenbasierte Segmentierung mit Magnolia – Teil 2 – Implementierung

  1. Pingback: Kampagnenbasierte Segmentierung mit Magnolia – Teil 1 – Use Case – Magnolia

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>