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:

➡️ Scopri come utilizzare le funzioni di assistenza in questo video

Prima di iniziare, assicurati di sapere come configurare questi elementi:

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.

  1. Creare un evento il cui schema include l’array productListItems.

  2. 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.

  3. Crea un percorso che inizia con questo evento.

  4. Aggiungi un’attività E-mail al percorso.

    Area di lavoro Percorso con un evento e un'attività e-mail nel flusso

Passaggio 2: creare l’e-mail configure-email

  1. Nell’attività E-mail, fai clic su Modifica contenuto, quindi su E-mail Designer.

    Attività e-mail con le opzioni Modifica contenuto e Invia e-mail a Designer

  2. Dalla palette a sinistra della home page di E-mail Designer, trascina e rilascia tre componenti struttura sul corpo del messaggio.

  3. Trascina e rilascia un componente di contenuto HTML su ciascun nuovo componente struttura.

    Invia un'e-mail a Designer con tre componenti struttura e componenti contenuto HTML nel corpo

Passaggio 3: inserire il nome del cliente in lettere maiuscole uppercase-function

  1. Nella home page di E-mail Designer, fai clic sul componente HTML in cui desideri aggiungere il nome del cliente.

  2. Sulla barra degli strumenti contestuale fare clic su Mostra codice sorgente.

    Barra degli strumenti contestuale con opzione Mostra codice sorgente

  3. Nella finestra Modifica HTML, aggiungi la funzione stringa upperCase:

    1. Nel menu a sinistra, seleziona Funzioni helper.

    2. Utilizza il campo di ricerca per trovare “maiuscolo”.

    3. Aggiungere la funzione upperCase dai 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) %}
      

      Editor espressioni con funzione upperCase selezionata nelle funzioni helper

  4. Rimuovi il segnaposto “stringa” dall’espressione.

  5. Aggiungi il token di nome:

    1. Nel menu a sinistra, seleziona Attributi del profilo.

    2. Selezionare Persona > Nome completo.

    3. Aggiungi il token First name all’espressione.

      L’editor espressioni mostra questa espressione:

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

      L'editor espressioni mostra upperCase con token nome profilo

      Ulteriori informazioni sul tipo di dati del nome della persona nella documentazione di Adobe Experience Platform.

  6. Fai clic su Convalida, quindi su Salva.

    Modifica finestra di HTML con i pulsanti Convalida e Salva

  7. 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.

  1. Riapri il contenuto del messaggio.

  2. Nella pagina Home di E-mail Designer, fai clic sul componente HTML in cui desideri elencare il contenuto del carrello.

  3. Sulla barra degli strumenti contestuale fare clic su Mostra codice sorgente.

    Barra degli strumenti contestuale con opzione Mostra codice sorgente

  4. Nella finestra Modifica HTML, aggiungi l’helper each:

    1. Nel menu a sinistra, seleziona Funzioni helper.

    2. Utilizza il campo di ricerca per trovare “ciascuno”.

    3. Aggiungere l’helper each dai risultati della ricerca.

      L’editor espressioni mostra questa espressione:

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

      Editor espressioni con ogni modello helper

  5. Aggiungere l’array productListItems all’espressione:

    1. Rimuovi il segnaposto “someArray” dall’espressione.

    2. Nel menu a sinistra, seleziona Attributi contestuali.

      Gli attributi contestuali sono disponibili solo dopo che il contesto di percorso è stato passato al messaggio.

    3. Seleziona Journey Optimizer > Events > event_name, quindi espandi il nodo productListItems.

      In questo esempio, nome_evento rappresenta il nome dell’evento.

    4. 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.

      Editor espressioni con productListItems negli attributi contestuali

    5. Modifica l’espressione:

      1. Rimuovi la stringa “.product”.
      2. Sostituisci il segnaposto “variable” con “product”.

      Questo esempio mostra l’espressione modificata:

      code language-handlebars
      {{#each context.journey.events.event_ID.productListItems as |product|}}
      
  6. 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>
    
  7. Aggiungi i token di personalizzazione per il nome dell’articolo, la quantità e il prezzo:

    1. Rimuovi il segnaposto “#name” dalla tabella HTML.
    2. 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}}
    
  8. Fai clic su Convalida, quindi su Salva.

    Editor espressioni con convalida e salvataggio dopo la configurazione di ogni blocco

Passaggio 5: inserire una nota specifica per il prodotto if-helper

  1. Nella home page di E-mail Designer, fai clic sul componente HTML in cui desideri inserire la nota.

  2. Sulla barra degli strumenti contestuale fare clic su Mostra codice sorgente.

    Barra degli strumenti contestuale con opzione Mostra codice sorgente

  3. Nella finestra Modifica HTML, aggiungi l’helper if:

    1. Nel menu a sinistra, seleziona Funzioni helper.

    2. Utilizza il campo di ricerca per trovare “if”.

    3. Aggiungere l’helper if dai 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%}
      

      Editor espressioni con il modello helper if

  4. Rimuovi questa condizione dall’espressione:

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

    Questo esempio mostra l’espressione modificata:

    code language-handlebars
    {%#if condition1%} render_1
       {%else%} default_render
    {%/if%}
    
  5. Aggiungi il token del nome del prodotto alla condizione:

    1. Rimuovi il segnaposto “condition1” dall’espressione.

    2. Nel menu a sinistra, seleziona Attributi contestuali.

    3. Seleziona Journey Orchestration > Events > event_name, quindi espandi il nodo productListItems.

      In questo esempio, nome_evento rappresenta il nome dell’evento.

    4. 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%}
      

      Editor espressioni con token di nome productListItems nella condizione if

  6. Modifica l’espressione:

    1. 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%}
      
    2. 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%}
      
    3. Rimuovi il segnaposto “default_render” dall’espressione.

  7. Fai clic su Convalida, quindi su Salva.

    Modifica la finestra di HTML con Convalida e salva dopo la configurazione del blocco if

  8. Salva il messaggio.

Passaggio 6: testare e pubblicare il percorso test-and-publish

  1. Attiva il Test, quindi fai clic su Attiva un evento.

    Percorso con attivazione test e attivazione pulsante evento

  2. 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.

    Finestra di configurazione evento con valori di input e pulsante Invia

    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:

    E-mail di esempio che mostra la nota di spedizione della Giunone Jacket nel corpo del messaggio

  3. Verifica che non vi sia alcun errore, quindi pubblica il percorso.

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.

Panoramica

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.productListItems con {{#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
Glossario
  • 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 come productListItems. (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 includono name, quantity e priceTotal. (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)
Terminologia
  • 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)
Guardrail e limitazioni
  • 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.
Domande frequenti

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.

recommendation-more-help
journey-optimizer-help