Customizing Reader Email Templates
Rewrite the emails your readers get — purchase receipts, welcome, subscription and new-issue emails — with your own subject lines, wording and design.
Customizing Reader Email Templates
ZenFlip sends your readers automatic emails — a receipt when they buy, a welcome when they sign up, reminders about their subscription, and an announcement when you publish a new issue. You can rewrite any of these with your own subject line, wording and design. Your version is used for your organization only.
Who can do this: owners and admins, on the Business plan and above.
Where: in the dashboard's left sidebar, under Commerce, click Email Templates (it opens Settings → Email Templates).
The emails you can customize
Only these ten reader emails can be customized. Account emails such as activation and password reset always use ZenFlip's built-in version.
When it's sent | Variables you can use | |
|---|---|---|
Purchase Confirmation | A reader buys a single publication |
|
Reader Welcome | A new reader creates an account on your storefront |
|
Subscription Activated | A reader starts a subscription |
|
Subscription Expiring | 7 days before a subscription expires |
|
Subscription Expired | A subscription has expired |
|
Subscription Cancelled | A reader cancels their subscription |
|
Access Granted | A reader gets access through an access code or a gift |
|
Collection Purchase Confirmation | A reader buys a collection |
|
Cart Purchase Confirmation | A reader buys several items in one checkout |
|
New Issue Published | The first time you publish a publication — sent to your existing readers |
|
Variables marked (may be empty) can be missing for some readers — for example a reader who never entered a name, a free grant with no invoice, or access that never expires. Wrap these in {{#if …}} (see below) so the email still reads well without them.
Variable names are case-sensitive: {{readerName}} works, {{ReaderName}} prints nothing.
What the values look like
Amounts arrive already formatted with the currency, e.g.
$9.99or₹623.Dates arrive already formatted, e.g.
September 15, 2026.Links (
readUrl,storefrontUrl,renewUrl,collectionUrl,libraryUrl,invoiceUrl) point to your storefront — including your custom domain if you have one. Always use the variable rather than pasting a fixed link.Has access:
hasAccess(New Issue Published only) is true when that reader can already read the full issue — they bought it, subscribed, or it's free.Year:
yearis the current year, filled in on every send.
The editor
Click a template in the list to open it. A template in the list shows Customized when your version is live, Inactive when you've saved a version but it's switched off, and no badge when readers get the default.
The editor has, from top to bottom:
The on/off switch. "Custom template is active" means readers get your version. "Using default system template" means they get ZenFlip's built-in email, even if you've saved changes.
Available Variables. Click a variable to copy it, then paste it into the subject or the template.
Subject Line. The email's subject; the default is shown underneath. You can use variables here too, e.g.
New issue: {{publicationTitle}}.Template. The email body, with three tabs (described below).
Save Template, Send Preview to Me and Reset to Default buttons.
The three Template tabs:
Preview shows how the email will look, with sample values filled in. The editor opens here.
HTML is the email's actual HTML. Make design changes here.
Editor is a simple rich-text editor. It can't keep an email layout (tables, styled buttons, spacing): editing there turns buttons into plain links and can move
{{#if}}blocks to the wrong place. For designed emails use the HTML tab. A warning appears in the Editor tab when this applies.
When you open a template you haven't customized yet, it's pre-filled with ZenFlip's default design, already showing your organization's name and logo. Edit that rather than starting from scratch.
Step by step
Open Email Templates and click the email you want to change.
Change the Subject Line if you like.
Click the HTML tab and edit the wording or design. Keep the variables and
{{#if}}blocks you still want.Click Preview to check how it looks.
Turn the switch on ("Custom template is active").
Click Save Template.
Click Send Preview to Me and check the email in your inbox.
Writing templates: Handlebars basics
Templates use Handlebars. You only need three things.
Insert a value:
<p>Thanks for your purchase, {{readerName}}!</p>
Show something only when a value exists:
<p>Hi{{#if readerName}} {{readerName}}{{/if}},</p>
{{#if invoiceUrl}}<a href="{{invoiceUrl}}">Download your invoice</a>{{/if}}
Show one thing or another:
{{#if hasAccess}}<p>{{publicationTitle}} is already in your library.</p>{{else}}<p>{{publicationTitle}} is out now. Take a look inside.</p>{{/if}}
{{#unless x}}...{{/unless}} is the opposite of {{#if}}: its content shows when x is empty.
Rules that matter:
Blocks must match. Every
{{#if}}needs a matching{{/if}}, and every{{needs a closing}}. If something doesn't match, Save Template shows an "Invalid Handlebars template" message saying where, and nothing is saved until it's fixed.Values are made safe automatically. A reader name like
<b>Jo</b>shows as text, not bold. Don't use triple braces.Unlisted variables print nothing. A variable that isn't in that email's list is blank; for example
{{publicationTitle}}is empty in Reader Welcome.There are no formatting helpers (no date or currency functions). Values already arrive formatted.
A button that works in every email client
Email apps ignore most CSS, so style the button inline and keep it inside its {{#if}}:
{{#if readUrl}}<a href="{{readUrl}}" style="display:inline-block;padding:14px 36px;background:#4F46E5;color:#ffffff;text-decoration:none;font-weight:600;border-radius:8px;">Start Reading</a>{{/if}}
Change the background colour to match your brand.
Email-safe HTML tips
Lay emails out with
<table>s and inlinestyle="…"attributes.<style>blocks, external stylesheets and scripts are removed or ignored by many email apps.Keep the content about 600px wide.
Images need a full
https://address.Use web-safe fonts (Arial, Helvetica, Georgia) or accept a fallback.
Things worth knowing
The switch decides what readers get. Saving with the switch off stores your version as Inactive and readers keep getting the default.
Leaving a field empty uses the default. An empty Subject Line sends the default subject; an empty template sends the default body (with your custom subject, if you set one).
Your organization's name and logo are written into the template when you first open it. If you later rename your organization or change your logo, update your custom template — or reset it and customize again.
Send Preview to Me saves your changes first, then emails you a copy marked [PREVIEW] using sample values (e.g. "Jane Reader", "Sample Publication"). If the switch is off, the preview shows the default email. Previews come from ZenFlip's standard sender address, even if you've set up your own email domain.
The Preview tab shows the "everything present" version — every
{{#if}}shows its first branch. For New Issue Published that's the wording for readers who own the issue; other readers get your{{else}}wording.New Issue Published goes to readers who already have something from you in their library, the first time a publication is published (not on re-publish). Use
{{#if hasAccess}}so you only tell readers "it's in your library" when it really is. It's the only one of these emails with an unsubscribe link — keep the{{#if unsubscribeUrl}}block. Readers who unsubscribed don't receive it.Sender address: emails come from your own domain once you set it up under Settings → Email Domain; otherwise they come from ZenFlip's standard address.
Reset to Default permanently removes your customized version of that email and goes back to ZenFlip's built-in one.
Something not working? See Email template troubleshooting.