Caso di utilizzo di Personalization: e-mail di abbandono del carrello personalization-use-case-helper-functions
In questa pagina: segui un caso di utilizzo di abbandono del carrello che personalizza un corpo dell’e-mail utilizzando le funzioni upperCase, each e if helper in Adobe Journey Optimizer.
In questo esempio personalizzerai il corpo di un messaggio e-mail. Questo messaggio è destinato ai clienti che hanno lasciato articoli nel carrello ma non hanno completato l’acquisto.
Puoi utilizzare i seguenti tipi di funzioni di assistenza:
- La funzione stringa
upperCase, per inserire il nome del cliente in lettere maiuscole. Ulteriori informazioni. - Helper
each, per elencare gli elementi presenti nel carrello. Ulteriori informazioni. - Helper
if, per inserire una nota specifica per il prodotto se il prodotto correlato è nel carrello. Ulteriori informazioni.
➡️ Scopri come utilizzare le funzioni di assistenza in questo video
Prima di iniziare, assicurati di sapere come configurare questi elementi:
- Un evento unitario. Ulteriori informazioni.
- Un percorso che inizia con un evento. Ulteriori informazioni.
- Un messaggio e-mail nel percorso. Ulteriori informazioni
- Corpo di un’e-mail. Ulteriori informazioni.
Segui questi passaggi:
Passaggio 1: creare l’evento iniziale e il percorso correlato create-context
Il contenuto del carrello è un’informazione contestuale proveniente dal percorso. Pertanto, è necessario aggiungere un evento iniziale e l’e-mail a un percorso prima di poter aggiungere all’e-mail informazioni specifiche per il carrello.
-
Creare un evento il cui schema include l’array
productListItems. -
Definisci tutti i campi di questo array come campi payload per questo evento.
Ulteriori informazioni sul tipo di dati dell’elemento dell’elenco prodotti nella documentazione di Adobe Experience Platform.
-
Crea un percorso che inizia con questo evento.
-
Aggiungi un’attività E-mail al percorso.
Passaggio 2: creare l’e-mail configure-email
-
Nell’attività E-mail, fai clic su Modifica contenuto, quindi su E-mail Designer.
-
Dalla palette a sinistra della home page di E-mail Designer, trascina e rilascia tre componenti struttura sul corpo del messaggio.
-
Trascina e rilascia un componente di contenuto HTML su ciascun nuovo componente struttura.
Passaggio 3: inserire il nome del cliente in lettere maiuscole uppercase-function
-
Nella home page di E-mail Designer, fai clic sul componente HTML in cui desideri aggiungere il nome del cliente.
-
Sulla barra degli strumenti contestuale fare clic su Mostra codice sorgente.
-
Nella finestra Modifica HTML, aggiungi la funzione stringa
upperCase:-
Nel menu a sinistra, seleziona Funzioni helper.
-
Utilizza il campo di ricerca per trovare “maiuscolo”.
-
Aggiungere la funzione
upperCasedai risultati della ricerca. A tale scopo, fare clic sul segno più (+) accanto a{%= upperCase(string) %}: string.L’editor espressioni mostra questa espressione:
code language-handlebars {%= upperCase(string) %}
-
-
Rimuovi il segnaposto “stringa” dall’espressione.
-
Aggiungi il token di nome:
-
Nel menu a sinistra, seleziona Attributi del profilo.
-
Selezionare Persona > Nome completo.
-
Aggiungi il token First name all’espressione.
L’editor espressioni mostra questa espressione:
code language-handlebars {%= upperCase(profile.person.name.firstName) %}
Ulteriori informazioni sul tipo di dati del nome della persona nella documentazione di Adobe Experience Platform.
-
-
Fai clic su Convalida, quindi su Salva.
-
Salva il messaggio.
Passaggio 4: inserire l’elenco degli articoli dal carrello each-helper
Questo passaggio illustra l’iterazione dei dati dell’evento. Per esempi completi di iterazione su diverse origini dati (eventi, risposte alle azioni personalizzate e altri dati contestuali), vedere Iterare dati contestuali con Handlebars.
-
Riapri il contenuto del messaggio.
-
Nella pagina Home di E-mail Designer, fai clic sul componente HTML in cui desideri elencare il contenuto del carrello.
-
Sulla barra degli strumenti contestuale fare clic su Mostra codice sorgente.
-
Nella finestra Modifica HTML, aggiungi l’helper
each:-
Nel menu a sinistra, seleziona Funzioni helper.
-
Utilizza il campo di ricerca per trovare “ciascuno”.
-
Aggiungere l’helper
eachdai risultati della ricerca.L’editor espressioni mostra questa espressione:
code language-handlebars {{#each someArray as |variable|}} {{/each}}
-
-
Aggiungere l’array
productListItemsall’espressione:-
Rimuovi il segnaposto “someArray” dall’espressione.
-
Nel menu a sinistra, seleziona Attributi contestuali.
Gli attributi contestuali sono disponibili solo dopo che il contesto di percorso è stato passato al messaggio.
-
Seleziona Journey Optimizer > Events > event_name, quindi espandi il nodo productListItems.
In questo esempio, nome_evento rappresenta il nome dell’evento.
-
Aggiungi il token Product all’espressione.
L’editor espressioni mostra questa espressione:
code language-handlebars {{#each context.journey.events.event_ID.productListItems.product as |variable|}} {{/each}}In questo esempio, event_ID rappresenta l’ID dell’evento.
-
Modifica l’espressione:
- Rimuovi la stringa “.product”.
- Sostituisci il segnaposto “variable” con “product”.
Questo esempio mostra l’espressione modificata:
code language-handlebars {{#each context.journey.events.event_ID.productListItems as |product|}}
-
-
Incolla questo codice tra il tag di apertura
{{#each}}e il tag di chiusura{{/each}}:code language-html <table> <tbody> <tr> <td><b>#name</b></td> <td><b>#quantity</b></td> <td><b>$#priceTotal</b></td> </tr> </tbody> </table> -
Aggiungi i token di personalizzazione per il nome dell’articolo, la quantità e il prezzo:
- Rimuovi il segnaposto “#name” dalla tabella HTML.
- Dai risultati della ricerca precedente, aggiungi il token Name all’espressione.
Ripeti questi passaggi due volte:
- Sostituisci il segnaposto “#quantity” con il token Quantity.
- Sostituisci il segnaposto “#priceTotal” con il token Total price.
Questo esempio mostra l’espressione modificata:
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}} -
Fai clic su Convalida, quindi su Salva.
Passaggio 5: inserire una nota specifica per il prodotto if-helper
-
Nella home page di E-mail Designer, fai clic sul componente HTML in cui desideri inserire la nota.
-
Sulla barra degli strumenti contestuale fare clic su Mostra codice sorgente.
-
Nella finestra Modifica HTML, aggiungi l’helper
if:-
Nel menu a sinistra, seleziona Funzioni helper.
-
Utilizza il campo di ricerca per trovare “if”.
-
Aggiungere l’helper
ifdai risultati della ricerca.L’editor espressioni mostra questa espressione:
code language-handlebars {%#if condition1%} render_1 {%else if condition2%} render_2 {%else%} default_render {%/if%}
-
-
Rimuovi questa condizione dall’espressione:
code language-handlebars {%else if condition2%} render_2Questo esempio mostra l’espressione modificata:
code language-handlebars {%#if condition1%} render_1 {%else%} default_render {%/if%} -
Aggiungi il token del nome del prodotto alla condizione:
-
Rimuovi il segnaposto “condition1” dall’espressione.
-
Nel menu a sinistra, seleziona Attributi contestuali.
-
Seleziona Journey Orchestration > Events > event_name, quindi espandi il nodo productListItems.
In questo esempio, nome_evento rappresenta il nome dell’evento.
-
Aggiungi il token Name all’espressione.
L’editor espressioni mostra questa espressione:
code language-handlebars {%#if context.journey.events.`event_ID`.productListItems.name%} render_1 {%else%} default_render {%/if%}
-
-
Modifica l’espressione:
-
Nell’editor espressioni specificare il nome del prodotto dopo il token
name.Utilizza questa sintassi, in cui product_name rappresenta il nome del prodotto:
code language-javascript = "product_name"In questo esempio, il nome del prodotto è “Juno Jacket”:
code language-handlebars {%#if context.journey.events.`event_ID`.productListItems.name = "Juno Jacket" %} render_1 {%else%} default_render {%/if%} -
Sostituite il segnaposto “render_1” con il testo della nota.
Esempio:
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%} -
Rimuovi il segnaposto “default_render” dall’espressione.
-
-
Fai clic su Convalida, quindi su Salva.
-
Salva il messaggio.
Passaggio 6: testare e pubblicare il percorso test-and-publish
-
Attiva il Test, quindi fai clic su Attiva un evento.
-
Nella finestra Configurazione evento, immetti i valori di input, quindi fai clic su Invia.
La modalità di test funziona solo con i profili di test.
L’e-mail viene inviata all’indirizzo del profilo di test.
In questo esempio, l’e-mail contiene la nota sulla Giacca Juno, perché questo prodotto si trova nel carrello:
-
Verifica che non vi sia alcun errore, quindi pubblica il percorso.
Argomenti correlati related-topics
Funzioni Handlebars handlebars
Casi d’uso use-case
Video introduttivo video
Scopri come utilizzare le funzioni di assistenza.
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, andif— 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
productListItemsarray - 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.productListItemswith{{#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)eachhelper: A Handlebars block helper ({{#each array as |alias|}} ... {{/each}}) that iterates over an array such asproductListItems. (product-specific)ifhelper: 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 includingname,quantity, andpriceTotal. (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), andif(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
productListItemsarray, accessed via Contextual attributes atcontext.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.