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 mostrano i tag Liquid grezzi ([[ contact.first_name ]]). Usa Test & 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:

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

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

  • Proprietà 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 oggi

  • Link 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 ]]

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

Email

[[ contact.email ]]

string

Email di contatto

Nome

[[ contact.first_name ]]

string

Nome di battesimo del contatto

Cognome

[[ contact.last_name ]]

string

Cognome del contatto

Città

[[ contact.city ]]

string

Città del contatto

Paese

[[ contact.country ]]

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

[[ preference_link ]]

Link delle preferenze di contatto

Proprietà personalizzate

[[ contact.custom_properties.customPropertyName ]]

oggetto

Proprietà personalizzate del contatto

Numero di telefono

[[ contact.phone_number ]]

stringa

Numero di telefono del contatto

Proprietà dell'Account

Titolo a discesa

Tag

Tipo di valore

Descrizione

Email

[[ contact.email ]]

stringa

Email di contatto

Nome

[[ contact.first_name ]]

stringa

Nome di battesimo del contatto

Cognome

[[ contact.last_name ]]

stringa

Cognome del contatto

Città

[[ contact.city ]]

stringa

Città del contatto

Paese

[[ contact.country ]]

stringa

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 per disiscriversi del contatto

Link del centro preferenze

[[ preference_link ]]

Link delle preferenze di contatto

Proprietà personalizzate

[[ contact.custom_properties.customPropertyName ]]

oggetto

Proprietà personalizzate del contatto

Numero di telefono

[[ contact.phone_number ]]

stringa

Numero di telefono del contatto

Proprietà dell'Account

Titolo a discesa

Tag

Tipo di valore

Descrizione

Nome

[[ account.name ]]

stringa

Nome dell'account

Indirizzo

[[ account.address ]]

stringa

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 del menu 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 Flusso automatizzato)

Titolo del menu a discesa

Tag

Tipo di valore

Descrizione

ID dell'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 di creazione dell'ordine

Valuta

[[ order.currency ]]

string

Valuta dell'ordine

Prezzo totale

[[ order.total_price ]]

int64

Somma totale dell'ordine

Prezzo subtotal

[[ order.subtotal_price ]]

int64

Somma subtotal 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 dell'ordine

Indirizzo di Fatturazione (Solo Flusso automatizzato)

Titolo a discesa

Tag

Tipo di valore

Descrizione

Nome

[[ order.billing_address.first_name ]]

string

Nome 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 (1° riga) fornito nell'indirizzo di fatturazione

Indirizzo 2

[[ order.billing_address.address2 ]]

string

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

CAP / Codice postale

[[ order.billing_address.zip ]]

string

Codice ZIP / 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 Flusso automatizzato)

Titolo del menu a discesa

Tag

Tipo di valore

Descrizione

Nome di battesimo

[[ order.shipping_address.first_name ]]

string

Nome di battesimo 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 del 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 Flusso automatizzato)

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

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

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

La personalizzazione non si trasforma nelle email live

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

Soluzione: Elimina l'intero tag di personalizzazione e reinseriscilo utilizzando il menu Tag di Personalizzazione nell'editor.

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 nel Flusso automatizzato.

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 di contatto sono mancanti:
[[ 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 il benvenuto a contattare il nostro premiato Team di Supporto per ulteriore assistenza tramite la chat in-app o all'indirizzo [email protected].

Hai ricevuto la risposta alla tua domanda?