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.
Op deze pagina
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_linkofunsubscribe_urlis vereist in aangepaste Liquid-e-mails. Als je het openen van e-mails hebt geactiveerd, is de variabeleopen_trackingook 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:
- Alle e-mailtemplates
- E-mailtemplates voor verlaten checkouts
- E-mailtemplates voor verlaten browse-sessies en verlaten winkelwagens
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.
| Variabele | Beschrijving |
|---|---|
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.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.
|
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.
| Variabele | Beschrijving |
|---|---|
abandoned_checkout.* | Deze variabele geeft toegang tot de volgende eigenschappen van een afgebroken checkout:
|
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_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: |
landing_site_ref |
Extraheert een verwijzingsparameter van de landingspagina. Verwijzingsparameters kunnen zijn: Als de {% 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: |
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 trueof falseafhankelijk 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 trueals er minstens één artikel in de checkout is waarvoor verzending is vereist. |
subtotal_price | Het subtotaal van de orderregels bij de checkout. |
| 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: |
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 trueals voor de checkout geen verzending is vereist, of als de verzendkosten nul zijn. |
different_billing_address | Geeft trueof falseafhankelijk 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.
| Variabele | Beschrijving |
|---|---|
abandoned_visit.* | Deze variabele geeft toegang tot de volgende eigenschappen van een verlaten winkelwagen of pagina:
|
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>