We use cookies to improve your experience and analyze site traffic. By clicking "Accept", you consent to our use of cookies. See our Privacy Policy for details.

Email Template Troubleshooting

Fix common problems with customized reader emails — missing buttons, blank names, templates not being used, and save errors.

Email Template Troubleshooting

For how templates work, see Customizing Reader Email Templates.

Readers are still getting the default email

  • The switch is off. Open the template: if it says "Using default system template" (or the list shows Inactive), turn the switch on and click Save Template.

  • That email can't be customized. Only the ten emails listed on the Email Templates page use your version. Activation and password-reset emails always use ZenFlip's built-in version.

  • For New Issue Published: a reader who unsubscribed from these emails won't get it, and it's only sent the first time a publication is published.

The Editor tab can't keep an email's layout — editing there turns styled buttons into plain links and can move {{#if readUrl}} blocks away from the button.

  1. Click Reset to Default (this removes your customized version of that email).

  2. Open the template again and make your changes in the HTML tab.

  3. Check the Preview tab, switch the template on, Save Template, then Send Preview to Me.

If you had saved a customized version before September 2026, it may also be missing the button, the reader's name and the unsubscribe link — resetting and re-customizing fixes that too.

  • Spelling or capitals. Variables are case-sensitive: {{readerName}}, not {{ReaderName}} or {{reader_name}}. Copy them from Available Variables.

  • The variable doesn't belong to that email. Each email has its own list — for example {{publicationTitle}} is empty in Reader Welcome.

  • It's empty for that reader. Names, invoice links and expiry dates aren't always available. Wrap them: Hi{{#if readerName}} {{readerName}}{{/if}},

"Invalid Handlebars template" when saving

Something in the template doesn't match up. Check that:

  • every {{#if …}} has a closing {{/if}} (and {{#unless …}} has {{/unless}});

  • every {{ has a closing }} — e.g. {{readerName}}, not {{readerName};

  • blocks close in the right order — an {{#if}} opened inside another one closes first.

The message includes the line where Handlebars got confused. Nothing is saved until it's fixed. The same check applies to the Subject Line.

The preview email looks different from what I expected

  • Send Preview to Me saves your changes, then emails you a sample. If the switch is off, the preview is the default email.

  • Sample values are used ("Jane Reader", "Sample Publication", example links), not a real reader's details.

  • Previews come from ZenFlip's standard sender, even if you've set up your own email domain. Real emails use your domain.

  • The Preview tab shows every {{#if}} as true — your {{else}} wording only appears for real recipients it applies to.

Readers say the email told them the issue is in their library, but they hit a paywall

New Issue Published goes to readers who have anything from you in their library — not only those who own the new issue. ZenFlip's default wording already handles this. In a customized version, use:

{{#if hasAccess}}It's already in your library.{{else}}Take a look inside.{{/if}}

My organization name, logo or the year is out of date

Your organization's name and logo are written into the template when you first open it, so later branding changes don't reach an already-customized template — edit it or reset and customize again. The year should be {{year}} so it updates by itself; templates customized before September 2026 may have a fixed year typed in — replace it with {{year}}.

The email looks broken in Outlook or Gmail

Email apps ignore most CSS. Use <table> layouts and inline style="…" attributes, keep it about 600px wide, and use full https:// image links. Starting from ZenFlip's default design in the HTML tab is the safest route.

Emails land in spam

Set up your own sending domain under Settings → Email Domain so emails come from your brand's address.