Skip to content

Klaviyo integration

Klaviyo HTML email templates, checked before they land

Build the email in code or on a canvas, run QA against Klaviyo’s rules, and push a Klaviyo code template for every language in one step.

Start Building Free

What lands in Klaviyo

Publish creates a Klaviyo code template for each language you select. You find it in Templates in Klaviyo, ready to use in a campaign or a flow email. Names follow a pattern such as {Template}_{LOCALE}, so October_update becomes October_update_EN and October_update_DE. You can rename each one in the dialog.

Pushing again updates the template with the same name instead of adding a copy. Connecting takes a Klaviyo private API key. Sending, lists and scheduling stay in Klaviyo.

Checked against Klaviyo before the push

Once Klaviyo is your active ESP, the email template checker reads every language with Klaviyo’s syntax in mind. A missing unsubscribe tag is a blocker, not a footnote.

Unsubscribe tag
Looks for {% unsubscribe %} or {% unsubscribe_link %}. Missing means a blocker. Present but hidden or tiny is flagged as high risk.
Merge tags
Klaviyo tags such as {{ first_name }} are left alone. A tag written for a different ESP is flagged, because Klaviyo would print it as text.
Dead links
Every link is requested. Klaviyo click-tracking links (klclick.com) are skipped, so tracking does not show up as a false 404.
Leftover tokens
A {{locale.*}} or {{theme.*}} token that did not resolve is a blocker. It would reach Klaviyo as raw text.
Publish to Klaviyo dialog: naming pattern October product update_{LOCALE} and four selected languages.Publish to Klaviyo dialog: naming pattern October product update_{LOCALE} and four selected languages.

One HTML file, one Klaviyo template per language

The layout lives in one Shared HTML file. Copy, links, images and the subject change per language through {{locale.key}} tokens, edited in a grid or imported from Excel. That workflow has its own page: HTML email localization.

Compile turns each language into plain HTML. Publish then sends each one to Klaviyo as its own template. Fixing a link in the shared file fixes it in every language on the next push.

A code template, so Klaviyo keeps your HTML

The push creates a template in Klaviyo’s code editor, not in the drag-and-drop editor. Klaviyo does not rebuild your layout into its own blocks.

Klaviyo tags such as {{ first_name }}, {% if %} blocks and {% unsubscribe %} pass through Compile untouched. Klaviyo fills them for each profile when the email sends.

Questions

Can I use the pushed template in a flow?

Yes. It is a regular Klaviyo template, so you can pick it in a campaign or in a flow email.

Does EmailStitch send through Klaviyo?

No. It pushes the template. Lists, segments, flows and sending stay in Klaviyo.

What if I am not on Klaviyo yet?

Download ZIP gives you the compiled HTML for every language, with nothing EmailStitch-specific inside. Push to any of the six supported ESPs later.

Push your next Klaviyo template from one file

Create an account. Shared HTML, translations, QA, and ESP push in one workspace.

Start Building Free