Verwendung von Liquid-Vorlagen
Liquid-Vorlagen erweitern die Personalisierungsfähigkeiten von Pushwoosh erheblich, indem sie zusätzlich zur regulären Verwendung von dynamischen Inhalten (Dynamic Content) eine anspruchsvolle Logik implementieren.
Die Personalisierung von Nachrichten in Pushwoosh basiert auf Tags (Benutzerdaten). Pushwoosh bietet eine Vielzahl von Standard-Tags und benutzerdefinierten Tags. Mit ihnen können Sie den Vornamen, die Stadt, die Kaufhistorie usw. eines Benutzers angeben, um eine persönlichere Nachricht zu senden, zum Beispiel: Hallo {First_name}, danke für Ihre Bestellung von {item}.
Liquid-Vorlagen fügen dynamischen Inhalten mehr Logik hinzu. Wenn zum Beispiel das Abonnement-Tag eines Benutzers „kostenlos“ enthält, können Sie ihm eine Nachricht senden: „Sichern Sie sich 10 % Rabatt.“
Die Anpassung des Nachrichteninhalts an die IDs, Verhaltensweisen und Vorlieben der Benutzer ist der effizienteste Weg, um die Relevanz zu erhöhen und beeindruckendere Ergebnisse aus Ihren Marketingkampagnen zu erzielen.
Syntax
Anchor link toInhaltsvorlagen, die auf Liquid von Shopify basieren, verwenden eine Kombination aus Tags, Objekten und Filtern, um dynamische Inhalte zu laden. Inhaltsvorlagen ermöglichen es Ihnen, auf bestimmte Variablen innerhalb einer Vorlage zuzugreifen und deren Daten auszugeben, ohne etwas über die Daten selbst wissen zu müssen.
Objekte
Anchor link toObjekte (objects) definieren den Inhalt, der einem Benutzer angezeigt wird. Objekte sollten in doppelte geschweifte Klammern eingeschlossen werden: {{ }}
Wenn Sie beispielsweise eine Nachricht personalisieren, senden Sie {{Name}} in deren Text, um die Namen der Benutzer zum Inhalt der Nachricht hinzuzufügen. Der Name des Benutzers (Wert des Name-Tags) ersetzt das Liquid-Objekt in der Nachricht, die der Benutzer sehen wird.
Hi {{Name}}! We're glad you're back!Hallo Anna! Wir freuen uns, dass Sie zurück sind!
Tags
Anchor link toTags erstellen die Logik und den Kontrollfluss für Vorlagen. Die geschweiften Klammer-Prozent-Trennzeichen {% und %} und der Text, den sie umgeben, erzeugen keine sichtbare Ausgabe, wenn die Vorlage gerendert wird. Dies ermöglicht es Ihnen, Variablen zuzuweisen und Bedingungen oder Schleifen zu erstellen, ohne dem Benutzer die Liquid-Logik anzuzeigen.
Zum Beispiel können Sie mit dem if-Tag die Sprache der Nachricht variieren, je nachdem, welche Sprache auf dem Gerät des Benutzers eingestellt ist:
{% if Language == 'fr' %}Salut!{% else %}Hello!{% endif %}Salut!
Hello!
Tag-Operatoren
Anchor link to| Operator | Beschreibung |
|---|---|
== | gleich |
!= | ungleich |
> | größer als |
< | kleiner als |
>= | größer als oder gleich |
<= | kleiner als oder gleich |
or | logisches oder |
and | logisches und |
contains | prüft auf das Vorhandensein einer Teilzeichenfolge innerhalb einer Zeichenfolge oder eines Arrays von Zeichenfolgen |
Filter
Anchor link toFilter (filters) modifizieren die Ausgabe eines Liquid-Objekts oder einer Variable. Sie werden innerhalb von doppelten geschweiften Klammern {{ }} und bei der Zuweisung von Variablen verwendet und durch ein Pipe-Zeichen | getrennt. Mehrere Filter können auf eine Ausgabe angewendet werden und werden von links nach rechts angewendet.
{{ Name | capitalize | prepend:"Hello " }}Hello Anna
Verwendung von Liquid-Vorlagen in über die API gesendeten Nachrichten
Anchor link toVerwenden Sie die Liquid-Syntax in Ihren createMessage-Anfragen, um Liquid-Vorlagen zu implementieren. Vorlagen sind für den „content“-Parameter der createMessage-Anfrage sowie für jeden anderen Parameter verfügbar, der dynamische Inhalte unterstützt, insbesondere plattformspezifische „title“-, „subtitle“- und „image“-Parameter.
Durch die Verwendung von Inhaltsvorlagen können Sie die Daten entweder in Ihren API-Anfragen angeben (indem Sie den Parameter „template_bindings“ übergeben) oder die Daten aus den auf den Geräten der Benutzer gespeicherten Tag-Werten abrufen (indem Sie den Parameter „template_bindings“ nicht verwenden). Auf diese Weise können Sie benutzerbasierte Push-Kampagnen erstellen, die extrem relevante Inhalte enthalten.
Um die Vorlagenlogik mit Tags zu definieren, die Leerzeichen in ihren Namen haben, verwenden Sie die folgende Technik:
Beispiel
{% capture my_tag %}{{My Tag}}{% endcapture %}{% if my_tag == 'value' %}Content to send in this case{% else %}Content to send otherwise{% endif %}Anwendungsfälle für Liquid-Vorlagen
Anchor link toHier finden Sie mehrere Anwendungsfälle, in denen Liquid-Vorlagen nützlich sind.
Mehrsprachige Push-Benachrichtigungen
Anchor link toLiquid-Vorlagen ermöglichen es, genau festzulegen, in welcher Sprache Benutzer Ihre Push-Nachrichten erhalten sollen. Sehen Sie sich das einfache Beispiel der API-Anfrage und der empfangenen Nachricht an, abhängig von den in der Anfrage verwendeten Vorlagenbindungen.
{% if Language == 'es' %}¡Hola!{% else %}Hello!{% endif %}{ "request": { "application": "XXXXX-XXXXX", // Pushwoosh app code "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "{% raw %}{% if language == 'es' %}¡Hola!{% else %}hello!{% endif %}{% endraw %}", "template_bindings": { // optional. When no template_bindings are passed in a request, Tag values from the device are used. "language" : "es" } } ] }}Sprache ist ‘es’: ¡Hola!
Sprache ist ‘en’: Hello!
Aufforderung zum Abonnement-Upgrade
Anchor link toErmutigen Sie Ihre Kunden, ihr Abonnement basierend auf ihrem aktuellen Plan zu aktualisieren.
{% if Subscription == 'Basic' %} Upgrade to Silver for getting more product features and 24/7 support.{% elsif Subscription == 'Silver' %} Upgrade to Gold for priority support and advanced features.{% else %} Please contact your manager to renew your subscription.{% endif %}{ "request": { "application": "XXXXX-XXXXX", // Pushwoosh app code "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "{% raw %}{% if Subscription == 'Basic' %}Upgrade to Silver for getting more product features and 24/7 support.{% elsif Subscription == 'Silver' %}Upgrade to Gold for priority support and advanced features.{% else %}Please contact your manager to renew your subscription. {% endif %}{% endraw %}", "template_bindings": { // optional. When no template_bindings are passed in a request, Tag values from the device are used. "language" : "es" } } ] }}Für Benutzer mit dem Basic-Abonnement: Führen Sie ein Upgrade auf Silver durch, um mehr Produktfunktionen und 24/7-Support zu erhalten.
Für Benutzer mit dem Silver-Abonnement: Führen Sie ein Upgrade auf Gold durch, um bevorzugten Support und erweiterte Funktionen zu erhalten.
Für Benutzer mit anderen Plänen: Bitte kontaktieren Sie Ihren Manager, um Ihr Abonnement zu erneuern.
Listen-Tags
Anchor link toInhaltsvorlagen sind sehr hilfreich, um Tags vom Typ „Liste“ zu handhaben.
Variablengröße
Anchor link toEiner der möglichen Anwendungsfälle ist die Bereitstellung unterschiedlicher Inhalte je nach der Anzahl der Werte, die das Tag enthält. Sie können beispielsweise Kunden mit unterschiedlichem Verhalten unterschiedliche Rabatte gewähren. Nehmen wir an, ein Kunde hat einige Artikel auf seiner Wunschliste – ermutigen Sie ihn zum Kauf mit dem passendsten Rabatt, basierend darauf, wie viele Produkte er kaufen wird!
{% if WishList.size >= 3 %}Get 20% off your next purchase!{% elsif WishList.size == 2 %}Get a 10% discount on your next purchase!{% else %}Hey, take a look at new outwears!{% endif %}{ "request": { "application": "XXXXX-XXXXX", // Pushwoosh app code "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "{% raw %}{% if WishList.size >= 3 %}Get 20% off your next purchase!{% elsif WishList.size == 2 %}Get a 10% discount on your next purchase!{% else %}Hey, take a look at new outwears!{% endif %}{% endraw %}", "template_bindings": { "WishList" : ["Skinny Low Ankle Jeans", "Linen Trenchcoat", "High Waisted Denim Skirt", "Strappy Tiered Maxi Dress"] } } ] }}

Variable enthält
Anchor link toEin weiterer Fall, den Sie möglicherweise abdecken müssen, ist der Umgang mit den Werten von Listen-Tags und die Bereitstellung der relevantesten Inhalte basierend auf den Werten, die das Tag enthält.
{% if WishList contains 'Skinny Low Ankle Jeans' %}Get 20% off products in your wishlist!{% else %}Hey, take a look at the brand new Skinny Low Ankle Jeans!{% endif %}{ "request": { "application": "C90C0-0E786", "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "{% raw %}{% if WishList contains 'Skinny Low Ankle Jeans' %}Get 20% off your next purchase!{% else %}Hey, take a look at the brand new Skinny Low Ankle Jeans!{% endif %}{% endraw %}", "template_bindings": { "WishList" : ["Skinny Low Ankle Jeans", "Linen Trenchcoat", "High Waisted Denim Skirt", "Strappy Tiered Maxi Dress"] } } ] }}

Pluralformen
Anchor link toDurch die Verwendung der Inhaltsvorlagen können Sie den Nachrichteninhalt an das Verhalten der Benutzer anpassen. Sie können beispielsweise den Nachrichtentext so ändern, dass er Pluralwörter enthält, falls das Listen-Tag mehr als einen Wert enthält.
Get 20% off item{% if WishList.size > 1 %} s in your WishList!{% else %} in your Wishlist!{% endif %}{ "request": { "application": "C90C0-0E786", "auth": "yxoPUlw.....IyEX4H", // API access token from Pushwoosh Control Panel "notifications" : [ // push message parameters { "content": "Get 20% off item{% raw %}{% if WishList.size > 1 %}s in your WishList!{% else %} in your Wishlist!{% endif %}{% endraw %}", "template_bindings": { // optional. When no template_bindings are passed in a request, Tag values from the device are used. "WishList" : ["Skinny Low Ankle Jeans", "Linen Trenchcoat", "High Waisted Denim Skirt", "Strappy Tiered Maxi Dress"] } } ] }}

Zeitzone
Anchor link toDie Vorlage für Zeitzonen konvertiert das Datum und die Uhrzeit entsprechend der angegebenen Zeitzone.
{{ MyDate | timezone: MyTimezone | date: \"%Y-%m-%d %H:%M\" }}{ "request" : { "auth" : "3H9bk8w3.....Acge2RbupTB", // API access token from Pushwoosh Control Panel "application" : "XXXXX-XXXXX", // Pushwoosh app code "notifications" : [ // push message parameters { "content": "Current Date: {{ MyDate | timezone: MyTimezone | date: \"%Y-%m-%d %H:%M\" }}", "template_bindings": { // optional. When no template_bindings are passed in a request, Tag values from the device are used. "MyDate" : "2019-07-23 15:00", "MyTimezone" : "Asia/Dubai" } } ] }}
Verbundene Inhalte
Anchor link toVerbundene Inhalte (Connected Content) sind eine Funktion in Liquid-Vorlagen, mit der Sie Daten aus einer externen Quelle, wie z. B. einem Webdienst, dynamisch abrufen und direkt in Ihren E-Mail- oder Push-Benachrichtigungen verwenden können. Diese Funktion ermöglicht eine Echtzeit-Personalisierung, indem JSON-Daten von einer angegebenen URL abgerufen und in einer Variablen gespeichert werden, die in Ihren Inhalten verwendet werden kann.
Wichtige Anwendungsfälle
Anchor link to- Produktempfehlungen: Zeigen Sie personalisierte Produktlisten an, die auf jeden Benutzer zugeschnitten sind.
- Promo-Codes: Fügen Sie einzigartige Promo-Codes ein, die von einem Backend-Dienst generiert werden.
Voraussetzungen
Anchor link to- Um verbundene Inhalte zu verwenden, müssen Sie über einen eigenen Backend-Dienst verfügen, der die erforderlichen Daten (z. B. Promo-Codes, Produktempfehlungen) basierend auf User ID, HWID oder benutzerdefinierten Tags generiert und bereitstellt. Pushwoosh ruft diese Daten dann ab, bevor eine Nachricht gesendet wird.
Schritt-für-Schritt-Implementierungsanleitung
Anchor link toSchritt 1. Backend-Dienst einrichten
Anchor link toDer Backend-Dienst sollte:
- Eine Anfrage mit benutzerspezifischen Parametern (z. B.
userId) akzeptieren. Verbundene Inhalte unterstützenUserID,HWIDoder alle benutzerdefinierten Tags, die Sie in Ihrem Projekt eingerichtet haben. - Eine JSON-Antwort mit den erforderlichen Daten zurückgeben. Dieser Inhalt kann dann dynamisch in Nachrichten eingefügt werden
Schritt 2. Erstellen einer Vorlage mit verbundenen Inhalten in Pushwoosh
Anchor link to- Fügen Sie im Push- oder E-Mail-Inhaltseditor die Syntax für verbundene Inhalte in das Nachrichtenfeld ein.
Beispiel
{% connected_content http://your-backend-url.com?userId={{ ${userid} }} :save result %}Syntax-Aufschlüsselung
connected_content | Ruft JSON-Daten von der angegebenen Backend-URL ab. |
http://your-backend-url.com | Der Backend-Endpunkt, der die erforderlichen Daten im JSON-Format zurückgibt. |
userId={{ ${userid} }} | Ein dynamischer Abfrageparameter, der die Benutzer-ID an das Backend übergibt. |
:save result | Speichert die abgerufene JSON-Antwort in der Ergebnisvariablen zur Verwendung in Liquid-Vorlagen |

Authentifizierung (optional)
Wenn Ihr Backend-Dienst eine Authentifizierung erfordert, können Sie einen API-Schlüssel oder ein Token in die Anfrage für verbundene Inhalte aufnehmen, um einen sicheren Zugriff zu gewährleisten.
{% connected_content http://your-backend-url.com?userId={{ ${userid} }}&auth=YOUR_API_KEY :save result %}Verwendung von Tags in verbundenen Inhalten
Um benutzerdefinierte Tags einzuschließen, fügen Sie sie als Abfrageparameter in die Connected Content-Anfrage ein ({{ tag_name }}).
{% connected_content http://your-backend-url.com?userId={{ ${userid} }}{{ Language }} :save result %}- Fügen Sie als Nächstes den Nachrichtentext hinzu, der die abgerufenen Daten enthält, wie folgt:
Hallo {{userid}}, hier ist Ihr persönlicher Promo-Code - {{result.code}}
- Nachdem Sie den Nachrichteninhalt fertiggestellt und die Voreinstellungen konfiguriert haben, speichern Sie diese zur Wiederverwendung in Kampagnen.
Schritt 3. Senden einer Nachricht mit der konfigurierten Vorlage
Anchor link toSenden Sie eine Nachricht mit dieser Vorlage über das einmalige Push- oder E-Mail-Formular oder über eine Customer Journey.