Subject line and preview text
Before anyone opens your email, they see three things in their inbox: who it is from, the subject, and the preview text. Two of those are set on the layout.
Acme Store
Your order #1024 has shipped
Track your parcel - arriving Thursday, no signature needed
The third line is the preview text. Most merchants leave it empty, and the email client then grabs whatever text happens to come first in the email - often "View in browser", an image's alt text, or an unsubscribe line.
Subject
Set on every layout, required. Supports {{ variables.xxx }} and {{ secrets.xxx }}, so you can include the order number or the customer's name:
Your order {{ variables.orderName }} has shipped
Give optional values a fallback so a blank never reaches a customer:
Hi {{ variables.firstName | default: "there" }}, your order is on its way
Keep it under roughly 50 characters if you can - mobile clients truncate beyond that.
Preview text
The Preview text field sits directly under the subject in both the visual builder's General tab and the rich text / HTML editor.
It supports exactly the same Liquid as the subject, so it can carry dynamic detail:
Arriving Thursday - track parcel {{ variables.trackingNumber }}
Aim for 40-100 characters. Clients differ on how much they show; the field caps at 200.
Where it appears
The preview text is added to the email as a hidden block at the very top of the body. Recipients see it in the inbox list, but it is invisible when they open the message - so it never appears twice or interferes with your design.
Behind that hidden block the app adds invisible padding characters. Without them, clients pull the first real text of your email in after your preview line, and merchants end up with inbox entries reading "Track your parcel View in browser Unsubscribe".
Writing a good one
The subject and the preview text are read together, so do not repeat yourself.
| Subject | Preview text | |
|---|---|---|
| Weak | Your order has shipped | Your order has shipped |
| Better | Your order has shipped | Arriving Thursday - no signature needed |
Add the detail that makes someone open it: the delivery date, the amount, what to do next.
Preview text is not the Description
This one catches people out, so it is worth being explicit.
| Field | Who sees it | What it is for |
|---|---|---|
| Subject | The recipient | The email's subject line |
| Preview text | The recipient | The inbox line after the subject |
| Description | Only you, in this app | An internal note to tell layouts apart in your list |
Description never leaves the app. If you have been writing customer-facing copy there, move it to Preview text.
Checking it
The on-page preview does not show inbox text, because that is the mail client's rendering rather than the email's. To check it:
- Use Send test email from the layout.
- Look at your inbox list view - do not open the message.
- Confirm the line after the subject reads the way you intended.
On a phone, check both the notification and the list, since they truncate differently.
If your preview text contains a variable, remember that a test send uses your Test Variables, not Flow's. See Passing data from Shopify Flow.
Related
- Build an email layout - the rest of the layout.
- Passing data from Shopify Flow - supplying dynamic values.
- Email deliverability - making sure it reaches the inbox at all.

