Personalizați campaniile Shopify Messaging folosind Liquid
Liquid este limbajul de programare simplu și ușor de utilizat de la Shopify și este același limbaj de programare cu care sunt construite temele din Shopify Theme Store.
Puteți utiliza Liquid personalizat pentru a vă îmbunătăți mesajele Shopify Messaging creând un e-mail codificat complet personalizat sau adăugând o secțiune Liquid personalizată la un șablon. Aceste opțiuni vă permit să introduceți Liquid sau HTML personalizat.
Puteți utiliza Liquid personalizat pentru a afișa elemente personalizate, cum ar fi imagini alăturate, butoane personalizate, imagini de dimensiuni personalizate și dimensiuni de secțiuni personalizate.
Pe această pagină
Considerente
Examinați următoarele considerente înainte de a începe să adăugați Liquid personalizat la mesajele Shopify Messaging:
- Variabilele pe care le includeți în cod trebuie să fie acceptate de Liquid personalizat.
- Puteți utiliza doar un dispozitiv desktop pentru a crea o secțiune Liquid personalizată.
- Variabila
unsubscribe_linksauunsubscribe_urleste obligatorie în e-mailurile Liquid personalizate. Dacă ați activat urmărirea deschiderii, atunci variabilaopen_trackingeste, de asemenea, obligatorie. Aflați mai multe despre adăugarea variabilelor obligatorii la e-mailul dumneavoastră. - Codul pe care îl introduceți are următoarele limite:
- Maximum 50 de kiloocteți (KB) pentru secțiunile Liquid personalizate.
- Maximum 500 KB pentru e-mailurile Liquid codificate personalizat.
Crearea unui e-mail codificat personalizat cu Liquid
Dacă doriți să utilizați cod Liquid personalizat atunci când creați un e-mail, puteți fie să adăugați o secțiune Liquid personalizată, fie să creați un e-mail integral din cod Liquid personalizat, selectând Codificare proprie atunci când creați o campanie Shopify Messaging.
Variabile Liquid acceptate în Liquid personalizat
Puteți utiliza variabile acceptate pentru a vă personaliza mesajele de e-mail Shopify Messaging cu Liquid. Puteți consulta listele de variabile Liquid acceptate pentru următoarele tipuri de șabloane:
- Toate șabloanele de e-mail
- Șabloane de e-mail pentru plată abandonată
- Șabloane de e-mail pentru navigare abandonată și coș abandonat
Variabile Liquid acceptate pentru toate șabloanele de e-mail
Puteți utiliza următoarele variabile pentru a personaliza oricare dintre mesajele de e-mail Shopify Messaging cu Liquid.
| Variabilă | Descriere |
|---|---|
all_products | Toate produsele din magazinul dumneavoastră. |
customer.accepts_marketing | Returnează true dacă clientul acceptă marketingul și false dacă nu. |
customer.addresses | Returnează toate adresele asociate clientului. |
customer.addresses_count | Returnează numărul de adrese asociate clientului. |
customer.b2b? | Returnează true dacă clientul este un client B2B și returnează false în caz contrar. |
customer.current_location | Returnează locația companiei selectată în prezent pentru client. |
customer.default_address | Returnează adresa implicită a clientului. |
customer.email | Returnează adresa de e-mail a clientului. |
customer.first_name | Returnează prenumele clientului. |
customer.has_account | Returnează true dacă e-mailul clientului este asociat unui cont de client și returnează false în caz contrar. |
customer.has_avatar? | Returnează true dacă clientul are un avatar asociat contului său și false în caz contrar. |
customer.id | Returnează ID-ul clientului. |
customer.last_name | Returnează numele de familie al clientului. |
customer.last_order | Returnează ultima comandă plasată de client, fără a include comenzile test. |
customer.name | Returnează numele complet al clientului. |
customer.orders | Returnează toate comenzile pe care le-a plasat clientul. |
customer.orders_count | Returnează numărul total de comenzi pe care le-a plasat clientul. |
customer.payment_methods | Returnează metodele de plată salvate ale clientului. |
customer.phone | Returnează numărul de telefon al clientului. Numărul de telefon este completat numai dacă clientul a utilizat un număr de telefon la plată, a optat pentru notificări prin SMS sau dacă l-ați adăugat manual în contul său de client. |
customer.store_credit_account.balance | Returnează soldul creditului de magazin al clientului în moneda asociată contextului relevant. De exemplu: |
customer.tags | Returnează etichetele asociate clientului. |
customer.tax_exempt | Returnează true dacă clientul este scutit de taxe și false în caz contrar. |
customer.total_spent | Returnează suma totală pe care a cheltuit-o clientul pentru toate comenzile din magazinul dvs. |
email.* | Această variabilă oferă acces la următoarele proprietăți ale e-mailului: subject afișează linia de subiect a e-mailului.preview_text afișează textul de previzualizare al e-mailului. |
open_tracking | Această variabilă oferă acces la blocul preformatat pentru urmărirea deschiderilor. Această variabilă este necesară dacă creați un e-mail cu cod personalizat și ați activat urmărirea deschiderilor. |
shop.* | Această variabilă oferă acces la următoarele proprietăți ale magazinului:
name afișează numele magazinului.domain afișează domeniul principal al magazinului.url afișează URL-ul magazinului.shopify_domain afișează domeniul Shopify al magazinului.
|
unsubscribe_url | Această variabilă oferă acces la URL-ul brut de dezabonare și poate fi personalizată. Dacă creați un e-mail cu cod personalizat, atunci trebuie să includeți variabila unsubscribe_url sau unsubscribe_link. Atât unsubscribe_url, cât și unsubscribe_link vor indica întotdeauna domeniul principal al magazinului online și nu pot fi modificate pentru a direcționa în altă parte. |
Variabile Liquid acceptate pentru e-mailurile de plată abandonată
Puteți utiliza următoarele variabile pentru a personaliza mesajele de e-mail Shopify Messaging pentru plata abandonată cu Liquid.
Variabila abandoned_checkout este completată numai dacă un e-mail face parte dintr-o automatizare de marketing pentru plăți abandonate. În caz contrar, variabila este null.
| Variabilă | Descriere |
|---|---|
abandoned_checkout.* | Această variabilă oferă acces la următoarele proprietăți ale unei plăți abandonate:
|
id(checkout ID) | Un ID unic al plății, pentru uz intern. |
shop | Numele magazinului dvs. Shopify. |
name | Numele plății abandonate, cunoscut și ca numărul plății. |
total_price | Prețul total al comenzii (subtotal + cost de transport - reducere de transport + taxă). |
shipping_price |
Prețul de expediere. Exemplu: |
shipping_address | Adresa de expediere. |
billing_address | Adresa de facturare. |
line_items | O listă cu toate rândurile din plata abandonată. |
unavailable_line_items | O listă cu toate rândurile din plata abandonată care nu sunt disponibile. |
note | Nota atașată plății abandonate. |
landing_site |
Calea site-ului de destinație pe care l-a folosit clientul. Aceasta este prima pagină pe care a accesat-o clientul când a ajuns în magazin. Exemplu: |
landing_site_ref |
Extrage un parametru de referință din site-ul de destinație. Parametrii de referință pot fi: Dacă {% if landing_site_ref == 'my-tracking-token' %}
My action...
{% endif %}
|
referring_site |
URL-ul recomandatorului care a adus clientul în magazinul dvs. Exemplu: |
created_at | Data și ora la care clientul a creat plata pe care a abandonat-o. |
closed_at | Data și ora la care a fost închisă plata. |
customer_locale | Codul de limbă din două sau trei litere pentru parametrii locali ai clientului, urmat opțional de un modificator de regiune. De exemplu, en, en-CA |
item_count | Suma cantităților tuturor articolelor. |
unique_gateways | O listă de furnizori de servicii de plată unici disponibili la plată. |
discount | Reducerea aplicată coșului sau unui rând din plata abandonată. |
discounts | O listă de reduceri aplicate la plată. |
successfully_applied_discounts | Reducerile care au fost aplicate cu succes la plată. |
discounts_amount | Suma în dolari a reducerii aplicate de toate reducerile. Exemplu: +5,00 USD |
discounts_savings | Suma în dolari a economiilor realizate datorită tuturor reducerilor. Exemplu: -5,00 USD |
buyer_accepts_marketing | Returnează truesau falseîn funcție de faptul dacă clientul a acceptat marketingul în timpul plății abandonate. |
subtotal_line_items | Rândurile care sunt utilizate pentru a calcula prețul subtotal la plată, excluzând orice rânduri de bacșiș. |
requires_shipping | Returnează truedacă există cel puțin un articol la plată care necesită expediere. |
subtotal_price | Prețul subtotal al rândurilor la plată. |
| E-mailul asociat cu plata abandonată. | |
shop_name | Numele magazinului dumneavoastră. |
tax_lines |
Taxele defalcate pe tip de taxă: {% for tax_line in tax_lines %}
{{ tax_line.title }} ({{ tax_line.rate_percentage }}%) : {{ tax_line.price | money_with_currency }}
{% endfor %}
|
tax_price | Taxele combinate pentru toate articolele de la plată. |
attributes |
Orice atribute care au fost atașate plății abandonate. Exemplu: |
shipping_method | Informații despre prima metodă de transport disponibilă la plată. |
shipping_methods | Metodele de transport disponibile la plată. |
free | Returnează true if the total price of the checkout is zero. |
free_shipping | Returnează truedacă plata nu necesită expediere sau dacă prețul pentru expediere este zero. |
different_billing_address | Returnează truesau falseîn funcție de faptul dacă adresa de livrare este aceeași cu adresa de facturare. |
customer | Obiectul client care conține atributele rezultatului client. |
gift_cards | Cardurile cadou aplicate la plată. |
gift_cards_amount | Suma din prețul de la plată care ar fi achitată cu carduri cadou. |
transactions | Tranzacțiile plății. |
shareable_url | URL-ul primului produs din rânduri. |
shareable_title | Titlul produsului primului rând. |
total_tip | Bacșișul total pe care clientul l-a adăugat la plată. |
discount_applications | Descrie de ce și cum a fost redus un articol la plată. |
cart_level_discount_applications | Aplicațiile de reducere specifice coșului. |
currency | Moneda plății abandonate. |
line_items_subtotal_price | Suma prețurilor tuturor rândurilor de la plată, după aplicarea oricăror reduceri pe rând. |
Variabile Liquid pentru e-mailuri de navigare abandonată și de coș abandonat
Variabila abandoned_visit.* se completează numai dacă un e-mail face parte dintr-o automatizare de marketing pentru coș abandonat sau pentru răsfoire de produs abandonată. Examinați proprietățile următoare la care oferă acces această variabilă.
| Variabilă | Descriere |
|---|---|
abandoned_visit.* | Această variabilă oferă acces la următoarele proprietăți ale unui coș sau ale unei navigări abandonate:
|
Utilizarea variabilelor obligatorii
Atunci când creați un e-mail personalizat în Liquid, variabila unsubscribe_link sau unsubscribe_url este obligatorie. Dacă ați activat urmărirea deschiderii, atunci variabila open_tracking este, de asemenea, obligatorie.
Deși aceste variabile pot fi inserate oriunde în codul e-mailului dumneavoastră, cel mai comun loc în care se adaugă este secțiunea de subsol a unui e-mail, ca în exemplul următor:
<div id="footer">{{ unsubscribe_link }} {{ open_tracking_block }}</div>Exemplu de cod Liquid personalizat
Puteți adăuga cod Liquid personalizat sau HTML în editorul de cod. Următorul cod este un exemplu al modului în care puteți adăuga cod Liquid pentru a afișa numele magazinului, un buton personalizat și o imagine de dimensiune personalizată într-un mesaj de e-mail.
<!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>