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 FreeWhat 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.


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.
Related
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