Personalizza le campagne di Shopify Messaging utilizzando Liquid
Liquid è il linguaggio di programmazione di Shopify, semplice e facile da usare. È lo stesso linguaggio utilizzato per creare i temi dello Shopify Theme Store.
Puoi usare Liquid personalizzato per migliorare i messaggi di Shopify Messaging creando un’email interamente personalizzata con codice o aggiungendo una sezione Liquid personalizzata a un modello. Queste opzioni ti consentono di inserire Liquid personalizzato o HTML.
Puoi usare Liquid personalizzato per visualizzare risorse personalizzate come immagini affiancate, pulsanti personalizzati, immagini di dimensioni personalizzate e sezioni di dimensioni personalizzate.
In questa pagina
Considerazioni
Esamina le seguenti considerazioni prima di iniziare ad aggiungere Liquid personalizzato ai messaggi di Shopify Messaging:
- Le variabili che includi nel codice devono essere supportate da Liquid personalizzato.
- Puoi usare solo un dispositivo desktop per creare una sezione Liquid personalizzata.
- La variabile
unsubscribe_linkounsubscribe_urlè obbligatoria nelle email Liquid personalizzate. Se hai attivato il monitoraggio dell’apertura, anche la variabileopen_trackingè obbligatoria. Maggiori informazioni sull'aggiunta di variabili obbligatorie all'email. - Il codice inserito ha i seguenti limiti:
- Massimo 50 kilobyte (KB) per le sezioni Liquid personalizzate.
- Massimo 500 KB per le email con codice Liquid personalizzato.
Creazione di un'email personalizzata con Liquid
Se desideri utilizzare codice Liquid personalizzato quando crei un’email, puoi aggiungere una sezione Liquid personalizzata oppure creare un’email interamente con codice Liquid personalizzato selezionando Crea il tuo codice quando crei una campagna di Shopify Messaging.
Variabili Liquid supportate in Liquid personalizzato
Puoi utilizzare le variabili supportate per personalizzare i messaggi email di Shopify Messaging con Liquid. Puoi consultare gli elenchi delle variabili Liquid supportate per i seguenti tipi di modelli:
- Tutti i modelli di email
- Modelli di email per check-out abbandonati
- Modelli di email per navigazione abbandonata e carrello abbandonato
Variabili Liquid supportate per tutti i modelli di email
Puoi utilizzare le seguenti variabili per personalizzare con Liquid qualsiasi messaggio email di Shopify Messaging.
| Variabile | Descrizione |
|---|---|
all_products | Tutti i prodotti del tuo negozio. |
customer.accepts_marketing | Restituisce true se il cliente accetta le comunicazioni di marketing e false in caso contrario. |
customer.addresses | Restituisce tutti gli indirizzi associati al cliente. |
customer.addresses_count | Restituisce il numero di indirizzi associati al cliente. |
customer.b2b? | Restituisce true se il cliente è un cliente B2B e false in caso contrario. |
customer.current_location | Restituisce la sede aziendale attualmente selezionata per il cliente. |
customer.default_address | Restituisce l'indirizzo predefinito del cliente. |
customer.email | Restituisce l'indirizzo email del cliente. |
customer.first_name | Restituisce il nome del cliente. |
customer.has_account | Restituisce true se l’email del cliente è associata a un account cliente e false in caso contrario. |
customer.has_avatar? | Restituisce true se il cliente ha un avatar associato all'account; in caso contrario, restituisce false. |
customer.id | Restituisce l'ID del cliente. |
customer.last_name | Restituisce il cognome del cliente. |
customer.last_order | Restituisce l'ultimo ordine effettuato dal cliente, esclusi gli ordini di prova. |
customer.name | Restituisce il nome completo del cliente. |
customer.orders | Restituisce tutti gli ordini effettuati dal cliente. |
customer.orders_count | Restituisce il numero totale di ordini che il cliente ha effettuato. |
customer.payment_methods | Restituisce i metodi di pagamento salvati del cliente. |
customer.phone | Restituisce il numero di telefono del cliente. Il numero di telefono viene compilato solo se il cliente ha utilizzato un numero di telefono al momento del check-out, ha attivato le notifiche via SMS o se lo hai aggiunto manualmente al suo account cliente. |
customer.store_credit_account.balance | Restituisce il saldo del credito in negozio del cliente nella valuta associata al contesto pertinente. Ad esempio: |
customer.tags | Restituisce i tag associati al cliente. |
customer.tax_exempt | Restituisce true se il cliente è esente da imposte; in caso contrario, restituisce false. |
customer.total_spent | Restituisce l'importo totale che il cliente ha speso per tutti gli ordini effettuati nel tuo negozio. |
email.* | Questa variabile consente di accedere alle seguenti proprietà dell'email: subject mostra la riga dell'oggetto dell'email.preview_text mostra il testo di anteprima dell'email. |
open_tracking | Questa variabile consente di accedere al blocco preformattato di monitoraggio dell'apertura. Questa variabile è obbligatoria se crei un'email con codice personalizzato e hai attivato il monitoraggio dell'apertura. |
shop.* | Questa variabile consente di accedere alle seguenti proprietà del negozio:
name mostra il nome del negozio.domain mostra il dominio primario del negozio.url mostra l'URL del negozio.shopify_domain mostra il dominio Shopify del negozio.
|
unsubscribe_url | Questa variabile consente di accedere all'URL di annullamento dell'iscrizione non elaborato e può essere personalizzata. Se crei un'email con codice personalizzato, devi includere la variabile unsubscribe_url o unsubscribe_link. Sia unsubscribe_url che unsubscribe_link punteranno sempre al dominio primario del negozio online e non possono essere modificati per reindirizzare altrove. |
Variabili Liquid supportate per le email per check-out abbandonato
Puoi utilizzare le seguenti variabili per personalizzare i messaggi email di Shopify Messaging per check-out abbandonato con Liquid.
La variabile abandoned_checkout viene compilata solo se un'email fa parte di un'automazione di marketing per check-out abbandonato. In caso contrario, la variabile è null.
| Variabile | Descrizione |
|---|---|
abandoned_checkout.* | Questa variabile consente di accedere alle seguenti proprietà di un check-out abbandonato:
|
id(checkout ID) | Un ID univoco del check-out per uso interno. |
shop | Il nome del tuo negozio Shopify. |
name | Il nome del check-out abbandonato, noto anche come numero del check-out. |
total_price | Il prezzo totale dell'ordine (subtotale + costo di spedizione - sconto sulla spedizione + imposta). |
shipping_price |
Il prezzo di spedizione. Esempio: |
shipping_address | L'indirizzo di spedizione. |
billing_address | L'indirizzo di fatturazione. |
line_items | Un elenco di tutte le voci nel check-out abbandonato. |
unavailable_line_items | Un elenco di tutte le voci del check-out abbandonato che non sono disponibili. |
note | La nota allegata al check-out abbandonato. |
landing_site |
Il percorso del sito di destinazione utilizzato dal cliente. È la prima pagina a cui il cliente ha effettuato l'accesso quando è arrivato al negozio. Esempio: |
landing_site_ref |
Estrae un parametro di riferimento dal sito di destinazione. I parametri di riferimento possono essere: Se il {% if landing_site_ref == 'my-tracking-token' %}
My action...
{% endif %}
|
referring_site |
L'URL del referrer che ha indirizzato il cliente al tuo negozio. Esempio: |
created_at | La data e l'ora in cui il cliente ha creato il check-out che ha abbandonato. |
closed_at | La data e l'ora di chiusura del check-out. |
customer_locale | Il codice lingua a due o tre lettere per le impostazioni locali del cliente, facoltativamente seguito da un modificatore dell'area geografica. Ad esempio, en, en-CA |
item_count | La somma delle quantità di tutti gli articoli. |
unique_gateways | Un elenco di gestori dei pagamenti univoci disponibili al check-out. |
discount | Lo sconto applicato al carrello o a una voce nel check-out abbandonato. |
discounts | Un elenco di sconti applicati al check-out. |
successfully_applied_discounts | Gli sconti applicati correttamente al check-out. |
discounts_amount | L'importo dello sconto applicato da tutti gli sconti. Esempio: +5,00 $ |
discounts_savings | L'importo del risparmio generato da tutti gli sconti. Esempio: -5,00 $ |
buyer_accepts_marketing | Restituisce trueo falsea seconda che il cliente abbia accettato o meno di ricevere comunicazioni di marketing durante il check-out abbandonato. |
subtotal_line_items | Le voci utilizzate per calcolare il prezzo subtotale al check-out, escluse le voci relative alle mance. |
requires_shipping | Restituisce truese nel check-out è presente almeno un articolo che richiede la spedizione. |
subtotal_price | Il prezzo subtotale delle voci al check-out. |
| L'email associata al check-out abbandonato. | |
shop_name | Il nome del negozio. |
tax_lines |
Le imposte suddivise per tipo di imposta: {% for tax_line in tax_lines %}
{{ tax_line.title }} ({{ tax_line.rate_percentage }}%) : {{ tax_line.price | money_with_currency }}
{% endfor %}
|
tax_price | Le imposte combinate di tutti gli articoli nel check-out. |
attributes |
Eventuali attributi associati al check-out abbandonato. Esempio: |
shipping_method | Informazioni sul primo metodo di spedizione disponibile al check-out. |
shipping_methods | I metodi di spedizione disponibili al check-out. |
free | Restituisce true if the total price of the checkout is zero. |
free_shipping | Restituisce truese il check-out non richiede la spedizione o se il prezzo per la spedizione è pari a zero. |
different_billing_address | Restituisce trueo falsea seconda che l'indirizzo di spedizione sia uguale all'indirizzo di fatturazione. |
customer | L'oggetto cliente che contiene gli attributi dell'output del cliente. |
gift_cards | I buoni regalo applicati al check-out. |
gift_cards_amount | L'importo del prezzo di check-out che verrebbe pagato con i buoni regalo. |
transactions | Le transazioni del check-out. |
shareable_url | L'URL del primo prodotto nelle voci. |
shareable_title | Il titolo del prodotto della prima voce. |
total_tip | La mancia totale che il cliente ha aggiunto al check-out. |
discount_applications | Descrive il motivo e la modalità con cui un articolo è stato scontato nel check-out. |
cart_level_discount_applications | Le applicazioni di sconto specifiche per il carrello. |
currency | La valuta del check-out abbandonato. |
line_items_subtotal_price | La somma dei prezzi di tutte le voci del check-out, dopo l'applicazione degli sconti per voci. |
Variabili Liquid nelle email per ricerca abbandonata e carrello abbandonato
La variabile abandoned_visit.* viene compilata solo se un'email fa parte di un'automazione del marketing per carrello abbandonato o ricerca di prodotto abbandonata. Esamina le seguenti proprietà a cui questa variabile dà accesso.
| Variabile | Descrizione |
|---|---|
abandoned_visit.* | Questa variabile dà accesso alle seguenti proprietà di un carrello o di una ricerca abbandonata:
|
Utilizzo delle variabili obbligatorie
Quando crei un'email Liquid personalizzata, la variabile unsubscribe_link o unsubscribe_url è obbligatoria. Se hai attivato il monitoraggio dell'apertura, è richiesta anche la variabile open_tracking.
Anche se queste variabili possono essere inserite in qualsiasi punto del codice dell'email, il punto più comune in cui aggiungerle è nella sezione del footer, come nell'esempio seguente:
<div id="footer">{{ unsubscribe_link }} {{ open_tracking_block }}</div>Esempio di codice Liquid personalizzato
Puoi aggiungere il tuo codice Liquid o HTML personalizzato nell'editor di codice. Il codice seguente è un esempio di come puoi aggiungere codice Liquid per mostrare il nome del negozio, un pulsante personalizzato e un'immagine di dimensioni personalizzate in un messaggio email.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ shop.name }} Newsletter</title>
</head>
<body style="margin: 0; padding: 0; font-family: Arial, sans-serif; line-height: 1.5; color: #333333; background-color: #f5f5f5;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="background-color: #f5f5f5;">
<tr>
<td align="center" style="padding: 20px;">
<table cellpadding="0" cellspacing="0" border="0" width="600" style="background-color: #ffffff; border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
<!-- Header -->
<tr>
<td align="center" style="background-color: #4a6de5; padding: 30px 20px; color: #ffffff;">
<h1 style="margin: 0; font-size: 28px; font-weight: bold;">{{ shop.name }}</h1>
<p style="margin: 10px 0 0; font-size: 16px;">Your Book Journey with Us</p>
</td>
</tr>
<!-- Content -->
<tr>
<td style="padding: 30px 20px;">
<!-- Greeting Section -->
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-bottom: 30px;">
<tr>
<td>
<h2 style="margin: 0 0 15px; font-size: 22px; color: #222222;">Hello {{ customer.name }}!</h2>
<p style="margin: 0 0 15px; font-size: 15px;">We hope this email finds you well. We noticed you're from {{ customer.default_address.city }}.</p>
{% if customer.email %}
<p style="margin: 0 0 15px; font-size: 15px;">Your registered email is: {{ customer.email }}</p>
{% endif %}
</td>
</tr>
</table>
<!-- Reading Journey Section -->
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-bottom: 30px;">
<tr>
<td>
<h2 style="margin: 0 0 15px; font-size: 20px; color: #4a6de5;">Your Reading Journey</h2>
<p style="margin: 0 0 15px; font-size: 15px;">Thank you for being a loyal customer! Here's a snapshot of your journey:</p>
<p style="margin: 0 0 15px; font-size: 15px;">You purchased {{ customer.orders_count }} books with us.</p>
{% if customer.last_order %}
<p style="margin: 0 0 15px; font-size: 15px;"> You last read {{customer.last_order.line_items[0].title}}. Great choice! </p>
{% endif %}
</td>
</tr>
</table>
<!-- Recommended Books Section -->
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-bottom: 30px;">
<tr>
<td>
<h2 style="margin: 0 0 15px; font-size: 20px; color: #4a6de5;">Books You Might Love</h2>
<p style="margin: 0 0 15px; font-size: 15px;">Based on your reading preferences, we've handpicked these titles just for you:</p>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td width="50%" style="padding-right: 10px;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="background-color: #f9f9f9; border-radius: 4px; padding: 15px;">
<tr>
<td align="center">
<!-- Image with proper email attributes -->
<img src="https:{{ all_products['product-1-handle'] | image_url: width: 200 }}"
alt="Product 1"
width="200"
height="200"
style="display: block; border: 0; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic;"
title="Product 1"
border="0">
<h3 style="margin: 0 0 10px; font-size: 16px; color: #333333;">{{ all_products['product-1-handle'].title }}</h3>
<p style="margin: 0 0 10px; font-size: 15px; color: #4a6de5;">${{ all_products['product-1-handle'].price }}</p>
<a href="{{shop.domain}}{{ all_products['product-1-handle'].url }}" style="display: inline-block; background-color: #4a6de5; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 4px; font-size: 14px;">View Book</a>
</td>
</tr>
</table>
</td>
<td width="50%" style="padding-left: 10px;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="background-color: #f9f9f9; border-radius: 4px; padding: 15px;">
<tr>
<td align="center">
<!-- Image with proper email attributes -->
<img src="https:{{ all_products['product-2-handle'] | image_url: width: 200 }}"
alt="Product 2"
width="200"
height="200"
style="display: block; border: 0; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic;"
title="Product 2"
border="0">
<h3 style="margin: 0 0 10px; font-size: 16px; color: #333333;">{{ all_products['product-2-handle'].title }}</h3>
<p style="margin: 0 0 10px; font-size: 15px; color: #4a6de5;">${{ all_products['product-2-handle'].price }}</p>
<a href="{{shop.domain}}{{ all_products['product-2-handle'].url }}" style="display: inline-block; background-color: #4a6de5; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 4px; font-size: 14px;">View Book</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- Book Club Section -->
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-bottom: 30px;">
<tr>
<td style="background-color: #f5f7ff; border-radius: 4px; padding: 25px; text-align: center;">
<h2 style="margin: 0 0 15px; font-size: 18px; color: #333333;">This Month's Top Picks</h2>
<p style="margin: 0 0 20px; font-size: 15px;">Discover what other readers are loving this month:</p>
<a href="{{ shop.url }}/pages/book-club" style="display: inline-block; background-color: #4a6de5; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 4px; font-size: 14px;">Join Our Book Club</a>
</td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td style="background-color: #f2f2f2; padding: 30px 20px; text-align: center;">
<p style="margin: 0 0 15px; font-size: 15px;">Best regards,<br><strong>{{ shop.name }} Team</strong></p>
<p style="margin: 0 0 15px; font-size: 12px; color: #999999;">© {{ 'now' | date: '%Y' }} {{ shop.name }}. All rights reserved.</p>
<p style="margin: 0 0 15px; font-size: 12px;">{{ open_tracking_block }}</p>
<a href="{{ unsubscribe_url }}" style="color: #999999; font-size: 12px; text-decoration: underline;">{{ unsubscribe_link }}</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>