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

Nome

[[ account.name ]]

stringa

Nome dell'account

Indirizzo

[[ account.address ]]

stringa

Indirizzo dell'account

Città

[[ account.city ]]

stringa

Città dell'account

CAP / Codice postale

[[ account.zipCode ]]

stringa

CAP / Codice postale dell'account

Paese

[[ account.country ]]

stringa

Paese dell'account

URL del sito web

[[ account.website ]]

stringa

URL del sito web dell'account

Fuso orario

[[ account.timezone ]]

stringa

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 Ordine

[[ order.order_id ]]

string

ID dell'ordine

Numero ordine

[[ order.order_number ]]

int64

Numero dell'ordine

Nome ordine

[[ order.order_name ]]

string

Nome dell'ordine

Data 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 parziale

[[ order.subtotal_price ]]

int64

Somma parziale 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 ordine

[[ order.note ]]

string

Note aggiuntive sull'ordine

Indirizzo di Fatturazione (Solo Flusso automatizzato)

Titolo del menu a discesa

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 del 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 dello 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

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 (Flusso automatizzato solo)

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

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

Hai ricevuto la risposta alla tua domanda?