Dostosuj swoje kampanie Shopify Email za pomocą kodu Liquid

Liquid to prosty i łatwy w użyciu język programowania Shopify, ten sam, którego używa się do tworzenia szablonów dostępnych w Shopify Theme Store.

Możesz użyć niestandardowego kodu Liquid, aby ulepszyć wiadomości Shopify Email, tworząc w pełni niestandardowo zakodowaną wiadomość e-mail lub dodając niestandardową sekcję Liquid do szablonu. Te opcje umożliwiają wprowadzenie niestandardowego kodu Liquid lub HTML.

Możesz użyć niestandardowego kodu Liquid do wyświetlenia niestandardowych zasobów, takich jak obrazy ułożone obok siebie, niestandardowe przyciski, obrazy o niestandardowym rozmiarze i niestandardowe rozmiary sekcji.

Uwagi

Przed dodaniem niestandardowego kodu Liquid do wiadomości Shopify Email zapoznaj się z poniższymi informacjami:

  • Zmienne, które zawierasz w kodzie, muszą być obsługiwane przez niestandardowy kod Liquid.
  • Niestandardową sekcję Liquid można utworzyć wyłącznie za pomocą komputera stacjonarnego.
  • Zmienna unsubscribe_link lub unsubscribe_url jest wymagana w niestandardowych e-mailach Liquid. Jeśli aktywowano śledzenie otwarć, wymagana jest również zmienna open_tracking. Dowiedz się więcej o dodawaniu wymaganych zmiennych do swojego e-maila.
  • Wprowadzany kod ma następujące limity: - Maksymalnie 50 kilobajtów (KB) dla niestandardowych sekcji Liquid. - Maksymalnie 500 KB dla e-maili z niestandardowym kodem Liquid.

Zmienne Liquid obsługiwane w niestandardowych Liquid

Możesz użyć obsługiwanych zmiennych, aby dostosować swoje wiadomości e-mail Shopify za pomocą kodu Liquid. Możesz przejrzeć listy obsługiwanych zmiennych Liquid dla następujących typów szablonów:

Zmienne Liquid są obsługiwane dla wszystkich szablonów e-maili

Możesz użyć poniższych zmiennych, aby dostosować swoje wiadomości e-mail Shopify za pomocą kodu Liquid.

Opis zmiennych Liquid obsługiwanych przez Shopify Email
ZmiennaOpis
all_products
Wszystkie produkty w Twoim sklepie.
customer.accepts_marketing
Ma wartość true, jeśli klient wyraża zgodę na marketing, a false, jeśli nie wyrażono tej zgody.
customer.addresses
Określa wszystkie adresy powiązane z klientem.
customer.addresses_count
Określa liczbę adresów skojarzonych z klientem.
customer.b2b?
Ma wartość true, jeśli klient jest klientem B2B , a false, jeśli nim nie jest.
customer.current_location
Określa aktualnie wybraną lokalizację firmy dla klienta.
customer.default_address
Określa domyślny adres e-mail klienta.
customer.email
Zwraca adres e-mail klienta.
customer.first_name
Określa imię klienta.
customer.has_account
Ma wartość true, jeśli adres e-mail klienta jest powiązany z kontem klienta, a false, jeśli nie jest powiązany.
customer.has_avatar?
Ma wartość true, jeśli klient posiada Avatar powiązany ze swoim kontem, a false, jeśli go nie posiada.
customer.id
Określa identyfikator klienta.
customer.last_name
Określa nazwisko klienta.
customer.last_order
Określa ostatnie zamówienie złożone przez klienta, z wyłączeniem zamówień testowych.
customer.name
Określa imię i nazwisko klienta
customer.orders
Określa wszystkie zamówienia złożone przez klienta.
customer.orders_count
Określa całkowitą liczbę zamówień złożonych przez klienta.
customer.payment_methods
Zwraca zapisane metody płatności klienta.
customer.phone
Określa numer telefonu klienta. Numer telefonu pojawia się tylko wtedy, gdy klient przy realizacji zakupu użył numeru telefonu, wyraził zgodę na powiadomienia SMS lub ręcznie dodał go do swojego konta klienta.
customer.store_credit_account.balance

Zwraca saldo kredytu sklepowego klienta w walucie powiązanej z odpowiednim kontekstem. Na przykład:

{{customer.store_credit_account.balance | money_with_currency}}
customer.tags
Określa tagi powiązane z klientem.
customer.tax_exempt
Ma wartość true, jeśli klient jest zwolniony z podatków, a false, jeśli nie jest zwolniony.
customer.total_spent
Określa całkowitą kwotę wydaną przez klienta na wszystkie zamówienia w Twoim sklepie.
email.*

Ta zmienna zapewnia dostęp do następujących właściwości e-maila:

  • subject wyświetla wiersz tematu e-maila.
  • preview_text wyświetla podgląd tekstu e-maila.
  • open_tracking
    Ta zmienna zapewnia dostęp do wstępnie sformatowanego bloku śledzenia otwarć. Ta zmienna jest wymagana, jeśli tworzysz e-maila z niestandardowym kodem przy włączonej opcji śledzenia otwarć.
    shop.*
    Zmienna ta daje dostęp do następujących właściwości sklepu:
  • name wyświetla nazwę sklepu.
  • domain wyświetla domenę podstawową sklepu.
  • url wyświetla adres URL sklepu.
  • shopify_domain wyświetla domenę Shopify sklepu.
    • address wyświetla adres sklepu, który daje dostęp do następujących właściwości adresu:
      • address1
      • address2
      • city
      • kraj
      • telefon
      • province
      • pocztowy
    unsubscribe_url
    Ta zmienna zapewnia dostęp do adresu URL do anulowania subskrypcji z możliwością dostosowania. Jeśli utworzysz e-mail z niestandardowym kodem, musisz uwzględnić zmienną unsubscribe_link lub unsubscribe_url.

    Zmienne Liquid obsługiwane dla e-maili dotyczących przerwanej realizacji zakupu

    Możesz użyć następujących zmiennych, aby dostosować swoje e-maile dotyczące przerwanej realizacji zakupu w Shopify za pomocą Liquid.

    Zmienna abandoned_checkout wstawia dane tylko wtedy, gdy e-mail jest częścią automatyzacji marketingowej przerwanej realizacji zakupu. W przeciwnym razie zmienna będzie miała wartość null.

    Opis zmiennych Liquid obsługiwanych przez Shopify Email dla przerwanych wyszukiwań, koszyka i realizacji zakupu
    ZmiennaOpis
    abandoned_checkout.*

    Ta zmienna zapewnia dostęp do następujących właściwości przerwanej realizacji zakupu:

    • url wyświetla adres URL przerwanej realizacji zakupu.
    • line_items wyświetla pierwsze pięć pozycji pojedynczych przerwanej realizacji zakupu. Ponadto każdy obiekt line_items zawiera następujące właściwości każdego produktu:
      • components
      • image_url
      • product_title
      • variant_title
      • quantity
    • line_items.components wyświetla składniki przerwanej realizacji zakupu. Ponadto każdy obiekt bundle_components zawiera następujące właściwości każdego składnika:
      • image_url
      • quantity
      • product_title
      • variant_title
    • remaining_products_count przedstawia liczbę pozostałych pozycji pojedynczych, jeśli przerwana realizacja zakupu dotyczyła więcej niż pięciu pozycji.
    id
    (checkout ID)
    Unikalny identyfikator realizacji zakupu do wewnętrznego zastosowania.
    shop
    Nazwa Twojego sklepu Shopify.
    name
    Nazwa przerwanej realizacji zakupu, znanej również jako numer realizacji zakupu.
    total_price
    Łączna cena zamówienia (suma częściowa + koszt wysyłki - rabat na wysyłkę + podatek).
    shipping_price

    Cena wysyłki.

    Przykład{{ shipping_price | money }}

    shipping_address
    Adres wysyłki.
    billing_address
    Adres rozliczeniowy.
    line_items
    Lista wszystkich pozycji przerwanej realizacji zakupu.
    unavailable_line_items
    Lista wszystkich pozycji przerwanej realizacji zakupu, które nie są dostępne.
    note
    Uwaga, która jest dołączona do przerwanej realizacji zakupu.
    landing_site

    Ścieżka do strony docelowej, której użył klient. To jest pierwsza strona, do której klient dotarł po wejściu do sklepu.

    Przykład /products/great-product?ref=my-tracking-token

    landing_site_ref

    Wyodrębnia parametr referencyjny ze strony docelowej. Parametrami referencyjnymi mogą być: ref, source, r.

    Jeśli landing_site jest /products/great-product?ref=my-tracking-token, to landing_site_ref jest my-tracking-token. Możesz wykonać określoną czynność, jeśli Twój referencyjny parametr jest równy określonej wartości:

    {% if landing_site_ref == 'my-tracking-token' %} Moje działanie... {% endif %}
    referring_site

    Adres URL polecającego, który skierował klienta do Twojego sklepu.

    Przykład https://www.google.com/?s=great+products

    created_at

    Data i godzina utworzenia przez klienta realizacji zakupu, która została przez niego przerwana.

    closed_at

    Data i godzina zakończenia realizacji zakupu.

    customer_locale
    Dwu- lub trzyliterowy kod języka dla ustawień regionalnych klienta, po którym opcjonalnie może następować modyfikator regionu. Przykład:
    pl
    ,
    en-CA
    item_count
    Suma wszystkich ilości pozycji.
    unique_gateways
    Lista unikalnych dostawców płatności dostępnych przy realizacji zakupu.
    discount
    Rabat zastosowany do koszyka lub pozycji pojedynczej przerwanej realizacji zakupu.
    discounts
    Lista rabatów zastosowanych podczas realizacji zakupu.
    successfully_applied_discounts
    Rabaty, które zostały pomyślnie zastosowane podczas realizacji zakupu.
    discounts_amount

    Kwota w dolarach rabatu zastosowana we wszystkich rabatach.

    Przykład: + 5,00 USD

    discounts_savings

    Kwota w dolarach oszczędności wynikających ze wszystkich rabatów.

    Przykład: -5,00 USD

    buyer_accepts_marketing
    Zwroty
    prawda
    lub
    fałsz
    w zależności od tego, czy klient zaakceptował marketing podczas przerwanej realizacji zakupu.
    subtotal_line_items
    Pozycje pojedyncze, które są używane do obliczania ceny częściowej podczas realizacji zakupu, z wyłączeniem wszystkich pozycji napiwków.
    requires_shipping
    Zwroty
    prawda
    jeśli na stronie realizacji zakupu znajduje się co najmniej jedna pozycja wymagająca wysyłki.
    subtotal_price
    Suma częściowa pozycji podczas realizacji zakupu.
    email
    Adres e-mail powiązany z przerwaną realizacją zakupu.
    shop_name
    Nazwa Twojego sklepu.
    tax_lines

    Podatki podzielone wg typu podatku:

    {% for tax_line in tax_lines %} {{ tax_line.title }} ({{ tax_line.rate_percentage }}%) : {{ tax_line.price | money_with_currency }} {% endfor %}
    tax_price
    Połączone podatki wszystkich pozycji w procesie realizacji zakupu.
    attributes

    Wszelkie atrybuty, które zostały dołączone do przerwanej realizacji zakupu.

    Przykład{{ attributes.gift-note }}

    shipping_method
    Informacje o pierwszej metodzie wysyłki dostępnej podczas realizacji zakupu.
    shipping_methods
    Metody wysyłki dostępne podczas realizacji zakupu.
    free
    Zwroty
    prawda jeśli łączna cena realizacji zakupu wynosi zero.
    free_shipping
    Zwroty
    prawda
    jeśli realizacja zakupu nie wymaga wysyłki, lub jeśli cena wysyłki wynosi zero.
    different_billing_address
    Zwroty
    prawda
    lub
    fałsz
    na podstawie tego, czy adres wysyłki jest taki sam jak adres rozliczeniowy.
    customer
    Obiekt klienta zawierający atrybuty danych wyjściowych klienta.
    gift_cards
    Karty prezentowe zastosowane podczas realizacji zakupu.
    gift_cards_amount
    Kwota realizacji zakupu, która zostanie opłacona za pomocą kart prezentowych.
    transactions
    Transakcje realizacji zakupu.
    shareable_url
    Adres URL pierwszego produktu wśród pozycji pojedynczych.
    shareable_title
    Tytuł produktu pierwszej pozycji.
    total_tip
    Suma napiwku dodana przez klienta podczas realizacji zakupu.
    discount_applications
    Opisuje, dlaczego i w jaki sposób cena produktu została obniżona podczas realizacji zakupu.
    cart_level_discount_applications
    Wnioski o rabaty specyficzne dla koszyka.
    currency
    Waluta przerwanej realizacji zakupu.
    line_items_subtotal_price
    Suma cen wszystkich pozycji podczas realizacji zakupu, po zastosowaniu rabatów dla pozycji.

    Zmienne Liquid dla e-maili o przerwanych przeglądaniach i porzuconych koszykach

    abandoned_visit.* wstawia dane tylko wtedy, gdy e-mail jest częścią automatyzacji marketingu porzuconego koszyka lub przerwanego przeglądania produktów. Przejrzyj następujące właściwości, do których ta zmienna daje dostęp.

    Opis zmiennych Liquid obsługiwanych przez Shopify Email
    ZmiennaOpis
    abandoned_visit.*

    Ta zmienna zapewnia dostęp do następujących właściwości porzuconego koszyka lub przerwanego przeglądania:

    • url wyświetla adres URL porzuconego koszyka lub przeglądania.
    • products_added_to_cart wyświetla pierwsze pięć pozycji pojedynczych produktu dodanych do koszyka, który został porzucony. Ponadto każdy obiekt products_added_to_cart zawiera następujące właściwości każdego produktu:
      • title
      • image_url
      • variant_title
      • quantity
    • products_viewed wyświetla pierwsze pięć produktów wyświetlonych podczas wizyty, która została przerwana. Ponadto każdy obiekt products_viewed zawiera następujące właściwości każdego produktu:
      • title
      • opis
      • image_url
      • url
      • image_alt_text
    • remaining_cart_products_count przedstawia liczbę pozostałych pozycji pojedynczych, jeśli przerwana realizacja zakupu dotyczyła więcej niż pięciu pozycji.

    Użycie wymaganych zmiennych

    Po utworzeniu niestandardowego e-maila Liquid wymagana jest zmienna unsubscribe_link lub unsubscribe_url. Jeśli aktywowano śledzenie otwarć, wymagana jest również zmienna open_tracking.

    Mimo że te zmienne można wstawić w dowolnym miejscu w kodzie dla e-maila, najczęściej dodaje się je w sekcji stopki e-maila, tak jak na poniższym przykładzie:

    <div id="footer">{{ unsubscribe_link }} {{ open_tracking_block }}</div>

    Przykład niestandardowego kodu Liquid

    Możesz dodać niestandardowy Liquid i HTML w edytorze kodu. Poniższy przykładowy kod umożliwia dodanie kodu Liquid w celu wyświetlenia nazwy sklepu, niestandardowego przycisku i obrazu o niestandardowym rozmiarze w wiadomości 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>
    Nie możesz znaleźć odpowiedzi, których szukasz? Jesteśmy tutaj, aby Ci pomóc.