Skip to main content

I have about 30 campaigns and want to translate into 8 language. any shortest way to do that instead of cloning campaign each time and edit the text?

Hi ​@Bharani - This is a lot of work so thanks for your question. To effectively translate email marketing copy, you need a combination of professional translation, AI-powered tools, and potentially native speaker review. Consider using tools like SmartcatQuillBot, or Unbabel, combined with human post-editing, to ensure accuracy and cultural relevance. 


Hi @zacfromson – My problem isn’t translating the text. My problem is that I need to clone the campaign for each language and edit the text for each one. This will take many days. I want to know if there’s a faster way to do this within a day.


Hi ​@Bharani - Got it. For Klaviyo, there are a few ways to speed this up so you’re not spending days cloning campaigns and swapping text manually.

 

1. Use Klaviyo’s Campaign Duplication + Dynamic Language Logic

  • Duplicate the base campaign once and keep the layout/design intact.

  • Replace text areas with dynamic variables that pull in the correct language from profile properties or segments.

  • Example: 

{% if person.language == 'fr' %}

   Bonjour {{ first_name }}
{% elseif person.language == 'es' %}
   Hola {{ first_name }}
{% else %}
   Hello {{ first_name }}
{% endif %}

  • This lets you send one campaign to multiple languages without creating entirely separate campaigns

2. Build One Campaign, Send to Segments by Language

  • Create language-based segments in Klaviyo:

    • Language = French

    • Language = Spanish

    • etc.

  • Then, duplicate just once per segment, not per text edit.

  • Swap in the right language text for each segment copy.

  • This is still manual but much faster than full rebuilds for each campaign.

3. Use the Klaviyo API for Bulk Creation

  • If you have many campaigns to translate (e.g., for ongoing automations), the Klaviyo API can:

    • Duplicate a campaign programmatically.

    • Insert the translated content in the right spots automatically.

  • You could export all translations to a CSV/JSON, then have a script loop through and update each campaign.

4. External Translation & Import

  • If you’re already using a translation management tool, export your Klaviyo email HTML to them, translate, and re-import into clones via the API or Klaviyo’s template editor.

  • This cuts down the copy-paste time drastically.


Hi @zacfromson — Could you please explain more about how to use the Klaviyo API for bulk creation?
For example, if I have a campaign in English and want to create the same campaign in 8 other languages, will it automatically duplicate the campaign and translate the text?

The “External Translation & Import” method won’t work for me, because after using it, if I want to edit the campaign, I would have to edit the HTML code directly — and I prefer not to work with HTML code.

Thanks in advance for your help!


@Bharani - Great question, here is the short answer first:

  • No, Klaviyo’s API won’t auto-translate your content.

  • Yes, you can use the API (and a small script) to bulk-duplicate a campaign into 8 language variants without you hand-editing HTML. The script handles the duplication and swaps copy safely; you keep using Klaviyo’s visual editor for any last-mile tweaks.

Below is a practical, “copy-paste-and-adapt” workflow.

What the workflow looks like

  1. Start from a master campaign (English). You’ll read its content/template via API.

  2. Prepare your translations outside Klaviyo (no HTML editing).

    • Keep a translation table (CSV/Google Sheet/JSON) with keys, strings per language, e.g.: 

key, en, fr, es, de, it, nl, sv, pt, ja
headline, "Big Summer Sale", "Grande vente d’été", ...
cta, "Shop now", "Acheter", ...
body_1, "Thanks for being here...", …

  1. Tokenize your email once.

    In the master template, replace literal copy with lightweight tokens:

{{t.headline}}   {{t.body_1}}   {{t.cta}}

  • Do this once (you can paste tokens using the visual editor). The HTML layout stays the same.
  1. Your script does the work, not you.

    For each target language:

    • Duplicate the master template (or use the same template).

    • Replace the tokens with the language’s strings (programmatically, not by hand).

    • Create a new campaign for that language, set subject line + preview text, and attach the template/content.

    • Target a language segment (e.g., Language = "fr").

  2. Review in Klaviyo’s visual editor.

    Because the HTML structure never changed, you can still tweak images/blocks visually, no HTML editing required.


Hi ​@zacfromson - how to connect our csv file with master template?
 


Hi ​@Bharani,

This would be done via API, which involves sending code into and out of Klaviyo to pull information, and then push information into Klaviyo. If you’re not too experienced making API calls, it can be really daunting, and we might not be able to fully explain how to make this happen in-depth on a community forum, without seeing your setup itself, and doing some experimentation. That being said, Klaviyo has partnered with hundreds of awesome agencies with developers who can work with you. and make this happen for you. I’d recommend checking out our Partner Directory here, where you can match with a developer who can help accomplish your goal!