Tilpass Shopify Email-kampanjer med Liquid
Liquid er Shopifys enkle og brukervennlige programmeringsspråk, og er det samme programmeringsspråket som brukes for å bygge temaer fra Shopify Theme Store.
Du kan bruke egendefinert Liquid for å forbedre Shopify Email-meldingene ved å opprette en helt egendefinert kodet e-postmelding, eller ved å legge til en egendefinert Liquid-seksjon i en mal. Ved hjelp av disse alternativene kan du legge inn egendefinert Liquid eller HTML-kode.
Du kan bruke egendefinert Liquid til å vise egendefinerte ressurser som bilder side-ved-side, egendefinerte knapper, bilder med egendefinert størrelse og egendefinerte seksjonsstørrelser.
På denne siden
Hensyn
Gå gjennom følgende hensyn før du begynner å legge til egendefinert Liquid i Shopify Email-meldinger:
- Variablene du inkluderer i koden må støttes av egendefinert Liquid.
- Du kan bare bruke en datamaskin til å opprette en seksjon for egendefinert Liquid-kode.
- Variabelen
unsubscribe_link
ellerunsubscribe_url
kreves i tilpassede Liquid-e-poster. Hvis du har aktivert sporing av åpnede, er også variabelenopen_tracking
obligatorisk. Finn ut mer om å legge til nødvendige variabler i e-postmeldinger. - Koden du angir har følgende grenser: - Maksimalt 50 kilobyte (KB) for egendefinerte Liquid-seksjoner. - Maksimalt 500 KB for egendefinerte Liquid-e-postmeldinger.
Liquid-variabler som støttes i egendefinert Liquid
Du kan bruke støttede variabler for å tilpasse e-postmeldinger med Liquid i Shopify. Du kan gå gjennom listene over støttede Liquid-variabler for følgende typer maler:
- Alle e-postmaler
- e-postmaler for forlatte betalingsprosesser
- e-postmaler for forlatte søk og handlekurver
Liquid-variabler som støttes for alle e-postmaler
Du kan bruke følgende variabler til å tilpasse en Shopify-e-postmelding med Liquid.
Variabel | Beskrivelse |
---|---|
all_products | Alle produkter i butikken. |
customer.accepts_marketing | Returnerer sann om kunden godtar markedsføring, og returnerer usann om ikke. |
customer.addresses | Returnerer alle adressene tilknyttet kunden. |
customer.addresses_count | Returnerer antall adresser tilknyttet kunden. |
customer.b2b? | Returnerer sann hvis kunden er B2B-kunde, og returnerer usann om ikke. |
customer.current_location | Returnerer kundens valgte bedriftslokalisasjon. |
customer.default_address | Returnerer kundens standardadresse. |
customer.email | Returnerer kundens e-postadresse. |
customer.first_name | Returnerer kundens fornavn. |
customer.has_account | Returnerer sann hvis kundens e-post er tilknyttet en kundekonto, og returnerer usann om ikke. |
customer.has_avatar? | Returnerer usann hvis kunden har en avatar tilknyttet kontoen sin, og returnerer usann om ikke. |
customer.id | Returnerer ID-en til kunden. |
customer.last_name | Returnerer kundens etternavn. |
customer.last_order | Returnerer siste bestilling fra kunden, ikke inkludert testbestillinger. |
customer.name | Returnerer kundens fulle navn. |
customer.orders | Returnerer alle bestillinger som kunden har lagt inn. |
customer.orders_count | Returnerer totalt antall bestillinger en kunde har lagt inn. |
customer.payment_methods | Returnerer kundens lagrede betalingsmåter. |
customer.phone | Returnerer kundens telefonnummer. Telefonnummeret fylles kun ut dersom kunden har brukt et telefonnummer i kassen, har registrert seg for SMS-varsler, eller hvis du manuelt har lagt det til kundens konto. |
customer.store_credit_account.balance |
Returnerer kundens butikkvalutasaldo i valutaen knyttet til den relevante konteksten. For eksempel:
|
customer.tags | Returerner taggene tilknyttet kunden. |
customer.tax_exempt | Returnerer sann om kunden er fritatt fra avgifter, og returnerer usann om ikke. |
customer.total_spent | Returnerer det totale beløpet kunden har brukt på alle bestillinger fra butikken din. |
email.* |
Denne variabelen gir tilgang til følgende e-postegenskaper: subject viser emnefeltet for e-postmeldingen.preview_text viser forhåndsvisningsteksten for e-postmeldingen. |
open_tracking | Denne variabelen gir tilgang til den forhåndsformaterte åpningssporingsblokken . Denne variabelen er obligatorisk hvis du oppretter en egendefinert kodet e-post og har aktivert åpen sporing. |
shop.* | Denne variabelen gir tilgang til følgende butikkegenskaper:
name viser butikkens navn.domain viser butikkens primære domene.url viser butikkens URL-adresse.shopify_domain viser butikkens Shopify-domene.
|
unsubscribe_url | Denne variabelen gir tilgang til den rå URL-adressen for avmelding, og den kan tilpasses. Hvis du oppretter en e-post med egendefinert kode, må du inkludere variabelen unsubscribe_url eller unsubscribe_link . Både unsubscribe_url og unsubscribe_link vil alltid peke til det primære nettbutikkdomenet og kan ikke endres for å styres andre steder. |
Liquid-variabler som støttes for e-postmeldinger for forlatt kasse
Du kan bruke følgende variabler til å tilpasse e-postmeldinger for forlatt kasse i Shopify med Liquid.
Variabel | Beskrivelse |
---|---|
abandoned_checkout.* |
Denne variabelen gir tilgang til følgende egenskaper for en forlatt kasse:
|
id(checkout ID) | En unik ID for kassen for intern bruk. |
shop | Ditt Shopify-butikknavn. |
name | Navnet på den forlatte kassen, også kalt kassenummer. |
total_price | Totalprisen for bestillingen (delsum + fraktkostnad – fraktrabatt + avgift). |
shipping_price |
Fraktprisen. Eksempel |
shipping_address | Leveringsadressen. |
billing_address | Fakturaadressen. |
line_items | En liste over alle varelinjer i den forlatte kassen. |
unavailable_line_items | En liste over alle varelinjer i den forlatte kassen som ikke er tilgjengelig. |
note | Merknaden som er knyttet til den forlatte kassen. |
landing_site |
Banen til målsiden kunden brukte. Dette er den første siden kunden åpnet da de kom til butikken. Eksempel: |
landing_site_ref |
Trekker ut en referanseparameter fra målsiden. Referanseparametre kan være: Hvis {% if landing_site_ref == 'my-tracking-token' %} Min handling ... {% endif %} |
referring_site |
URL-adressen til referenten som sendte kunden til butikken. Eksempel: |
created_at | Datoen og klokkeslettet kunden opprettet kassen de forlot. |
closed_at | Datoen og klokkeslettet da kassen ble lukket. |
customer_locale | Språkkoden på to eller tre bokstaver for kundens lokale innstillinger, alternativt etterfulgt av en regionmodifikator. For eksempel nb, en-CA |
item_count | Summen over alle vareantallene. |
unique_gateways | En liste over unike betalingsleverandører som er tilgjengelige i kassen. |
discount | Rabatten som gjelder for handlekurven eller en varelinje i den forlatte kassen. |
discounts | En liste over rabatter som er brukt for kassen. |
successfully_applied_discounts | Rabattene som er lagt til i kassen. |
discounts_amount |
Dollarbeløpet for rabatten som er lagt til for alle rabatter. Eksempel: +$5,00 |
discounts_savings |
Dollarbeløpet i besparelser forårsaket av alle rabatter. Eksempel: -$5.00 |
buyer_accepts_marketing | Returer sanneller usannavhengig av om kunden godtok markedsføring under den forlatte kassen. |
subtotal_line_items | Varelinjene som brukes til å beregne delsummen i kassen, ekskludert eventuelle tipslinjer. |
requires_shipping | Returer sannhvis det er minst én vare i kassen som krever frakt. |
subtotal_price | Delsummen for varelinjene i kassen. |
E-postadressen knyttet til den forlatte kassen. | |
shop_name | Navnet på butikken din. |
tax_lines |
Avgifter brutt ned på type avgift: {% for tax_line in tax_lines %} {{ tax_line.title }} ({{ tax_line.rate_percentage }}%) : {{ tax_line.price | money_with_currency }} {% endfor %} |
tax_price | Kombinerte avgifter for alle varer i kassen. |
attributes |
Eventuelle attributter knyttet til den forlatte kassen. Eksempel |
shipping_method | Informasjon om den første fraktmetoden som er tilgjengelig i kassen. |
shipping_methods | Leveringsmetodene som er tilgjengelige i kassen. |
free | Returer sann hvis totalprisen i kassen er null. |
free_shipping | Returer sannhvis kassen ikke krever frakt, eller hvis prisen for frakt er null. |
different_billing_address | Returer sanneller usannbasert på hvorvidt leveringsadressen er den samme som fakturaadressen. |
customer | Kundeobjektet som inneholder attributtene for utdataen fra customer. |
gift_cards | Gavekortene som er lagt til i kassen. |
gift_cards_amount | Beløpet for kasseprisen som ville vært betalt med gavekort. |
transactions | Transaksjonene i kassen. |
shareable_url | URL-adressen for det første produktet i varelinjene. |
shareable_title | Produkttittelen for den første varelinjen. |
total_tip | Det totale tipsbeløpet som kunden la til i kassen. |
discount_applications | Beskriver hvorfor og hvordan en vare ble rabattert i kassen. |
cart_level_discount_applications | De handlekurvspesifikke rabattbrukene for handlekurven. |
currency | Valutaen for den forlatte kassen. |
line_items_subtotal_price | Summen av prisene for alle varelinjer i kassen, etter at eventuelle varelinjerabatter er lagt til. |
Liquid-variabler for e-poster om forlatt kikking og forlatt handlekurv
Variabelen abandoned_visit.*
er bare utfylt hvis en e-postmelding er en del av en markedsføringsautomasjon for forlatt handlekurv eller forlatt kikking på produkter. Se gjennom følgende egenskaper som denne variabelen gir tilgang til.
Variabel | Beskrivelse |
---|---|
abandoned_visit.* |
Denne variabelen gir tilgang til følgende egenskaper for en forlatt handlekurv eller et forlatt besøk:
|
Bruke nødvendige variabler
Når du oppretter en egendefinert Liquid-e-postmelding, er variabelen unsubscribe_link
eller unsubscribe_url
obligatorisk. Hvis du har aktivert sporing av åpnede, er også variabelen open_tracking
obligatorisk.
Selv om disse variablene kan legges inn hvor som helst i koden for e-postmeldingen, er det vanligst å legge dem inn i bunnteksten i e-postmeldingen, som i følgende eksempel:
<div id="footer">{{ unsubscribe_link }} {{ open_tracking_block }}</div>
Eksempel på egendefinert Liquid-kode
Du kan legge til egendefinert Liquid eller HTML i redigeringsprogrammet for kode. Følgende kode er et eksempel på hvordan du kan legge til Liquid-kode for å vise butikknavn, en tilpasset knapp og et bilde med egendefinert størrelse i en e-postmelding.
<!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>