Je Shopify Messaging-campagnes aanpassen met Liquid

Liquid is de eenvoudige, gebruiksvriendelijke programmeertaal van Shopify, en is dezelfde programmeertaal waarmee thema's uit de Shopify Theme Store zijn gebouwd.

Je kunt aangepaste Liquid gebruiken om je Shopify Messaging-berichten te verbeteren door een volledig op maat gecodeerde e-mail aan te maken of door een aangepaste Liquid-sectie toe te voegen aan een template. Met deze opties kun je aangepaste Liquid- of HTML-code invoeren.

Je kunt aangepaste Liquid gebruiken om aangepaste elementen weer te geven, zoals afbeeldingen naast elkaar, aangepaste knoppen, afbeeldingen met een aangepast formaat en aangepaste sectiegroottes.

Aandachtspunten

Neem de volgende aandachtspunten door voordat je aangepaste Liquid toevoegt aan je Shopify Messaging-berichten:

  • De variabelen die je in je code opneemt, moeten worden ondersteund door aangepaste Liquid.
  • Je kunt alleen een desktopapparaat gebruiken om een aangepaste Liquid-sectie aan te maken.
  • De variabele unsubscribe_link of unsubscribe_url is vereist in aangepaste Liquid-e-mails. Als je het openen van e-mails hebt geactiveerd, is de variabele open_tracking ook vereist. Meer informatie over het toevoegen van vereiste variabelen aan je e-mail.
  • De code die je invoert, heeft de volgende limieten:
    • Maximaal 50 kilobyte (kB) voor aangepaste Liquid-secties.
    • Maximaal 500 kB voor op maat gecodeerde Liquid-e-mails.

Een op maat gecodeerde e-mail aanmaken met Liquid

Als je aangepaste Liquid-code wilt gebruiken wanneer je een e-mail aanmaakt, kun je een aangepaste Liquid-sectie toevoegen of een e-mail volledig opbouwen uit aangepaste Liquid-code door Zelf coderen te selecteren wanneer je een Shopify Messaging-campagne aanmaakt.

Liquid-variabelen die worden ondersteund in aangepaste Liquid

Je kunt ondersteunde variabelen gebruiken om je Shopify Messaging-e-mailberichten aan te passen met Liquid. Je kunt de lijsten met ondersteunde Liquid-variabelen bekijken voor de volgende soorten templates:

Liquid-variabelen die worden ondersteund voor alle e-mailtemplates

Je kunt de volgende variabelen gebruiken om al je Shopify Messaging-e-mailberichten aan te passen met Liquid.

Beschrijving van ondersteunde Liquid-variabelen van Shopify Messaging
VariabeleBeschrijving
all_products
Alle producten in je winkel.
customer.accepts_marketing
Retourneert true als de klant marketing accepteert, en anders false.
customer.addresses
Retourneert alle adressen die aan de klant zijn gekoppeld.
customer.addresses_count
Retourneert het aantal adressen dat aan de klant is gekoppeld.
customer.b2b?
Retourneert true als de klant een B2B-klant is, en anders false.
customer.current_location
Retourneert de momenteel geselecteerde bedrijfslocatie voor de klant.
customer.default_address
Retourneert het standaardadres van de klant.
customer.email
Retourneert het e-mailadres van de klant.
customer.first_name
Retourneert de voornaam van de klant.
customer.has_account
Retourneert true als de e-mail van de klant is gekoppeld aan een klantaccount, en anders false.
customer.has_avatar?
Retourneert true als er een avatar aan het account van de klant is gekoppeld en anders false.
customer.id
Retourneert het ID van de klant.
customer.last_name
Retourneert de achternaam van de klant.
customer.last_order
Retourneert de laatste bestelling van de klant, exclusief testbestellingen.
customer.name
Retourneert de volledige naam van de klant.
customer.orders
Retourneert alle bestellingen die de klant heeft geplaatst.
customer.orders_count
Retourneert het totale aantal bestellingen dat de klant heeft geplaatst.
customer.payment_methods
Retourneert de opgeslagen betaalmethoden van de klant.
customer.phone
Retourneert het telefoonnummer van de klant. Het telefoonnummer wordt alleen ingevuld als de klant een telefoonnummer heeft gebruikt bij de checkout, zich heeft aangemeld voor sms-meldingen of als je het handmatig hebt toegevoegd aan het klantaccount.
customer.store_credit_account.balance

Retourneert het winkeltegoedsaldo van de klant in de valuta die bij de betreffende context hoort. Bijvoorbeeld:

{{customer.store_credit_account.balance | money_with_currency}}
customer.tags
Retourneert de tags die aan de klant zijn gekoppeld.
customer.tax_exempt
Retourneert true als de klant is vrijgesteld van belastingen en anders false.
customer.total_spent
Retourneert het totale bedrag dat de klant heeft uitgegeven aan alle bestellingen in je winkel.
email.*

Deze variabele geeft toegang tot de volgende e-maileigenschappen:

  • subject geeft de onderwerpregel van de e-mail weer.
  • preview_text geeft de voorbeeldtekst van de e-mail weer.
  • open_tracking
    Deze variabele geeft toegang tot het vooraf opgemaakte blok Openen van e-mails volgen. Deze variabele is vereist als je een aangepaste gecodeerde e-mail aanmaakt en het openen van e-mails volgen hebt geactiveerd.
    shop.*
    Deze variabele geeft toegang tot de volgende winkeleigenschappen:
  • name geeft de winkelnaam weer.
  • domain geeft het primaire domein van de winkel weer.
  • url geeft de URL van de winkel weer.
  • shopify_domain geeft het Shopify-domein van de winkel weer.
    • adres geeft het winkeladres weer, wat toegang geeft tot de volgende adreseigenschappen:
      • address1
      • address2
      • city
      • country
      • phone
      • province
      • zip
    unsubscribe_url
    Deze variabele geeft toegang tot de onbewerkte URL voor afmelden en kan worden aangepast. Als je een aangepaste gecodeerde e-mail aanmaakt, moet je de variabele unsubscribe_url of unsubscribe_link opnemen. Zowel unsubscribe_url als unsubscribe_link verwijzen altijd naar het primaire domein van de webshop en kunnen niet worden gewijzigd om ergens anders naartoe te verwijzen.

    Ondersteunde Liquid-variabelen voor e-mails over afgebroken checkouts

    Je kunt de volgende variabelen gebruiken om met Liquid je e-mailberichten voor afgebroken checkouts in Shopify Messaging aan te passen.

    De variabele abandoned_checkout wordt alleen ingevuld als een e-mail deel uitmaakt van een marketingautomatisering voor afgebroken checkouts. Anders is de variabele null.

    Beschrijving van door Shopify Messaging ondersteunde Liquid-variabelen voor verlaten pagina's, winkelwagens en checkouts
    VariabeleBeschrijving
    abandoned_checkout.*

    Deze variabele geeft toegang tot de volgende eigenschappen van een afgebroken checkout:

    • url geeft de URL van de afgebroken checkout weer.
    • line_items geeft de eerste vijf orderregels van de afgebroken checkout weer. Bovendien, elk line_items object bevat de volgende eigenschappen over elk product:
      • components
      • image_url
      • product_title
      • variant_title
      • quantity
    • line_items.components geeft de componenten van de afgebroken checkout weer. Bovendien, elk component object bevat de volgende eigenschappen over elke component:
      • image_url
      • quantity
      • product_title
      • variant_title
    • remaining_products_count geeft het aantal resterende orderregels weer, als er meer dan vijf orderregels in de afgebroken checkout zijn.
    id
    (checkout ID)
    Een uniek ID van de checkout voor intern gebruik.
    shop
    De naam van je Shopify-winkel.
    name
    De naam van de afgebroken checkout, ook wel het checkoutnummer genoemd.
    total_price
    De totaalprijs van de bestelling (subtotaal + verzendkosten - verzendkorting + belasting).
    shipping_price

    De verzendkosten.

    Voorbeeld: {{ shipping_price | money }}

    shipping_address
    Het verzendadres.
    billing_address
    Het factuuradres.
    line_items
    Een lijst van alle orderregels in de afgebroken checkout.
    unavailable_line_items
    Een lijst van alle orderregels in de afgebroken checkout die niet beschikbaar zijn.
    note
    De notitie die aan de afgebroken checkout is gekoppeld.
    landing_site

    Het pad van de landingspagina die de klant heeft gebruikt. Dit is de eerste pagina die de klant heeft bezocht toen hij de winkel bereikte.

    Voorbeeld: /products/great-product?ref=my-tracking-token

    landing_site_ref

    Extraheert een verwijzingsparameter van de landingspagina. Verwijzingsparameters kunnen zijn: ref, source, r.

    Als de landing_site /products/great-product?ref=my-tracking-token is, dan de landing_site_ref is my-tracking-token. Je kunt een bepaalde actie uitvoeren als je verwijzingsparameter gelijk is aan een bepaalde waarde:

    {% if landing_site_ref == 'my-tracking-token' %}
    My action...
    {% endif %}
    referring_site

    De URL van de verwijzer die de klant naar je winkel heeft gebracht.

    Voorbeeld: https://www.google.com/?s=great+products

    created_at

    De datum en tijd waarop de klant de checkout heeft aangemaakt die hij heeft afgebroken.

    closed_at

    De datum en tijd waarop de checkout is gesloten.

    customer_locale
    De taalcode van twee of drie letters voor de landinstellingen van de klant, eventueel gevolgd door een regiocode. Bijvoorbeeld
    en
    ,
    en-CA
    item_count
    Een som van de aantallen van alle artikelen.
    unique_gateways
    Een lijst met unieke betalingsproviders die beschikbaar zijn bij de checkout.
    discount
    De korting die is toegepast op de winkelwagen of een orderregel in de afgebroken checkout.
    discounts
    Een lijst met kortingen die zijn toegepast op de checkout.
    successfully_applied_discounts
    De kortingen die met succes zijn toegepast op de checkout.
    discounts_amount

    Het kortingsbedrag dat door alle kortingen wordt toegepast.

    Voorbeeld: +€ 5,00

    discounts_savings

    Het totale bespaarde bedrag dankzij alle kortingen.

    Voorbeeld: -€ 5,00

    buyer_accepts_marketing
    Geeft
    true
    of
    false
    afhankelijk van of de klant marketing heeft geaccepteerd tijdens de afgebroken checkout.
    subtotal_line_items
    De orderregels die worden gebruikt om het subtotaal bij de checkout te berekenen, exclusief eventuele orderregels voor fooi.
    requires_shipping
    Geeft
    true
    als er minstens één artikel in de checkout is waarvoor verzending is vereist.
    subtotal_price
    Het subtotaal van de orderregels bij de checkout.
    email
    De e-mail die aan de afgebroken checkout is gekoppeld.
    shop_name
    De naam van je winkel.
    tax_lines

    De belastingen uitgesplitst per belastingtype:

    {% for tax_line in tax_lines %}
    {{ tax_line.title }} ({{ tax_line.rate_percentage }}%) : {{ tax_line.price | money_with_currency  }}
    {% endfor %}
    tax_price
    De gecombineerde belastingen van alle artikelen in de checkout.
    attributes

    Alle attributen die aan de afgebroken checkout waren gekoppeld.

    Voorbeeld: {{ attributes.gift-note }}

    shipping_method
    Informatie over de eerste verzendmethode die beschikbaar is bij de checkout.
    shipping_methods
    De verzendmethoden die beschikbaar zijn bij de checkout.
    free
    Geeft
    true if the total price of the checkout is zero.
    free_shipping
    Geeft
    true
    als voor de checkout geen verzending is vereist, of als de verzendkosten nul zijn.
    different_billing_address
    Geeft
    true
    of
    false
    afhankelijk van of het bezorgadres hetzelfde is als het factuuradres.
    customer
    Het klantobject met de attributen van de klant-output.
    gift_cards
    De cadeaubonnen die zijn toegepast op de checkout.
    gift_cards_amount
    Het bedrag van de checkoutprijs dat met cadeaubonnen zou worden betaald.
    transactions
    De transacties van de checkout.
    shareable_url
    De URL van het eerste product in de orderregels.
    shareable_title
    De producttitel van de eerste orderregel.
    total_tip
    De totale fooi die de klant bij de checkout heeft toegevoegd.
    discount_applications
    Beschrijft waarom en hoe een artikel werd afgeprijsd in de checkout.
    cart_level_discount_applications
    De kortingstoepassingen die specifiek zijn voor de winkelwagen.
    currency
    De valuta van de afgebroken checkout.
    line_items_subtotal_price
    De som van de prijzen van alle orderregels van de checkout, nadat eventuele orderregelkortingen zijn toegepast.

    Liquid-variabelen voor e-mails over verlaten pagina's en verlaten winkelwagens

    De variabele abandoned_visit.* wordt alleen ingevuld als een e-mail deel uitmaakt van een marketingautomatisering voor een verlaten winkelwagen of verlaten productpagina. Bekijk de volgende eigenschappen waartoe deze variabele toegang geeft.

    Beschrijving van ondersteunde Liquid-variabelen van Shopify Messaging
    VariabeleBeschrijving
    abandoned_visit.*

    Deze variabele geeft toegang tot de volgende eigenschappen van een verlaten winkelwagen of pagina:

    • url geeft de URL van de verlaten winkelwagen of pagina weer.
    • products_added_to_cart geeft de eerste vijf productorderregels weer die aan de winkelwagen van het verlaten bezoek zijn toegevoegd. Daarnaast bevat elk products_added_to_cart -object de volgende eigenschappen over elk product:
      • title
      • image_url
      • variant_title
      • quantity
    • products_viewed geeft de eerste vijf producten weer die tijdens het verlaten bezoek zijn bekeken. Daarnaast bevat elk products_viewed -object de volgende eigenschappen over elk product:
      • title
      • description
      • image_url
      • url
      • image_alt_text
    • remaining_cart_products_count geeft het aantal resterende orderregels weer, als er meer dan vijf orderregels in de afgebroken checkout zijn.

    Vereiste variabelen gebruiken

    Wanneer je een aangepaste Liquid-e-mail aanmaakt, is de variabele unsubscribe_link of unsubscribe_url vereist. Als je 'Openen van e-mails volgen' hebt geactiveerd, is de variabele open_tracking ook vereist.

    Hoewel deze variabelen overal in de code voor je e-mail kunnen worden ingevoegd, worden ze het vaakst toegevoegd in de voettekst van een e-mail, zoals in het volgende voorbeeld:

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

    Voorbeeld van aangepaste Liquid-code

    Je kunt je aangepaste Liquid- of HTML-code toevoegen in de code-editor. De volgende code is een voorbeeld van hoe je Liquid-code kunt toevoegen om je winkelnaam, een aangepaste knop en een afbeelding van een aangepast formaat weer te geven in een e-mailbericht.

    <!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>