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.

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_link o unsubscribe_url è obbligatoria nelle email Liquid personalizzate. Se hai attivato il monitoraggio dell’apertura, anche la variabile open_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:

Variabili Liquid supportate per tutti i modelli di email

Puoi utilizzare le seguenti variabili per personalizzare con Liquid qualsiasi messaggio email di Shopify Messaging.

Descrizione delle variabili Liquid supportate da Shopify Messaging
VariabileDescrizione
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.store_credit_account.balance | money_with_currency}}
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.
    • address mostra l'indirizzo del negozio, che consente di accedere alle seguenti proprietà dell'indirizzo:
      • address1
      • address2
      • city
      • country
      • phone
      • province
      • zip
    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.

    Descrizione delle variabili Liquid supportate da Shopify Messaging per ricerca abbandonata, carrello e check-out
    VariabileDescrizione
    abandoned_checkout.*

    Questa variabile consente di accedere alle seguenti proprietà di un check-out abbandonato:

    • url mostra l'URL del check-out abbandonato.
    • line_items mostra le prime cinque voci del check-out abbandonato. Inoltre, ogni line_items oggetto contiene le seguenti proprietà relative a ciascun prodotto:
      • components
      • image_url
      • product_title
      • variant_title
      • quantity
    • line_items.components mostra i componenti del check-out abbandonato. Inoltre, ogni components oggetto contiene le seguenti proprietà relative a ciascun componente:
      • image_url
      • quantity
      • product_title
      • variant_title
    • remaining_products_count mostra il numero di voci rimanenti, se nel check-out abbandonato ci sono più di cinque voci.
    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_price | money }}

    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: /products/great-product?ref=my-tracking-token

    landing_site_ref

    Estrae un parametro di riferimento dal sito di destinazione. I parametri di riferimento possono essere: ref, source, r.

    Se il landing_site è /products/great-product?ref=my-tracking-token, allora il landing_site_ref è my-tracking-token. Puoi eseguire una determinata azione se il tuo parametro di riferimento è uguale a un determinato valore:

    {% 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: https://www.google.com/?s=great+products

    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
    true
    o
    false
    a 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
    true
    se nel check-out è presente almeno un articolo che richiede la spedizione.
    subtotal_price
    Il prezzo subtotale delle voci al check-out.
    email
    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: {{ attributes.gift-note }}

    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
    true
    se il check-out non richiede la spedizione o se il prezzo per la spedizione è pari a zero.
    different_billing_address
    Restituisce
    true
    o
    false
    a 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.

    Descrizione delle variabili Liquid supportate da Shopify Messaging
    VariabileDescrizione
    abandoned_visit.*

    Questa variabile dà accesso alle seguenti proprietà di un carrello o di una ricerca abbandonata:

    • url mostra l'URL del carrello o della ricerca abbandonata.
    • products_added_to_cart mostra le prime cinque voci di prodotto aggiunte al carrello della visita abbandonata. Inoltre, ogni products_added_to_cart oggetto contiene le seguenti proprietà relative a ogni prodotto:
      • title
      • image_url
      • variant_title
      • quantity
    • products_viewed mostra i primi cinque prodotti visualizzati durante la visita abbandonata. Inoltre, ogni products_viewed oggetto contiene le seguenti proprietà relative a ogni prodotto:
      • title
      • description
      • image_url
      • url
      • image_alt_text
    • remaining_cart_products_count mostra il numero di voci rimanenti, se ci sono più di cinque voci nel check-out abbandonato.

    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>