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 mostrano i tag Liquid grezzi (
[[ contact.first_name ]]). UsaTest & Anteprima nell'editor e seleziona un contatto reale per vedere la personalizzazione popolarsi.Aggiungi sempre valori di fallback – Usa
| predefinito: 'testo' 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:
Oggetti – Variabili che restituiscono dati di contatto o ordine (
[[ contact.first_name ]]Tag – Logica e flusso di controllo (
[% if contact.country == 'France' %])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 in 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) – Flussi automatizzati soloProprietà del carrello:
[[ cart.variable ]] (URL del carrello abbandonato) – Flussi automatizzati soloProprietà della data:
[[ current_date ]] (giorno, mese, anno correnti)
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 mancano:
[[ contact.first_name | default: 'there' ]]capitalize – 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"vocative – Adatta i nomi alla 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 Flusso automatizzato)
I tag creano logica e controllo del flusso nei messaggi. I tag sono racchiusi in 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 dell'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 ]], 20% di sconto termina oggiLink ai pulsanti:
[[ account.website ]]/orders/[[ order.order_id ]]
Logica condizionale (solo automazioni)
Utilizza 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
Maiuscola alla prima lettera
Hi [[ contact.first_name | capitalize ]]
Output: "Ciao sarah" → "Ciao Sarah"
Aggiungi testo personalizzato
[% assign campaign_destination = '/landing_page.html' %] [[ account.website | append: campaign_destination ]]
Output: "www.yourstore.com/landing_page.html
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 a discesa | Tag | Tipo di valore | Descrizione |
| string | Email di contatto | |
Nome |
| string | Nome di battesimo del contatto |
Cognome |
| string | Cognome del contatto |
Città |
| string | Città del contatto |
Paese |
| string | Paese del contatto |
Stato | [[ contact.state ]] | string | Stato del contatto |
Codice postale | [[ contact.postal_code ]] | string | Codice postale del contatto |
Link per disiscriversi | [[ unsubscribe_link ]] | – | Link del contatto per disiscriversi |
Link del centro preferenze |
| – | Link delle preferenze di contatto |
Proprietà personalizzate |
| oggetto | Proprietà personalizzate del contatto |
Numero di telefono |
| stringa | Numero di telefono del contatto |
Proprietà dell'Account
Titolo a discesa | Tag | Tipo di valore | Descrizione |
Nome |
| stringa | Nome dell'account |
Indirizzo |
| stringa | Indirizzo dell'account |
Città |
| stringa | Città dell'account |
CAP / Codice postale |
| stringa | CAP / Codice postale dell'account |
Paese |
| stringa | Paese dell'account |
URL del sito web |
| stringa | URL del sito web dell'account |
Fuso orario |
| stringa | Fuso orario dell'account |
Valuta |
| string | Valuta dell'account |
Proprietà della data
Titolo del menu a discesa | Tag | Tipo di valore | Descrizione |
Giorno corrente |
| - | Il giorno in cui viene eseguita l'azione |
Nome del giorno corrente |
| - | Il giorno in cui viene eseguita l'azione |
Mese corrente |
| - | Il mese in cui viene eseguita l'azione |
Nome del mese corrente |
| - | Il nome del mese in cui viene eseguita l'azione |
Anno corrente |
| - | L'anno corrente in cui viene eseguita l'azione |
Proprietà dell'Ordine (Solo Flusso automatizzato)
Titolo del menu a discesa | Tag | Tipo di valore | Descrizione |
ID Ordine |
| string | ID dell'ordine |
Numero ordine |
| int64 | Numero dell'ordine |
Nome ordine |
| string | Nome dell'ordine |
Data ordine |
| Data | Data di creazione dell'ordine |
Valuta |
| string | Valuta dell'ordine |
Prezzo totale |
| int64 | Somma totale dell'ordine |
Prezzo parziale |
| int64 | Somma parziale dell'ordine |
Sconto |
| int64 | Sconto dell'ordine |
Prezzo di spedizione |
| int64 | Prezzo di spedizione dell'ordine |
URL della pagina di stato dell'ordine |
| string | URL per raggiungere informazioni esatte sull'ordine |
Nota ordine |
| string | Note aggiuntive sull'ordine |
Indirizzo di Fatturazione (Solo Flusso automatizzato)
Titolo del menu a discesa | Tag | Tipo di valore | Descrizione |
Nome |
| string | Nome di battesimo del contatto fornito nell'indirizzo di fatturazione |
Cognome |
| string | Cognome del contatto fornito nell'indirizzo di fatturazione |
Paese |
| string | Paese del contatto fornito nell'indirizzo di fatturazione |
Codice paese |
| string | Codice del paese del contatto fornito nell'indirizzo di fatturazione |
Stato |
| string | Stato del contatto fornito nell'indirizzo di fatturazione |
Codice stato |
| string | Codice dello stato del contatto fornito nell'indirizzo di fatturazione |
Città |
| string | Città del contatto fornita nell'indirizzo di fatturazione |
Indirizzo 1 e |
| string | Indirizzo del contatto (1° riga) fornito nell'indirizzo di fatturazione |
Indirizzo 2 |
| string | Indirizzo del contatto (2° riga) fornito nell'indirizzo di fatturazione |
CAP / Codice postale |
| string | CAP / Codice postale del contatto fornito nell'indirizzo di fatturazione |
Azienda |
| string | Titolo dell'azienda del contatto fornito nell'indirizzo di fatturazione |
Telefono |
| string | Numero di telefono del contatto fornito nell'indirizzo di fatturazione |
Indirizzo di spedizione (Flusso automatizzato solo)
Titolo del menu a discesa | Tag | Tipo di valore | Descrizione |
Nome |
| string | Nome del contatto fornito nell'indirizzo di spedizione |
Cognome |
| string | Cognome del contatto fornito nell'indirizzo di spedizione |
Paese |
| string | Paese del contatto fornito nell'indirizzo di spedizione |
Codice paese |
| string | Codice paese del contatto fornito nell'indirizzo di spedizione |
Stato |
| string | Stato del contatto fornito nell'indirizzo di spedizione |
Codice stato |
| string | Codice stato del contatto fornito nell'indirizzo di spedizione |
Città |
| string | Città del contatto fornita nell'indirizzo di spedizione |
Indirizzo 1 e |
| string | Indirizzo del contatto (1ª riga) fornito nell'indirizzo di spedizione |
Indirizzo 2 |
| string | Indirizzo del contatto (2ª riga) fornito nell'indirizzo di spedizione |
CAP / Codice postale |
| string | CAP / Codice postale del contatto fornito nell'indirizzo di spedizione |
Azienda |
| string | Titolo dell'azienda del contatto fornito nell'indirizzo di spedizione |
Telefono |
| string | Numero di telefono del contatto fornito nell'indirizzo di spedizione |
Proprietà del Carrello (Solo Flusso automatizzato)
Titolo del menu a discesa | Tag | Tipo di valore | Descrizione |
URL del carrello abbandonato |
| string | URL per raggiungere/recuperare il carrello abbandonato |
Risoluzione dei problemi
La Personalizzazione mostra codice grezzo nelle email
Motivo: Stai visualizzando un'email di prova invece di un'email live.
Soluzione: Le email di test mostrano sempre i tag Liquid raw ([[ contact.first_name ]]). Per testare la Personalizzazione:
Usa Test & Preview nell'editor e seleziona un contatto reale.
Oppure invia la campagna/l'automazione dal vivo alla tua email (assicurati che il tuo profilo di contatto abbia dati).
La Personalizzazione non si trasforma nelle email in tempo reale
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: 'there' ]][[ contact.first_name | default: there ]]
La logica condizionale non funziona nelle campagne
Motivo: 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 negli SMS e nelle notifiche push?
Sì. Gli oggetti e i filtri Liquid funzionano in Email, SMS e nelle notifiche Push. La logica condizionale funziona solo nei Flussi automatizzati.
Qual è la differenza tra {{ }} e [[ ]]?
Shopify utilizza {{ }} per gli oggetti Liquid. Omnisend utilizza [[ ]]. Se stai copiando il 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 di contatto mancano:
[[ contact.first_name | default: 'there' ]]
Posso combinare più filtri?
Sì. Collega i filtri con i simboli |:
[[ contact.first_name | capitalize | default: 'there' ]]
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].
