Supported content
Campaigns and journeys
Hyperlocalise localizes templates and snippets in the table above. It does not import campaign or journey definitions, embedded messages, or WhatsApp templates. When a campaign sends email, in-app, push, or SMS content, the send uses a template. Translate that template here, push the approved locales, then in Iterable attach the updated template—or the new WYSIWYG copy after a drag-and-drop push—to the campaign or journey step. Hyperlocalise does not retarget campaigns for you.How locales work
Iterable stores each language as a locale on the same email, in-app, push, or SMS template. At send time Iterable picks the copy whose locale matches the user profile field namedlocale. Hyperlocalise does not change user profiles.
Snippets have one body and no locale. A translation is a second snippet whose name ends with _{locale}.
Add each locale code under Iterable Project Settings before you push. Iterable cannot create a locale code for you.
Prerequisites
Connect Iterable
- Open workspace Integrations and find Iterable.
- Paste the server-side API key and choose the data center for that project.
- Save. Hyperlocalise lists templates on that host to confirm the key. A rejected key or unreachable host is not stored.
- Confirm the connection shows as connected.
Translate templates and snippets
Step 1: Set up locales in Iterable
- Open the Iterable project Project Settings.
- Add a locale code for each language you will write back.
- Leave the project default locale on the language of the template you will import.
Step 2: Match project locales
Create or choose a native project whose locale tags match those codes.- Set the project source locale to the language of the default template copy.
- Add a project target locale for each Iterable locale you will write back.
- Use the same tag as the Iterable locale code (
fr-FRmatchesfr-FR). Matching is exact after hyphen and underscore normalization. There is no language fallback:esdoes not map toes-MX, andfrdoes not map tofr-FR. - Keep locked pairs on separate projects or omit the unused tag:
en-USis noten-GB,zh-CNis notzh-TW, andptis notpt-BR.
Step 3: Create the automation
- Open workspace Automations and select New Automation.
- Apply the Translate Iterable templates and snippets template from Popular or Marketing, or add that skill from Add Skill.
- Attach the native project from Step 2.
- Choose a scheduled or manual trigger. A schedule imports changed templates and snippets. It does not push translations.
- Under Iterable, select the email, in-app, push, and SMS templates and the snippets to sync. Leave the lists empty to discover all five.
- Set Source locale (usually the project source). It must be the same language as the project source locale.
- Set Existing translations: Only empty locales (default), Refresh imported locales, or Overwrite all locales.
- Save the automation.
Step 4: Import
Run now, wait for the schedule, or choose Ingest. Import writes:{{ snippet "…" }}, stay protected so a translation does not break personalization.
Only empty locales never overwrites work already in Hyperlocalise. A later import still checks mapped locales when you change a sentence in Iterable.
Import does not write to Iterable.
Step 5: Review and push
- Translate and approve the mapped locales you want to write back.
- Open an Iterable file in the Content editor. The header shows Ingest and Push to Iterable for that file. Push to Iterable writes the files you select, and the open file is selected by default.
- Open Run History for imported, skipped, and failed items.
- WYSIWYG or side-by-side template. Push updates that template’s locale. The next send can use it. Iterable has no draft for that write.
- Drag-and-drop email or in-app template. Drag-and-drop templates cannot be updated in place through the API. Hyperlocalise creates one new WYSIWYG template and writes the locales there. Later pushes update that same copy. The drag-and-drop original stays unchanged. In Iterable, select the new template on the campaign before the localized copy can send.
- Snippet. Push creates or updates
{snippet-name}_{locale}. A template that calls{{ snippet "Welcome_Banner" }}still renders the original snippet until you change that reference. - In-app inbox. After push, open the locale in Iterable and turn Show in mobile inbox back on if that option was set on the source.
Change or remove access
Disconnect Iterable from Integrations when this workspace should stop using that Iterable project. Inspect automations that depend on the connection before you disconnect. After you reconnect, confirm the data center still matches. If the template list is empty, confirm the server-side API key, the data center, and that you completed the connection. See Connection troubleshooting.If import or push does not run
- Confirm Iterable is connected and the automation is Active.
- Confirm the data center is the one that hosts the Iterable project.
- Confirm you added locale codes under Project Settings, and that project locale tags match those codes exactly.
- If Push to Iterable or Ingest is missing, open an Iterable file. Those actions stay hidden on other files. Approve at least one mapped locale, confirm you can manage automations, and wait until any in-progress push finishes.
- If an in-app message no longer appears in the mobile inbox, re-enable Show in mobile inbox on that locale.
- If a drag-and-drop campaign still sends the source language, select the new WYSIWYG template on the campaign. Push does not retarget campaigns.
- Open Run History for the failed template, snippet, or locale.

