Personalisierung mit Braze: Ein Einblick in Liquid als Personalisierungssprache

In der digitalen Kommunikation erwarten Kunden nicht nur maßgeschneiderte Inhalte, sondern auch Interaktionen, die ihre individuellen Bedürfnisse und Interessen berücksichtigen. Die Möglichkeit und Fähigkeit, relevante, kontextspezifische Inhalte dynamisch bereitzustellen, ist ein zentraler Erfolgsfaktor für Unternehmen. Braze bietet mit der Templating-Sprache Liquid die Grundlage, Nachrichten basierend auf Benutzerdaten dynamisch zu gestalten.

In diesem Artikel erfahren Sie, wie Liquid funktioniert, welche Datenstrukturen es benötigt und wie es in der Praxis effektiv eingesetzt werden kann.

Inhalt

Liquid: Was es ist und warum es entscheidend ist

Ursprung und Zielsetzung von Liquid

Liquid ist eine von Shopify entwickelte Open-Source-Templating-Sprache, die es ermöglicht, Daten aus verschiedenen Quellen dynamisch in Inhalte einzubinden. In Braze wird Liquid genutzt, um Nachrichten individuell zu personalisieren. So zum Beispiel durch die Einbindung von Namen, Vorlieben oder Verhaltensdaten. Es bietet eine flexible und intuitive Möglichkeit, Benutzerattribute in Echtzeit anzusprechen.

Die drei Kernkomponenten von Liquid

  1. Objekte: Variablen, die Benutzerdaten abrufen.
    Beispiele:

    • {{${first_name}}} fügt den Vornamen des Benutzers ein
    • {{${email}}} gibt die E-Mail-Adresse aus
  2. Tags: Kontrollstrukturen, die die Logik der Nachrichten steuern. Beispiele:

    • {% if %}: Bedingte Logik, um Inhalte zu variieren
    • {% for %}: Schleifen, um über Listen zu iterieren
  3. Filter: Transformationen, die auf Daten angewendet werden können. Beispiele:

    • {{ "Text" | upcase }} wandelt Text in Großbuchstaben um
    • {{${last_login} | date: "%d.%m.%Y"}} formatiert ein Datum

Warum Liquid unverzichtbar ist

Mit Liquid können Sie:

  • Dynamische Inhalte bereitstellen: Nachrichten werden in Echtzeit an Benutzerattribute angepasst.
  • Flexibel segmentieren: Verschiedene Zielgruppen mit unterschiedlichen Nachrichten ansprechen.
  • Externe Daten einbinden: Über APIs können externe Quellen, wie Wetterdaten oder Produktverfügbarkeiten, integriert werden.

Voraussetzungen: Datenstrukturen für die Personalisierung

Benutzerprofile in Braze

Liquid basiert auf den Daten, die im Benutzerprofil gespeichert sind. Diese Datenstruktur muss gut durchdacht und gepflegt sein:

  1. Standardattribute:

    • Daten, die typischerweise von allen Benutzern erfasst werden, wie first_name, email oder country
    • Zweck: Grundlegende Personalisierung, z. B. Ansprache mit dem Namen
  2. Custom Attributes:

    • Benutzerdefinierte Attribute, wie favorite_product oder subscription_tier
    • Zweck: Erweiterte Personalisierung basierend auf individuellen Präferenzen/ Kaufhistorie
  3. Ereignisse (Events):

    • Aktionen, die Benutzer ausführen, wie added_to_cart oder purchase_completed
    • Zweck: Kontextbezogene Nachrichten auf Basis von Nutzeraktionen
  4. Purchase Events:

    • Spezielle Ereignisse, die Transaktionsdaten enthalten, wie Preis oder Produktdetails

Wichtige Überlegungen zur Datenqualität

  • Richtige Benennung: Attribute müssen klar und konsistent benannt werden
  • Vollständigkeit der Daten: Fehlende Attribute können zu Lücken in der Personalisierung führen
  • Formatierung: Daten sollten im richtigen Format vorliegen, z. B. Datumsangaben in YYYY-MM-DD

Praktisches Anwendungsszenario: Geburtstagskampagne

Zielsetzung

Ein Online-Händler möchte eine Geburtstagskampagne starten, die:

  1. Benutzer mit bevorstehenden Geburtstagen anspricht.
  2. Einen Countdown bis zum Geburtstag integriert.
  3. Eine allgemeine Nachricht sendet, wenn kein Geburtsdatum vorliegt.

Notwendige Datenstruktur

  • Attribute:
    • date_of_birth (im Format YYYY-MM-DD): Das Geburtsdatum des Benutzers.
    • first_name (optional): Für die persönliche Ansprache.

Umsetzung mit Liquid

{% assign today = 'now' | date: "%Y-%m-%d" %}
{% assign birthday = ${date_of_birth} | date: "%Y" | append: "-%m-%d" %}
{% assign days_left = (birthday | date: "%s") | minus: (today | date: "%s") | divided_by: 86400 | ceil %}
{% if ${date_of_birth} == blank %}
  Hallo {{${first_name} | default: ""}}, wir freuen uns, dass Sie Teil unserer (Shop)Community sind! Entdecken Sie unsere Angebote.
{% elsif days_left == 0 %}
  🎉 Herzlichen Glückwunsch zum Geburtstag, {{${first_name} | default: "wir feiern mit Ihnen"}}! Feiern Sie mit einem exklusiven Rabatt: BDAY20.
{% elsif days_left > 0 and days_left <= 7 %}
  🎁 Ihr Geburtstag steht vor der Tür, {{${first_name} | default: "wir feiern mit Ihnen"}}! Noch {{ days_left }} Tage. Sichern Sie sich 10 % Rabatt: PREBDAY10.
{% else %}
  Hallo {{${first_name} | default: ""}}! Lassen Sie sich von unseren neuesten Angeboten inspirieren.
{% endif %}

Erklärung des Codes

  1. Berechnung der verbleibenden Tage:

    • today: Das heutige Datum wird abgerufen.
    • birthday: Das Geburtsdatum wird mit dem aktuellen Jahr kombiniert.
    • days_left: Die verbleibenden Tage werden in Sekunden berechnet und in Tage umgerechnet.
  2. Bedingte Nachrichten:

    • Fall 1: Kein Geburtsdatum – allgemeine Nachricht.
    • Fall 2: Geburtstag ist heute – Gratulation und Rabattcode.
    • Fall 3: Geburtstag innerhalb einer Woche – Countdown und Rabatt.
    • Fall 4: Kein nahender Geburtstag – generische Nachricht.
  3. Standardwerte:

    • Der Filter default sorgt dafür, dass ein Platzhalter eingesetzt wird, wenn der Vorname fehlt.

Warum bedingte Logik hier sinnvoll ist

  • Flexibilität: Benutzer mit und ohne Geburtsdatum erhalten relevante Inhalte
  • Dringlichkeit erzeugen: Countdown-Nachrichten motivieren zum Handeln
  • Skalierbarkeit: Das Szenario lässt sich leicht auf andere Ereignisse anwenden, z. B. Jahrestage

Weitere Beispiele für den Einsatz von Liquid

VIP-Kampagnen

Zielsetzung: Ein Händler möchte VIP-Kunden exklusive Vorteile anbieten.

Code:

{% if ${vip_status} == 'true' %}
  Danke, dass Sie ein treuer VIP-Kunde sind, {{${first_name}}}! Genießen Sie 30 % Rabatt auf Ihre nächste Bestellung: VIP30.
{% else %}
  Werden Sie VIP und profitieren Sie von exklusiven Vorteilen. Jetzt registrieren!
{% endif %}

Anwendungskontext:

  • VIP-Kundenbindung: Exklusive Angebote belohnen treue Kunden.
  • Onboarding neuer Kunden: Motivation zur Anmeldung für das VIP-Programm.

Produktbenachrichtigungen

Zielsetzung: Ein E-Commerce-Unternehmen informiert Kunden über die erneute Verfügbarkeit beliebter Produkte.

Code:

{% if ${favorite_product_status} == 'available' %}
  Guten Nachrichten, {{${first_name}}}! Ihr Lieblingsprodukt {{${favorite_product}}} ist wieder verfügbar. Sichern Sie es sich jetzt!
{% else %}
  Wir halten Sie auf dem Laufenden, wenn Ihr Lieblingsprodukt wieder verfügbar ist.
{% endif %}

Anwendungskontext:

  • Kundenzufriedenheit: Nutzer werden direkt über gewünschte Produkte informiert.
  • Engagement: Dynamische Benachrichtigungen fördern die Conversion.

Fazit: Liquid als Schlüssel zu dynamischer Personalisierung

Liquid bietet Marketers eine leistungsstarke Sprache, um datengetriebene Kampagnen zu erstellen, die spezifische Benutzergruppen dynamisch ansprechen. Durch bedingte Logik und dynamischen Contentent können Marken personalisierte und relevante Nachrichten erstellen, die Engagement und Conversions nachhaltig steigern.

Empfehlung:

  • Investieren Sie in eine solide Datenstruktur und testen Sie Ihre Kampagnen umfassend.
  • Beginnen Sie mit einfachen Anwendungsfällen und erweitern Sie diese schrittweise zu komplexeren Szenarien.

Wie Sie Ihr Customer Engagement mit Cross-Channel Messaging und Echtzeit-Personalisierung auf das nächste Level bringen

Andreas Hafemeister
Andreas ist Senior Personalisation Consultant bei Up Reply und arbeitet seit über acht Jahren im E-Commerce mit dem Schwerpunkt Online-Handel. Er hilft Kunden, das volle Potenzial von Dynamic Yield auszuschöpfen und eine nachhaltige Personalisierungsstrategie zu entwickeln.

Lassen Sie uns Ihr E-Commerce-Business auf die nächste Stufe heben

Erschließen Sie neue Möglichkeiten und definieren Sie die Kundenerfahrung neu durch personalisierte, datengetriebene Strategien mit Up Reply.