Configurare il contenuto dinamico con strutture if

Le strutture if sono un modo basato su testo per aggiungere contenuto dinamico ai messaggi. Consentono di mostrare testo, immagini o link diversi a contatti diversi nella stessa email, in base alle informazioni disponibili nei campi personalizzati.

Usare le strutture if quando il pannello del contenuto dinamico a livello di struttura non è sufficientemente specifico — ad esempio, quando si desidera personalizzare una singola frase all'interno di un paragrafo, o sostituire solo alcune parole di un saluto. Le strutture if funzionano nell'Email Builder, nel Modello Wizard e nell'editor HTML.


Prerequisiti

  • Si conosce il nome del segnaposto del campo personalizzato che si desidera usare. I nomi dei segnaposto si trovano in Impostazioni > Gestisci campi personalizzati.
  • Il profilo di test in Impostazioni è compilato con valori rappresentativi, in modo da poter visualizzare l'anteprima del risultato.

Attenzione Le strutture if funzionano solo con i campi personalizzati. Se è necessario mostrare contenuto basato su un segmento, usare invece il pannello del contenuto dinamico a livello di struttura dell'Email Builder.


Sintassi di base

Una struttura if è composta da tre parti: un'apertura {if ...} , un {else} facoltativo e una chiusura {/if} . Tra di esse si inserisce il contenuto che si desidera mostrare.

Mostrare contenuto solo quando la condizione è vera:

{if ::firstname::!=""}

Mostrare un pezzo di contenuto quando la condizione è vera e un fallback quando non lo è:

{if ::firstname::!=""}Salve #firstname#,{else}Gentile cliente,{/if}

La parte tra {if e } è la condizione — è qui che si descrive cosa si desidera verificare. Tutto il resto è semplicemente contenuto.

Riferirsi a un campo personalizzato

All'interno di una struttura if, ci si riferisce a un campo personalizzato racchiudendo il suo segnaposto in due punti doppi: ::placeholder:: . Ad esempio, per verificare il campo del nome, si scrive ::firstname:: .

Questo è diverso dalla sintassi #placeholder# usata per la personalizzazione normale. All'interno delle strutture if, usare sempre la forma ::placeholder::.


Funzioni disponibili

Verificare il valore di un campo di contatto

L'uso più comune di una struttura if è verificare cosa è memorizzato in un campo di contatto e mostrare il contenuto di conseguenza.

{if ::language::=="fr"}Bonjour{else}Hello{/if}

I contatti la cui lingua di contatto è il francese vedono "Bonjour". Tutti gli altri vedono "Hello".

Maiuscole, minuscole, primaLetteraMaiuscola

I controlli dei valori distinguono le maiuscole dalle minuscole con le strutture if. "Valore" e "valore" non sono la stessa cosa, quindi alcuni contatti potrebbero non rientrare nella condizione semplicemente perché il loro campo è stato memorizzato con capitalizzazione diversa. Racchiudere il campo in uppercase(...) o lowercase(...) per confrontare in modo sicuro:

{if uppercase(::placeholder::)=="VALUE"}...{/if}

{if lowercase(::placeholder::)=="value"}...{/if}

Consiglio del supporto Usare {uppercaseFirst(::placeholder::)} nel contenuto quando si desidera visualizzare un campo con solo la prima lettera maiuscola — utile per i saluti dove si desidera "Salve Sara" indipendentemente da come è stato originariamente memorizzato il nome.

Fallback

Usare {fallback(...)} quando si desidera mostrare il valore del campo di un contatto, con un valore predefinito per i contatti in cui il campo è vuoto. È più semplice di una struttura if-else completa per questo caso comune.

Gentile {fallback(::firstname::,"cliente")}

I contatti con un nome vedono "Gentile Sara". Quelli senza nome vedono "Gentile cliente". Notare che {fallback(...)} viene usato da solo all'interno di parentesi graffe — non necessita di tag {if} circostanti.

Contains (contiene)

Usare contains() quando si desidera verificare solo parte di un valore di campo, non una corrispondenza esatta.

{if contains(::haystack::,"Needle")} … {else} … {/if}

Length (lunghezza)

Usare length(...) quando il numero di caratteri in un campo deve guidare il contenuto. Ad esempio, si vendono portachiavi personalizzati, ma solo fino a 7 caratteri si adattano al prodotto:

{if length(::firstname::)<7} Articolo sui portachiavi personalizzati {else} … {/if}


Dove inserire le strutture if

È possibile inserire le strutture if ovunque si possa digitare testo: all'interno di un elemento testo nell'Email Builder, nelle aree di testo del Modello Wizard o nell'editor HTML. Funzionano allo stesso modo in tutti e tre gli strumenti.


Annidamento

È possibile inserire strutture if all'interno di altre per combinazioni più specifiche:

{if ::language::=="NL"} {if ::country::=="BE"}Welkom in België {else}Welkom{/if} {else}Welcome{/if}

Mantenere l'annidamento al minimo. Due livelli di profondità sono generalmente sufficienti — più di questo diventa difficile da leggere e facile da rompere.

Attenzione Compilare il profilo di test in Impostazioni con valori rappresentativi per visualizzare l'anteprima e verificare che il risultato sia corretto.


Errori comuni da evitare

  • Dimenticare di chiudere la struttura if con **{/if}** . Una struttura non chiusa rompe il messaggio e può produrre risultati imprevisti.
  • Usare **#placeholder#** invece di **::placeholder::** . All'interno di una struttura if, funziona solo la forma ::placeholder::.
  • Usare un nome di segnaposto che non corrisponde a quello in Impostazioni. I nomi dei segnaposto devono corrispondere esattamente. Controllare Impostazioni > Gestisci campi personalizzati in caso di dubbi.
  • Confrontare valori con capitalizzazione diversa. "FR" e "fr" non sono uguali. Racchiudere il campo in uppercase(...) o lowercase(...) per rendere il confronto indipendente dalla capitalizzazione.
  • Cercare di verificare un interesse o un segmento. Le strutture if funzionano solo con i campi personalizzati. Per interessi o segmenti, usare il pannello del contenuto dinamico a livello di struttura nell'Email Builder.

Passi successivi

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.