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.
Riferimento rapido quick-reference
Questa sezione contiene informazioni strutturate che supportano l’interpretazione, il recupero e la risposta alle domande relative a questo argomento.
Per una comprensione completa, queste informazioni devono essere unite alla documentazione su questa pagina. Nessuna delle due origini è progettata per essere indipendente; la pagina descrive la funzione, mentre questa sezione fornisce un contesto aggiuntivo che aiuta a non ambiguare la terminologia, le finalità, l’applicabilità e i vincoli.
TL;DR
In questa pagina viene descritto un caso d’uso relativo all’abbandono del carrello tramite tre funzioni di supporto, upperCase, each e if, per visualizzare il nome di un cliente in maiuscolo, elencare gli articoli del carrello e inserire una nota di spedizione specifica per il prodotto in modo condizionale.
Intenti
- Crea un evento di percorso il cui schema include l’array
productListItems - Inserire il nome di un cliente in maiuscolo utilizzando
{%= upperCase(profile.person.name.firstName) %} - Elencare gli elementi del carrello ripetendo l’iterazione su
context.journey.events.event_ID.productListItemscon{{#each}} - Visualizzare una nota specifica per il prodotto in modo condizionale utilizzando
{%#if context.journey.events.\event_ID`.productListItems.name = “product_name” %}` - Testa il percorso in modalità di test utilizzando un profilo di test con payload dell’evento, quindi pubblica
upperCase: funzione stringa di PQL che converte una stringa in maiuscolo; chiamata con{%= upperCase(string) %}. (specifico per prodotto)- Helper
each: Handlebars blocca helper ({{#each array as |alias|}} ... {{/each}}) che scorre su un array comeproductListItems. (specifico per prodotto) - Helper
if: helper per il blocco condizionale ({%#if condition%} ... {%else%} ... {%/if%}) che esegue il rendering del contenuto solo quando la condizione specificata è true. productListItems: array XDM standard che rappresenta il contenuto del carrello, con campi che includononame,quantityepriceTotal. (specifico per prodotto)- Modalità di test: funzionalità di percorso che consente di inviare messaggi di test agli indirizzi del profilo di test per verificare il comportamento del percorso e dei messaggi prima della pubblicazione. (specifico per prodotto)
- Nome canonico: e-mail di abbandono carrello — varianti: caso di utilizzo abbandono carrello
- Non confondere:
context.journey.events.event_ID.productListItems(array originato da eventi, a cui si accede tramite attributi contestuali) ≠profile.*attributi (originati da profili, sempre disponibili)
- Gli attributi contestuali (inclusi i dati dell’evento di percorso) sono disponibili nell’editor di personalizzazione solo dopo che il messaggio è stato inserito all’interno di un percorso che include l’evento rilevante.
- La modalità di test funziona solo con i profili di test.
D: quali funzioni di assistenza vengono utilizzate in questo caso d’uso?
Tre: upperCase (esegue il rendering del nome in maiuscolo), each (esegue l’iterazione sull’array di elementi del carrello) e if (visualizza in modo condizionale una nota di spedizione specifica per il prodotto).
Q: da dove provengono i dati dell’elemento del carrello nell’espressione di personalizzazione?
Dall’array productListItems dell’evento di percorso, a cui si accede tramite gli attributi contestuali in context.journey.events.event_ID.productListItems.
D: è possibile utilizzare attributi contestuali prima di inserire il messaggio all’interno di un percorso?
No. Gli attributi contestuali sono disponibili nell’editor di personalizzazione solo dopo che il messaggio viene inserito all’interno di un percorso che include l’evento rilevante.
D: come posso verificare l’e-mail con i dati del carrello?
Attiva l’interruttore Test nel percorso, fai clic su Attiva un evento, immetti i valori di input nella finestra Configurazione evento, quindi fai clic su Invia. L’e-mail viene inviata all’indirizzo del profilo di test.