Personalisierung – Anwendungsfall: E-Mail bei Warenkorbabbruch personalization-use-case-helper-functions

Auf dieser Seite: Führen Sie einen Anwendungsfall zum Warenkorbabbruch durch, bei dem ein E-Mail-Hauptteil mithilfe der Helper-Funktionen „upperCase“, „each“ und „if“ in Adobe Journey Optimizer personalisiert wird.

In diesem Beispiel personalisieren Sie den Textkörper einer E-Mail-Nachricht. Diese Nachricht richtet sich an Kunden, die zwar Artikel in ihren Einkaufswagen abgelegt, aber ihren Einkauf nicht abgeschlossen haben.

Sie werden die folgenden Arten von Hilfsfunktionen verwenden:

  • Die Zeichenfolgen-Funktion upperCase, mit der der Vorname des Kunden in Großbuchstaben eingefügt wird. Weitere Informationen.
  • Der Helper each, um die Artikel im Warenkorb aufzulisten. Weitere Informationen.
  • Der Helper if, um eine produktspezifische Anmerkung einzufügen, wenn sich das zugehörige Produkt im Warenkorb befindet. Weitere Informationen.

➡️ In diesem Video erfahren Sie, wie Sie Hilfsfunktionen verwenden

Bevor Sie beginnen, sollten Sie wissen, wie Sie diese Elemente konfigurieren:

Führen Sie folgende Schritte aus:

Schritt 1: Anfangsereignis und die zugehörige Journey erstellen create-context

Der Warenkorbinhalt ist kontextuelle Information aus der Journey. Daher müssen Sie einer Journey ein Anfangsereignis und die E-Mail hinzufügen, bevor Sie der E-Mail Warenkorb-spezifische Informationen hinzufügen können.

  1. Erstellen Sie ein Ereignis, dessen Schema das Array productListItems enthält.

  2. Definieren Sie alle Felder aus diesem Array als Payload-Felder für dieses Ereignis.

    Weitere Informationen zum Datentyp des Produktlistenelements finden Sie in der Dokumentation zu Adobe Experience Platform.

  3. Erstellen Sie eine Journey, die mit diesem Ereignis beginnt.

  4. Fügen Sie die Aktivität E-Mail zur Journey hinzu.

    Journey-Arbeitsfläche mit einer Ereignis- und einer E-Mail-Aktivität im Fluss

Schritt 2: E-Mail erstellen configure-email

  1. Klicken sie in der Aktivität E-Mail auf Inhalt bearbeiten und anschließend auf E-Mail-Designer.

    E-Mail-Aktivität mit den Optionen „Inhalt bearbeiten“ und „E-Mail-Designer“

  2. Ziehen Sie drei Strukturkomponenten aus der linken Palette der Startseite von E-Mail-Designer in den Textkörper der Nachricht.

  3. Ziehen Sie eine HTML-Inhaltskomponente per Drag-and-Drop auf jede neue Strukturkomponente.

    E-Mail-Designer mit drei Strukturkomponenten und HTML-Inhaltskomponenten im Hauptteil

Schritt 3: Vornamen des Kunden bzw. der Kundin in Großbuchstaben einfügen uppercase-function

  1. Klicken Sie auf der Startseite von E-Mail-Designer auf die HTML-Komponente, der Sie den Vornamen des Kunden hinzufügen möchten.

  2. Klicken Sie in der kontextuellen Symbolleiste auf Quellcode anzeigen.

    Kontextuelle Symbolleiste mit Option „Quell-Code anzeigen“

  3. Fügen Sie im Fenster HTML bearbeiten die Zeichenfolgen-Funktionen upperCase hinzu:

    1. Wählen Sie im linken Menü die Option Hilfsfunktionen.

    2. Verwenden Sie das Suchfeld, um „Großbuchstaben“ zu finden.

    3. Fügen Sie die Funktion upperCase aus den Suchergebnissen hinzu. Klicken Sie dazu auf das Pluszeichen (+) neben {%= upperCase(string) %}: string.

      Der Ausdruckseditor zeigt diesen Ausdruck:

      code language-handlebars
      {%= upperCase(string) %}
      

      Ausdruckseditor mit im Helper ausgewählter Funktion „Großbuchstaben“

  4. Entfernen Sie den Platzhalter „string“ (Zeichenfolge) aus dem Ausdruck.

  5. Fügen Sie das Vorname-Token hinzu:

    1. Wählen Sie im linken Menü die Option Profilattribute.

    2. Wählen Sie Person > Vollständiger Name.

    3. Fügen Sie dem Ausdruck das Token Vorname hinzu.

      Der Ausdruckseditor zeigt diesen Ausdruck:

      code language-handlebars
      {%= upperCase(profile.person.name.firstName) %}
      

      Ausdruckseditor mit Großschreibung des Tokens „Vorname“ des Profils

      Weitere Informationen zum Datentyp des Personennamens finden sich in der Dokumentation zu Adobe Experience Platform.

  6. Klicken Sie auf Validieren und dann auf Speichern.

    Fenster „HTML bearbeiten“ mit den Schaltflächen „Validieren“ und „Speichern“

  7. Speichern Sie die Nachricht.

Schritt 4: Liste der Artikel aus dem Warenkorb einfügen each-helper

Dieser Schritt veranschaulicht das Iterieren über Ereignisdaten. Umfassende Beispiele für das Iterieren über verschiedene Datenquellen (Ereignisse, benutzerdefinierte Aktionsantworten und andere kontextuelle Daten) finden Sie unter Iterieren über kontextuelle Daten mit Handlebars.

  1. Öffnen Sie den Nachrichteninhalt erneut.

  2. Klicken Sie auf der Startseite von E-Mail-Designer auf die HTML-Komponente, in der Sie den Inhalt des Warenkorbs auflisten möchten.

  3. Klicken Sie in der kontextuellen Symbolleiste auf Quellcode anzeigen.

    Kontextuelle Symbolleiste mit Option „Quell-Code anzeigen“

  4. Fügen Sie im Fenster HTML bearbeiten den Helper each hinzu:

    1. Wählen Sie im linken Menü die Option Hilfsfunktionen.

    2. Verwenden Sie das Suchfeld, um „each“ zu finden.

    3. Fügen Sie von den Suchergebnissen den Helper each hinzu.

      Der Ausdruckseditor zeigt diesen Ausdruck:

      code language-handlebars
      {{#each someArray as |variable|}} {{/each}}
      

      Ausdruckseditor mit der Helper-Vorlage „each“

  5. Fügen Sie dem Ausdruck das Array productListItems hinzu:

    1. Entfernen Sie den Platzhalter „someArray“ aus dem Ausdruck.

    2. Wählen Sie im linken Menü die Option Kontextuelle Attribute.

      Kontextuelle Attribute sind erst verfügbar, nachdem der Journey-Kontext an die Nachricht übergeben wurde.

    3. Wählen Sie Journey Optimizer > Ereignisse > event_name aus und erweitern Sie dann den Knoten productListItems.

      In diesem Beispiel steht event_name für den Namen Ihres Ereignisses.

    4. Fügen Sie dem Ausdruck das Token Produkt hinzu.

      Der Ausdruckseditor zeigt diesen Ausdruck:

      code language-handlebars
      {{#each context.journey.events.event_ID.productListItems.product as |variable|}} {{/each}}
      

      In diesem Beispiel steht event_ID für die Kennung Ihres Ereignisses.

      Ausdruckseditor mit „productListItems“ in kontextuellen Attributen

    5. Ändern Sie den Ausdruck:

      1. Entfernen Sie die Zeichenfolge „product“.
      2. Ersetzen Sie den Platzhalter „variable“ durch „product“.

      Dieses Beispiel zeigt den geänderten Ausdruck:

      code language-handlebars
      {{#each context.journey.events.event_ID.productListItems as |product|}}
      
  6. Fügen Sie diesen Code zwischen dem öffnenden {{#each}}-Tag und dem schließenden {{/each}}-Tag ein:

    code language-html
    <table>
       <tbody>
          <tr>
             <td><b>#name</b></td>
             <td><b>#quantity</b></td>
             <td><b>$#priceTotal</b></td>
          </tr>
       </tbody>
    </table>
    
  7. Fügen Sie die Personalisierungs-Token für den Artikelnamen, die Menge und den Preis hinzu:

    1. Entfernen Sie den Platzhalter „#name“ aus der HTML-Tabelle.
    2. Fügen Sie dem Ausdruck das Token Name aus den vorherigen Suchergebnissen hinzu.

    Wiederholen Sie diese Schritte zweimal:

    • Ersetzen Sie den Platzhalter „#quantity“ durch das Token Menge .
    • Ersetzen Sie den Platzhalter „#priceTotal“ durch das Token Gesamtpreis .

    Dieses Beispiel zeigt den geänderten Ausdruck:

    code language-handlebars
    {{#each context.journey.events.event_ID.productListItems as |product|}}
       <table>
          <tbody>
             <tr>
             <td><b>{{product.name}}</b></td>
             <td><b>{{product.quantity}}</b></td>
             <td><b>${{product.priceTotal}}</b></td>
             </tr>
          </tbody>
       </table>
    {{/each}}
    
  8. Klicken Sie auf Validieren und dann auf Speichern.

    Ausdruckseditor mit den Optionen „Validieren“ und „Speichern“ nach der Konfiguration jedes Blocks

Schritt 5: Eine produktspezifische Anmerkung einfügen if-helper

  1. Klicken Sie auf der Startseite von E-Mail-Designer auf die HTML-Komponente, in der Sie die Anmerkung einfügen möchten.

  2. Klicken Sie in der kontextuellen Symbolleiste auf Quellcode anzeigen.

    Kontextuelle Symbolleiste mit Option „Quell-Code anzeigen“

  3. Fügen Sie im Fenster HTML bearbeiten den Helper if hinzu:

    1. Wählen Sie im linken Menü die Option Hilfsfunktionen.

    2. Verwenden Sie das Suchfeld, um „if“ zu finden.

    3. Fügen Sie von den Suchergebnissen den Helper if hinzu.

      Der Ausdruckseditor zeigt diesen Ausdruck:

      code language-handlebars
      {%#if condition1%} render_1
         {%else if condition2%} render_2
         {%else%} default_render
      {%/if%}
      

      Ausdruckseditor mit der if-Helper-Vorlage

  4. Entfernen Sie diese Bedingung aus dem Ausdruck:

    code language-handlebars
    {%else if condition2%} render_2
    

    Dieses Beispiel zeigt den geänderten Ausdruck:

    code language-handlebars
    {%#if condition1%} render_1
       {%else%} default_render
    {%/if%}
    
  5. Fügen Sie der Bedingung das Produktname-Token hinzu:

    1. Entfernen Sie den Platzhalter „condition1“ aus dem Ausdruck.

    2. Wählen Sie im linken Menü die Option Kontextuelle Attribute.

    3. Wählen Sie Journey Orchestration > Ereignisse > event_name aus und erweitern Sie dann den Knoten productListItems.

      In diesem Beispiel steht event_name für den Namen Ihres Ereignisses.

    4. Fügen Sie dem Ausdruck das Token Name hinzu.

      Der Ausdruckseditor zeigt diesen Ausdruck:

      code language-handlebars
      {%#if context.journey.events.`event_ID`.productListItems.name%}
         render_1
         {%else%} default_render
      {%/if%}
      

      Ausdruckseditor mit dem Namens-Token productListItems in der if-Bedingung

  6. Ändern Sie den Ausdruck:

    1. Geben Sie im Ausdruckseditor den Produktnamen nach dem Token name an.

      Verwenden Sie diese Syntax, wobei product_name den Namen Ihres Produkts darstellt:

      code language-javascript
      = "product_name"
      

      In diesem Beispiel lautet der Produktname „Juno Jacket“:

      code language-handlebars
      {%#if context.journey.events.`event_ID`.productListItems.name = "Juno Jacket" %}
         render_1
         {%else%} default_render
      {%/if%}
      
    2. Ersetzen Sie den Platzhalter „render_1“ durch den Text der Anmerkung.

      Beispiel:

      code language-handlebars
      {%#if context.journey.events.`event_ID`.productListItems.name = "Juno Jacket" %}
         Due to longer than usual lead times on the Juno Jacket, please expect item to ship two weeks after purchase.
         {%else%} default_render
      {%/if%}
      
    3. Entfernen Sie den Platzhalter „default_render“ aus dem Ausdruck.

  7. Klicken Sie auf Validieren und dann auf Speichern.

    Fenster „HTML bearbeiten“ mit den Optionen „Validieren“ und „Speichern“ nach der Konfiguration des if-Blocks

  8. Speichern Sie die Nachricht.

Schritt 6: Journey testen und veröffentlichen test-and-publish

  1. Aktivieren Sie den Umschalter Test und klicken Sie dann auf Ereignis auslösen.

    Journey mit aktiviertem Umschalter „Testen“ und Schaltfläche „Ereignis auslösen“

  2. Geben Sie im Fenster Ereigniskonfiguration die Eingabewerte ein und klicken Sie dann auf Senden.

    Der Testmodus funktioniert nur mit Testprofilen.

    Fenster „Ereigniskonfiguration“ mit Eingabewerten und der Schaltfläche „Senden“

    Die E-Mail wird an die Adresse des Testprofils gesendet.

    In diesem Beispiel enthält die E-Mail die Anmerkung zur Jacke Juno (Juno Jacket), da sich dieses Produkt im Warenkorb befindet:

    Beispiel-E-Mail mit der Juno Jacket-Versandnachricht im Nachrichtentext

  3. Vergewissern Sie sich, dass kein Fehler vorliegt, und veröffentlichen Sie die Journey.

Handlebars-Funktionen handlebars

Anwendungsfälle use-case

Anleitungsvideo video

Erfahren Sie, wie Sie Hilfsfunktionen verwenden.

AI Knowledge Reference

This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.

For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.

  • TL;DR: This page walks through a cart abandonment email use case using three helper functions — upperCase, each, and if — to display a customer’s first name in capitals, list cart items, and insert a product-specific shipping note conditionally.

Intents:

  • Create a journey event whose schema includes the productListItems array
  • Insert a customer’s first name in uppercase using {%= upperCase(profile.person.name.firstName) %}
  • List cart items by iterating over context.journey.events.event_ID.productListItems with {{#each}}
  • Display a product-specific note conditionally using {%#if context.journey.events.\event_ID`.productListItems.name = “product_name” %}`
  • Test the journey in test mode using a test profile with event payload, then publish

Glossary:

  • upperCase: A PQL string function that converts a string to uppercase; called with {%= upperCase(string) %}. (product-specific)
  • each helper: A Handlebars block helper ({{#each array as |alias|}} ... {{/each}}) that iterates over an array such as productListItems. (product-specific)
  • if helper: A conditional block helper ({%#if condition%} ... {%else%} ... {%/if%}) that renders content only when the specified condition is true.
  • productListItems: A standard XDM array representing cart contents, with fields including name, quantity, and priceTotal. (product-specific)
  • Test mode: A journey feature that enables sending test messages to test profile addresses to verify journey and message behavior before publication. (product-specific)

Guardrails:

  • Contextual attributes (including journey event data) are available in the personalization editor only after the message has been placed inside a journey that includes the relevant event.
  • Test mode works only with test profiles.

Terminology:

  • Canonical name: cart abandonment email — variants: cart abandonment use case
  • Do not confuse: context.journey.events.event_ID.productListItems (event-sourced array, accessed via Contextual attributes) ≠ profile.* attributes (profile-sourced, always available)

FAQ:

  • Q: What helper functions are used in this use case? — Three: upperCase (renders first name in capitals), each (iterates over the cart items array), and if (conditionally displays a product-specific shipping note).
  • Q: Where does the cart item data come from in the personalization expression? — From the journey event’s productListItems array, accessed via Contextual attributes at context.journey.events.event_ID.productListItems.
  • Q: Can contextual attributes be used before placing the message inside a journey? — No. Contextual attributes are available in the personalization editor only after the message is placed inside a journey that includes the relevant event.
  • Q: How do I test the email with cart data? — Turn on the Test toggle in the journey, click Trigger an event, and enter the input values in the Event configuration window, then click Send. The email is sent to the test profile’s address.
recommendation-more-help
journey-optimizer-help