Vai al contenuto principale

Usa il Templating Liquid per la Personalizzazione dei Messaggi

Scopri come usare la sintassi Liquid per la personalizzazione avanzata e i contenuti dinamici

Scritto da Ira

Il templating liquido ti consente di creare messaggi personalizzati con logica avanzata, come mostrare contenuti diversi in base alla posizione del cliente, utilizzare testo di fallback quando i dati sono mancanti o formattare date e prezzi in modo dinamico. Utilizza Liquid nelle campagne Email, SMS e nelle notifiche Push.


Prima di iniziare

  • Il templating Liquid funziona nelle Campagne e nei Flussi automatizzati – Email, SMS e Notifiche Push supportano tutti gli oggetti e i filtri Liquid.

  • Testa la personalizzazione prima di inviare – Le email di test non includono dati di contatto reali. I valori di fallback vengono mostrati quando undefault: il filtro è utilizzato.Usa l'Anteprima Dinamica o un contatto di test per vedere i valori di contatto reali.

  • Aggiungi sempre valori di fallback – Usa | default: 'text' per evitare spazi vuoti quando i dati di contatto sono mancanti.

  • Omnisend utilizza una sintassi Liquid modificata – Sostituisci le parentesi graffe di Shopify {{ }} con parentesi quadre [[ ]].

💡 Nuovo alla personalizzazione? Inizia con personalizzazione standard prima di utilizzare Liquid. Liquid è per casi d'uso avanzati.

Panoramica: Cos'è Liquid

Liquid è un linguaggio di templating open-source creato da Shopify. Ti consente di inserire contenuti dinamici nei messaggi utilizzando tre elementi:

  1. Oggetti – Variabili che restituiscono dati di contatto o ordine ([[ contact.first_name ]]).

  2. Tag – Logica e flusso di controllo ([% if contact.country == 'France' %])

  3. Filtri – Modifica l'output ([[ contact.first_name | capitalize ]])

Omnisend utilizza una versione modificata di Liquid:

  • Oggetti: Usa [[ ]] invece di {{ }} - Esempio: [[ contact.first_name ]]).

  • Tag: Usa [% %] invece di {% %} - Esempio: [% if contact.country == 'France' %]

📝 Scopri di più su Liquid nella documentazione di Shopify e ricorda di sostituire le parentesi graffe con le parentesi quadre in Omnisend.

Oggetti

Gli oggetti sono variabili che producono contenuti dinamici dai profili di contatto, dagli ordini o dalle impostazioni del tuo account. Gli oggetti sono sempre racchiusi tra doppie parentesi quadre.

[[ contact.first_name ]]

Gruppi di oggetti disponibili:

  • Proprietà del contatto: [[ contact.variable ]] (nome, email, posizione, proprietà personalizzate)

  • Proprietà dell'account: [[ account.variable ]] (nome del negozio, sito web, valuta)

  • Proprietà dell'ordine: [[ order.variable ]] (ID ordine, totale, articoli) – Solo Flussi automatizzati

  • Proprietà del carrello: [[ cart.variable ]] (URL del carrello abbandonato) – Solo Flussi automatizzati

  • Proprietà della data: [[ current_date ]] (giorno corrente, mese, anno)

Visualizza la Tabella di Riferimento degli Oggetti completa qui sotto.

Filtri

I filtri cambiano l'output di un oggetto Liquid. I filtri sono separati da un simbolo pipe |.


Esempio:

[[ 'mywebsite.com/orders/' | append: order.order_id ]]

Filtri comuni:

  • default – Aggiungi testo di fallback quando i dati sono mancanti:[[ contact.first_name | default: 'there' ]]

  • capitalizza – Capitalizza la prima lettera:[[ contact.city | capitalize ]]

  • upcase – Converti in maiuscolo:[[ contact.country | upcase ]]

  • append – Aggiungi testo alla fine:[[ account.website | append: '/sale' ]]

  • date – Formatta le date:[[ current_date | date:'%B %d, %Y' ]] "13 maggio 2026"

  • vocativo – Regola i nomi nella forma vocativa nelle lingue supportate:[[ contact.first_name | vocative ]]

Scopri di più sui filtri Liquid nella documentazione di Shopify – ricorda di usare la sintassi [[ ]] di Omnisend.

Tag (Solo Automazione)

I tag creano logica e controllo del flusso nei messaggi. I tag sono racchiusi tra le parentesi [% %] e non producono testo visibile.

Esempio:

[% if contact.first_name %] Hi [[ contact.first_name ]] [% endif %]

⚠️ I tag funzionano solo nel Flusso automatizzato – non nelle Campagne. Scopri di più su i tag Liquid nella documentazione di Shopify.

Casi d'uso comuni

Ecco diversi casi d'uso comuni utili per la sintassi Liquid:

Personalizzazione

Hi [[ contact.first_name ]], welcome to Omnisend!

Output: "Ciao Sarah, benvenuta in Omnisend!"

💡 Suggerimento: Questo filtro regola automaticamente il nome nella sua forma vocativa nelle lingue supportate, rendendo i tuoi messaggi più naturali e personali. Questo può essere ottenuto utilizzando personalizzazione vocativa: [[ contact.first_name | vocative ]]

Personalizzazione con fallback

Hi [[ contact.first_name | default: 'there' ]], welcome to Omnisend!

Output (se il nome è mancante): "Ciao, benvenuto in Omnisend!"

💡Perché usare i fallback?
Se il profilo di un contatto manca di dati (ad es., nessun nome), i tag di personalizzazione mostreranno spazi vuoti. I fallback prevengono questo:

  • Con fallback: Ciao [[ contact.first_name | default: 'lì' ]] → "Ciao lì"

  • Senza fallback: Ciao [[ contact.first_name ]] "Ciao "

Aggiungi sempre fallback per evitare spazi vuoti imbarazzanti.

Inserimento di variabili nei messaggi

Inserisci variabili Liquid in:

  • Oggetti delle email:Non dimenticare il tuo carrello, [[ contact.first_name ]]!

  • Testo del corpo dell'email:Il totale del tuo ordine: [[ order.total_price ]] [[ order.currency ]]

  • Messaggi SMS:Ciao [[ contact.first_name ]], il tuo ordine #[[ order.order_number ]] è stato spedito!

  • Notifiche push:[[ contact.first_name ]], il 20% di sconto termina oggi

  • Collegamenti ai pulsanti:[[ account.website ]]/ordini/[[ order.order_id ]]

Logica Condizionale (Solo Automazioni)

Usa dichiarazioni condizionali per mostrare contenuti diversi in base ai dati di contatto.

Localizzazione della lingua

[% if contact.custom_properties.language == 'Spanish' %] Hola [[ contact.first_name ]]! [% elsif contact.custom_properties.language == 'French' %] Bonjour [[ contact.first_name ]]! [% else %] Hi [[ contact.first_name ]]! [% endif %]

Contenuti Basati sulla Posizione

[% if contact.country == 'UK' or contact.country == 'Ireland' %] Have you visited our newest flagship store in London? [% endif %]

Formattazione

CAPITALIZE FIRST LETTER

Hi [[ contact.first_name | capitalize ]]

Output: "Ciao Sarah" → "Ciao Sarah"

Aggiungi Testo Personalizzato

[% assign campaign_destination = '/landing_page.html' %]  [[ account.website | append: campaign_destination ]]

Formatta le date

Omnisend © [[ current_date | date:'%Y' ]]

Output: "Omnisend 2026"

Opzioni di formato data:

  • %d – Giorno (13)

  • %A – Nome del giorno (Mercoledì)

  • %m – Numero del mese (05)

  • %B – Nome del mese (Maggio)

  • %Y – Anno (2026)

Tabella di riferimento degli oggetti

Proprietà del Contatto

Titolo del Dropdown

Tag

Tipo di Valore

Descrizione

Email

[[ contact.email ]]

string

Email di contatto

Nome

[[ contact.first_name ]]).

stringa

Nome del contatto

Cognome

[[ contact.last_name ]]

stringa

Cognome del contatto

Città

[[ contact.city ]]

string

Città del contatto

Paese

[[ contact.country ]]

string

Paese del contatto

Stato

[[ contact.state ]]

stringa

Stato del contatto

Codice postale

[[ contact.postal_code ]]

stringa

Codice postale del contatto

Link per disiscriversi

[[ unsubscribe_link ]]

Link del contatto per disiscriversi

Link del centro preferenze

[[ preference_link ]]

Link di preferenza di contatto

Proprietà personalizzate

[[ contact.custom_properties.customPropertyName ]]

oggetto

Proprietà personalizzate del contatto

Numero di telefono

[[ contact.phone_number ]]

string

Numero di telefono del contatto

Proprietà dell'Account

Titolo a discesa

Tag

Tipo di valore

Descrizione

Nome

[[ account.name ]]

string

Nome dell'Account

Indirizzo

[[ account.address ]]

string

Indirizzo dell'Account

Città

[[ account.city ]]

string

Città dell'Account

CAP / Codice postale

[[ account.zipCode ]]

string

CAP / Codice postale dell'Account

Paese

[[ account.country ]]

string

Paese dell'Account

URL del sito web

[[ account.website ]]

string

URL del sito web dell'Account

Fuso orario

[[ account.timezone ]]

string

Fuso orario dell'Account

Valuta

[[ account.currency ]]

string

Valuta dell'Account

Proprietà della data

Titolo a discesa

Tag

Tipo di valore

Descrizione

Giorno corrente

[[ current_date | date:'%d' ]]

-

Il giorno in cui viene eseguita l'azione

Nome del giorno corrente

[[ current_date | date:'%A' ]]

-

Il giorno in cui viene eseguita l'azione

Mese corrente

[[ current_date | date:'%m' ]]

-

Il mese in cui viene eseguita l'azione

Nome del mese corrente

[[ current_date | date:'%B' ]]

-

Il nome del mese in cui viene eseguita l'azione

Anno corrente

[[ current_date | date:'%Y' ]]

-

L'anno corrente in cui viene eseguita l'azione

Proprietà dell'Ordine (Solo Automazione)

Titolo del Dropdown

Tag

Tipo di Valore

Descrizione

ID Ordine

[[ order.order_id ]]

string

ID dell'Ordine

Numero dell'Ordine

[[ order.order_number ]]

int64

Numero dell'Ordine

Nome dell'Ordine

[[ order.order_name ]]

string

Nome dell'Ordine

Data dell'Ordine

[[ order.order_date ]]

Data

Data in cui viene creato l'Ordine

Valuta

[[ order.currency ]]

string

Valuta dell'Ordine

Prezzo totale

[[ order.total_price ]]

int64

Somma totale dell'Ordine

Prezzo Subtotale

[[ order.subtotal_price ]]

int64

Somma del subtotale dell'Ordine

Sconto

[[ order.discount ]]

int64

Sconto dell'Ordine

Prezzo di Spedizione

[[ order.shipping_price ]]

int64

Prezzo di spedizione dell'Ordine

URL della pagina di stato dell'Ordine

[[ order.order_url ]]

string

URL per raggiungere informazioni esatte sull'Ordine

Nota dell'Ordine

[[ order.note ]]

string

Note aggiuntive sull'Ordine

Indirizzo di Fatturazione (Solo Automazione)

Titolo del Dropdown

Tag

Tipo di Valore

Descrizione

Nome

[[ order.billing_address.first_name ]]

string

Nome di battesimo del contatto fornito nell'indirizzo di fatturazione

Cognome

[[ order.billing_address.last_name ]]

string

Cognome del contatto fornito nell'indirizzo di fatturazione

Paese

[[ order.billing_address.country ]]

string

Paese del contatto fornito nell'indirizzo di fatturazione

Codice paese

[[ order.billing_address.country_code ]]

string

Codice paese del contatto fornito nell'indirizzo di fatturazione

Stato

[[ order.billing_address.state ]]

string

Stato del contatto fornito nell'indirizzo di fatturazione

Codice stato

[[ order.billing_address.state_code ]]

string

Codice stato del contatto fornito nell'indirizzo di fatturazione

Città

[[ order.billing_address.city ]]

string

Città del contatto fornita nell'indirizzo di fatturazione

Indirizzo 1 e

[[ order.billing_address.address1 ]]

string

Indirizzo del contatto (1a riga) fornito nell'indirizzo di fatturazione

Indirizzo 2

[[ order.billing_address.address2 ]]

string

Indirizzo del contatto (2a riga) fornito nell'indirizzo di fatturazione

CAP / Codice postale

[[ order.billing_address.zip ]]

string

CAP / Codice postale del contatto fornito nell'indirizzo di fatturazione

Azienda

[[ order.billing_address.company ]]

string

Titolo dell'azienda del contatto fornito nell'indirizzo di fatturazione

Telefono

[[ order.billing_address.phone ]]

string

Numero di telefono del contatto fornito nell'indirizzo di fatturazione

Indirizzo di spedizione (solo automazione)

Titolo del menu a discesa

Tag

Tipo di valore

Descrizione

Nome

[[ order.shipping_address.first_name ]]

string

Nome del contatto fornito nell'indirizzo di spedizione

Cognome

[[ order.shipping_address.last_name ]]

string

Cognome del contatto fornito nell'indirizzo di spedizione

Paese

[[ order.shipping_address.country ]]

string

Paese del contatto fornito nell'indirizzo di spedizione

Codice paese

[[ order.shipping_address.country_code ]]

string

Codice paese del contatto fornito nell'indirizzo di spedizione

Stato

[[ order.shipping_address.state ]]

string

Stato del contatto fornito nell'indirizzo di spedizione

Codice stato

[[ order.shipping_address.state_code ]]

string

Codice stato del contatto fornito nell'indirizzo di spedizione

Città

[[ order.shipping_address.city ]]

string

Città del contatto fornita nell'indirizzo di spedizione

Indirizzo 1 e

[[ order.shipping_address.address1 ]]

string

Indirizzo del contatto (1° riga) fornito nell'indirizzo di spedizione

Indirizzo 2

[[ order.shipping_address.address2 ]]

string

Indirizzo del contatto (2° riga) fornito nell'indirizzo di spedizione

CAP / Codice postale

[[ order.shipping_address.zip ]]

string

CAP / Codice postale del contatto fornito nell'indirizzo di spedizione

Azienda

[[ order.shipping_address.company ]]

string

Titolo dell'azienda del contatto fornito nell'indirizzo di spedizione

Telefono

[[ order.shipping_address.phone ]]

string

Numero di telefono del contatto fornito nell'indirizzo di spedizione

Proprietà del carrello (solo automazione)

Titolo del menu a discesa

Tag

Tipo di valore

Descrizione

URL del carrello abbandonato

[[ abandoned_cart.recover_url ]]

string

URL per raggiungere/recuperare il carrello abbandonato

Risoluzione dei problemi

La personalizzazione mostra codice raw nelle email

Motivo: Stai visualizzando un'email di test invece di un'email reale.

Soluzione: Le email di test mostrano sempre i tag Liquid grezzi ([[ contact.first_name ]]). Per testare la personalizzazione:

  • Utilizza Test & Anteprima nell'editor e seleziona un contatto reale.

  • Oppure invia la campagna/automazione dal vivo alla tua email (assicurati che il profilo del tuo contatto abbia dati).

La personalizzazione non si trasforma in email reali

Cause: Il tag Liquid potrebbe aver perso integrità se modificato parzialmente.

Soluzione: Elimina l'intero tag di personalizzazione e reinseriscilo utilizzando il Tag di Personalizzazione icona nella barra degli strumenti, o digita @ nel blocco di testo. Questo assicura che il tag sia formattato correttamente.

Il testo di fallback non funziona

Cause: Sintassi errata o virgolette mancanti.

Soluzione: Assicurati che i valori di fallback siano racchiusi tra virgolette:

  • [[ contact.first_name | default: 'lì' ]]

  • [[ contact.first_name | default: lì ]]

La logica condizionale non funziona nelle campagne

Cause: I tag e le dichiarazioni condizionali funzionano solo nei flussi automatizzati.

Soluzione: Usa la logica condizionale nelle automazioni – non nelle Campagne.

FAQ

Posso usare Liquid in SMS e notifiche push?

Sì. Gli oggetti e i filtri Liquid funzionano in Email, SMS e nelle notifiche Push. La logica condizionale funziona solo nell'automazione.

Qual è la differenza tra {{ }} e [[ ]]?

Shopify utilizza {{ }} per gli oggetti Liquid. Omnisend utilizza [[ ]]. Se stai copiando codice Liquid dalla documentazione di Shopify, sostituisci le parentesi graffe con le parentesi quadre.

Devo aggiungere valori di fallback?

Sì. Aggiungi sempre fallback per evitare spazi vuoti quando i dati del contatto mancano:
[[ contact.first_name | default: 'there' ]]

Posso combinare più filtri?

Sì. Collega i filtri con i simboli |:
[[ contact.first_name | capitalize | default: 'lì' ]]

Dove posso trovare ulteriori esempi di Liquid?

Scopri di più nella documentazione Liquid di Shopify – ricorda di sostituire {{ }} con [[ ]] e {% %} con [% %] in Omnisend.


Sei invitato a contattare il nostro premiato team di supporto per ulteriore assistenza tramite la chat in-app o a [email protected].

Hai ricevuto la risposta alla tua domanda?