Shopify Email kampanyalarınızı Liquid kullanarak kişiselleştirme
Liquid, Shopify'ın basit ve kullanımı kolay programlama dilidir ve Shopify Tema Mağazası temaları da bu programlama dili kullanılarak oluşturulmuştur.
Shopify Email mesajlarınızı iyileştirmek için Liquid'i kullanarak tamamen özel koda sahip bir e-posta oluşturabilir veya bir şablona özel bir Liquid bölümü ekleyebilirsiniz. Bu seçenekler, özel Liquid veya HTML girmenize olanak sağlar.
Yan yana görseller, özel düğmeler, özel boyutlu görseller ve özel bölüm boyutları gibi özel varlıkları görüntülemek için özel Liquid kullanabilirsiniz.
Bu sayfada
Önemli hususlar
Shopify Email mesajlarınıza özel Liquid eklemeye başlamadan önce aşağıdaki hususları gözden geçirin:
- Kodunuza dahil ettiğiniz değişkenlerin, özel Liquid tarafından destekleniyor olması gerekir.
- Yalnızca masaüstü cihazlar üzerinden özel Liquid bölümü oluşturabilirsiniz.
- Özel Liquid e-postalarında
unsubscribe_link
veyaunsubscribe_url
değişkeni olması gerekir. Açılış takibini etkinleştirdiysenizopen_tracking
değişkeni de gereklidir. E-postanıza gerekli değişkenleri ekleme hakkında daha fazla bilgi edinin. - Girdiğiniz kod için aşağıdaki limitler geçerlidir: - Özel Liquid bölümleri için en fazla 50 kilobayt (KB). - Özel kodlu Liquid e-postaları için en fazla 500 KB.
Özel Liquid'de desteklenen Liquid değişkenleri
Desteklenen değişkenleri kullanarak Liquid ile Shopify e-posta mesajlarınızı özelleştirebilirsiniz. Aşağıdaki şablon türleri için desteklenen Liquid değişkenlerinin listelerini inceleyebilirsiniz:
- Tüm e-posta şablonları
- Yarım bırakılmış ödeme e-postası şablonları
- Yarım bırakılmış göz atma ve yarım bırakılmış sepet e-postası şablonları
Tüm e-posta şablonları için desteklenen Liquid değişkenleri
Aşağıdaki değişkenleri kullanarak dilediğiniz Shopify e-posta mesajlarınızı Liquid ile özelleştirebilirsiniz.
Değişken | Açıklama |
---|---|
all_products | Mağazanızdaki ürünleri tümü. |
customer.accepts_marketing | Müşterinin pazarlama faaliyetlerini kabul etmesi durumunda true , aksi takdirde false döndürür. |
customer.addresses | Müşteriyle ilişkili tüm adresleri döndürür. |
customer.addresses_count | Müşteriyle ilişkili adreslerin sayısını döndürür. |
customer.b2b? | Müşteri bir B2B müşterisiyse true , değilse false döndürür. |
customer.current_location | Müşteri için şu anda seçili olan şirket konumunu döndürür. |
customer.default_address | Müşterinin varsayılan adresini döndürür. |
customer.email | Müşterinin e-posta adresini döndürür. |
customer.first_name | Müşterinin adını döndürür. |
customer.has_account | Müşterinin e-posta adresi bir müşteri hesabıyla ilişkiliyse true , değilse false döndürür. |
customer.has_avatar? | Müşteri hesabıyla ilişkili bir avatar varsa true , yoksa false döndürür. |
customer.id | Müşterinin kimliğini döndürür. |
customer.last_name | Müşterinin soyadını döndürür. |
customer.last_order | Müşteri tarafından verilen en son siparişi (test siparişleri hariç) döndürür. |
customer.name | Müşterinin tam adını döndürür. |
customer.orders | Müşterinin verdiği tüm siparişleri döndürür. |
customer.orders_count | Müşterinin verdiği toplam sipariş sayısını döndürür. |
customer.payment_methods | Müşterinin kayıtlı ödeme yöntemlerini döndürür. |
customer.phone | Müşterinin telefon numarasını döndürür. Telefon numarası yalnızca müşteri ödeme aşamasında bir telefon numarası kullandıysa, SMS bildirimlerini etkinleştirdiyse ya da numara müşteri hesabına manuel olarak eklendiyse görüntülenir. |
customer.store_credit_account.balance |
İlgili bağlama ait para biriminde müşterinin mağaza kredisi bakiyesini döndürür. Örneğin:
|
customer.tags | Müşteriyle ilişkili etiketleri döndürür. |
customer.tax_exempt | Müşteri vergiden muafsa true , değilse false döndürür. |
customer.total_spent | Müşterinin mağazanızdan verdiği tüm siparişlerde harcadığı toplam tutarı döndürür. |
email.* |
Bu değişken, aşağıdaki e-posta özelliklerine erişim sağlar: subject e-postanın konu satırını görüntüler.preview_text e-postanın önizleme metnini görüntüler. |
open_tracking | Bu değişken, önceden biçimlendirilmiş açık takip blokuna erişim verir. Özel kodlu bir e-posta oluşturursanız ve açılış takibini etkinleştirdiyseniz bu değişken gereklidir. |
shop.* | Bu değişken, aşağıdaki mağaza özelliklerine erişim sağlar:
name mağaza adını görüntüler.domain mağaza birincil alan adını görüntüler.url mağaza URL'sini görüntüler.shopify_domain mağazanın Shopify alan adını görüntüler.
|
unsubscribe_url | Bu değişken ham abonelikten çıkma URL'sine erişim sağlar ve özelleştirilebilir. Özel koda sahip bir e-posta oluşturuyorsanız unsubscribe_url veya unsubscribe_link değişkenini dahil etmeniz gerekir. Hem unsubscribe_url hem de unsubscribe_link her zaman birincil online mağaza alan adına yönlendirilir ve başka bir yere yönlendirilmek üzere değiştirilemez. |
Yarım bırakılmış ödeme e-postaları için desteklenen Liquid değişkenleri
Yarım bırakılmış ödeme Shopify e-posta mesajlarınızı Liquid ile özelleştirmek için aşağıdaki değişkenleri kullanabilirsiniz.
Değişken | Açıklama |
---|---|
abandoned_checkout.* |
Bu değişken, yarım bırakılmış bir ödemenin aşağıdaki özelliklerine erişim sağlar:
|
id(checkout ID) | Dahili kullanım için ödemenin benzersiz kimliği. |
shop | Shopify mağazanızın adı. |
name | Yarım bırakılmış ödemenin adı, aynı zamanda ödeme numarası olarak da bilinir. |
total_price | Siparişin toplam fiyatı (alt toplam + kargo masrafı - kargo indirimi + vergi). |
shipping_price |
Kargo fiyatı. Örnek: |
shipping_address | Kargo adresi. |
billing_address | Fatura adresi. |
line_items | Yarım bırakılmış ödemedeki tüm satır öğelerinin listesi. |
unavailable_line_items | Yarım bırakılmış ödemedeki mevcut olmayan tüm satır öğelerinin listesi. |
note | Yarım bırakılmış ödemeye eklenen not. |
landing_site |
Müşterinin kullandığı açılış sitesinin yolu. Müşterinin mağazaya geldiğinde eriştiği ilk sayfadır. Örnek: |
landing_site_ref |
Açılış sitesinden bir referans parametresi ayıklar. Referans parametreleri şu şekilde olabilir:
{% if landing_site_ref == 'my-tracking-token' %} My action... {% endif %} |
referring_site |
Müşteriyi mağazanıza getiren yönlendiren URL. Örnek: |
created_at | Müşterinin yarım bıraktığı ödemeyi oluşturduğu tarih ve saat. |
closed_at | Ödeme kapatıldığı tarih ve saat. |
customer_locale | İsteğe bağlı olarak müşterinin yerel ayarı için bir bölge belirleyicisi ile devam eden iki veya üç harfli dil kodu. Örneğin, tr, en-CA |
item_count | Tüm ürünlerin adet toplamı. |
unique_gateways | Ödeme sayfasında bulunan benzersiz ödeme sağlayıcılarının listesi. |
discount | Sepete veya yarım bırakılmış ödemedeki bir satır öğesine uygulanan indirim. |
discounts | Ödemeye uygulanan indirimlerin listesi. |
successfully_applied_discounts | Ödemeye başarıyla uygulanan indirimler. |
discounts_amount |
Tüm indirimlerle uygulanan indirimin para tutarı. Örnek: + 5,00 USD |
discounts_savings |
Tüm indirimlerden kaynaklanan tasarrufların para tutarı. Örnek: - 5,00 USD |
buyer_accepts_marketing | İadeler trueveya falseYarım bırakılmış ödeme sırasında müşterinin pazarlamayı kabul edip etmediğine bağlı olarak |
subtotal_line_items | Herhangi bir ipucu satır öğesi hariç, ödeme sırasında alt toplam fiyatı hesaplamak için kullanılan satır öğeleri. |
requires_shipping | İadeler trueÖdeme sayfasında kargo gerektiren en az bir ürün varsa |
subtotal_price | Ödemedeki satır öğelerinin alt toplam fiyatı |
Yarım bırakılmış ödemeyle ilişkili e-posta adresi | |
shop_name | Mağazanızın adı. |
tax_lines |
Vergi türüne göre ayrılmış vergiler: {% for tax_line in tax_lines %} {{ tax_line.title }} ({{ tax_line.rate_percentage }}%) : {{ tax_line.price | money_with_currency }} {% endfor %} |
tax_price | Ödemedeki tüm ürünlerin birleşik vergileri |
attributes |
Yarım bırakılmış ödemeye eklenen özellikler. Örnek: |
shipping_method | Ödeme sırasında kullanılabilen ilk kargo yöntemine ilişkin bilgiler. |
shipping_methods | Ödemede kullanılabilen kargo yöntemleri. |
free | İadeler true Ödemenin toplam fiyatı sıfırsa |
free_shipping | İadeler trueÖdeme için kargo gerekli değilse veya kargo fiyatı sıfırsa |
different_billing_address | İadeler trueveya falseKargo adresinin, fatura adresiyle aynı olup olmadığına bağlı olarak |
customer | Müşteri çıktısının özelliklerini içeren müşteri nesnesi. |
gift_cards | Ödemeye uygulanan hediye kartları. |
gift_cards_amount | Ödemede hediye kartlarıyla ödenecek tutar. |
transactions | Ödemenin işlenmesi. |
shareable_url | Satır öğelerindeki ilk ürünün URL'si. |
shareable_title | İlk satır öğesinin ürün başlığı. |
total_tip | Müşterinin ödeme sırasında eklediği toplam bahşiş. |
discount_applications | Ödeme sırasında bir öğenin neden ve nasıl indirimli olduğunu açıklar. |
cart_level_discount_applications | Sepet için sepete özel indirim uygulamaları. |
currency | Yarım bırakılmış ödemenin para birimi. |
line_items_subtotal_price | Herhangi bir satır öğesi indirimi uygulandıktan sonra ödeme işlemindeki tüm satır öğelerinin fiyatlarının toplamı. |
Yarım bırakılmış göz atma ve yarım bırakılmış sepet e-postaları için Liquid değişkenleri
abandoned_visit.*
değişkeni, yalnızca e-posta yarım bırakılmış sepet veya yarım bırakılmış ürüne göz atma pazarlama otomasyonu kapsamındaysa doldurulur. Bu değişkenin erişim izni verdiği aşağıdaki özellikleri inceleyin.
Değişken | Açıklama |
---|---|
abandoned_visit.* |
Bu değişken, yarım bırakılmış bir sepetin aşağıdaki özelliklerine erişim veya göz atma sağlar:
|
Gerekli değişkenleri kullanma
Özel bir Liquid e-postası oluşturduğunuzda unsubscribe_link
veya unsubscribe_url
değişkeni gereklidir. Açılış takibini etkinleştirdiyseniz open_tracking
değişkeni de gereklidir.
Bu değişkenler e-postanızın kodunda herhangi bir yere eklenebilmekle birlikte, bunları eklemek için en sık kullanılan konum, aşağıdaki örnekte olduğu gibi, e-postanın altbilgi bölümüdür:
<div id="footer">{{ unsubscribe_link }} {{ open_tracking_block }}</div>
Özel Liquid kodu örneği:
Kod düzenleyicisinde özel Liquid ve HTML kodunuzu girebilirsiniz. Aşağıdaki kod örneğinde bir e-posta mesajında mağaza adınızı, özel bir düğmeyi ve özel boyutlu bir resmi göstermek için Liquid kodunu nasıl ekleyeceğinizi öğrenebilirsiniz.
<!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>