RD2 office
 
 

The guide to Klaviyo dynamic email templates

Klaviyo templates are where email programs either scale or stall. A good template makes every campaign faster and more consistent. A dynamic template goes further: it adapts to each subscriber automatically, so the same design produces the right email for everyone.

This guide covers Klaviyo dynamic email templates end to end: what Klaviyo does natively, how to build dynamic content into reusable templates, and how Alterable adds the open-time layer Klaviyo doesn't cover.

What a dynamic template is

A static template is a layout with fixed content you edit each time. A dynamic template contains logic and variables: it knows to show a first name, to hide a section from certain customers, to pull products from a catalog, or to display a live countdown. You build it once, and the content adapts per subscriber, per send, or even per open.

Native Klaviyo building blocks

Template tags

Klaviyo's tags insert profile data into content: {{ first_name }}, {{ person.city }}, and any custom property. Filters refine them, like a default for missing values or urlencode for values used in links. Remember that property names are case sensitive.

Show/hide logic

Each block can have display conditions, so one template serves several audiences. New and returning customers, regions, tiers, and preferences can all see different sections from the same template.

Product and catalog blocks

Product blocks pull items from your synced catalog, including recommendations based on each profile. In flows, they can show items from the triggering event, like an abandoned cart.

Universal content

Universal content blocks are saved blocks you can reuse across emails. Edit the universal block once and it updates everywhere it's used. It's the backbone of a maintainable template system: headers, footers, loyalty modules, and promo banners all work well as universal content.

Saved templates

Save complete email layouts as templates for campaigns and flows. Combine them with universal content so shared pieces stay consistent.

What native templates can't do

Everything above is decided when the email is sent. It's excellent for choosing what each subscriber sees. It can't keep content correct after sending. A countdown in text goes stale. A price or stock level reflects send time. A loyalty balance is a snapshot. And Klaviyo can't draw a subscriber's values into designed artwork. Personal data appears as text, not inside images.

That's where Alterable fits.

Adding Alterable to Klaviyo templates

Alterable generates content as an image at the moment each email is opened. Countdown timers, personalized images, dynamic product blocks, store maps, one-click surveys, and scratch cards are each delivered as one image tag. In Klaviyo, you paste that tag into an HTML block.

Build it into a universal block

  1. Create the content in Alterable, with variables, rules, and fallbacks.
  2. Copy the embed and replace placeholders with Klaviyo tags, like {{ first_name|default:'there' }} or {{ person.loyalty_points }}.
  3. In Klaviyo, add an HTML block, paste the embed, and save it as universal content.
  4. Drop that universal block into any template or email.

Now you have a dynamic module your whole team can reuse. Update the design in Alterable and every email using it updates on the next open. Update the universal block in Klaviyo and every future email picks up the change.

A dynamic template system that works

Here's a structure many brands use.

A personalized header, stored as universal content, holds an Alterable image with the subscriber's name and loyalty tier. A promo module holds an Alterable countdown timer plus show/hide logic for customer type, with an expired state that points late openers to new arrivals. The product area combines Klaviyo's catalog block for recommendations with an Alterable dynamic product block where live price and stock matter. A local module holds an Alterable store map, shown only to subscribers in regions with stores. And a feedback footer holds an Alterable one-click survey for post-purchase templates.

Each module is built once and reused everywhere. Campaigns become a matter of choosing modules and writing copy.

Testing dynamic templates

Klaviyo's Preview & test lets you view the email as any profile. Test a complete profile, one missing each property you use, and, for flow templates, a profile with a real event. Check every show/hide combination. Confirm Alterable images use their fallbacks correctly. And view on mobile and in dark mode before sending.

Keeping templates healthy

Name universal blocks clearly so your team knows what each does. Document which profile properties each module depends on. When Klaviyo properties change names, update the tags, since mismatches fail silently. And if you still use source-code editing inside text blocks, move that code into HTML blocks, as Klaviyo is retiring source editing in text-type blocks.

Getting started

Start with one module, like a personalized loyalty header or a promo countdown, and add it to your main template. Once your team sees it working, the rest of the system tends to build itself.