Skip to main content
A locale is a language plus an optional region tag (en, en-AU, es-MX). Spotzee uses locales to pick which template variant a user receives. Add the locales you’ll author content in, and Spotzee handles fallback automatically.
Locale management lives under Settings → Locales and requires the project admin role. The project default locale is set under Settings → General → Regional defaults.

Three layers of locale

Three different locale settings interact at send time:
  • Project default locale. The fallback used when nothing else matches. Set under Settings → General → Regional defaults.
  • Project locale catalogue. The list of locales you’ve added in Settings → Locales. Templates can have variants in any of these.
  • User locale. Carried on each user record. Set on creation, updated by syncs or events, or inferred from the user’s browser if you set it client-side via the SDK.

Add a locale

1

Open Settings → Locales

Inside the project, open Settings and pick the Locales tab.
2

Create a locale

Choose Create locale, then enter a locale key (en-AU, es-MX, zh-CN, and so on). The form previews the language name from the key as you type. Save.
3

Verify it lands in the list

The new locale appears in the table with its key and human-readable label.

Locale key format

Use a language code, optionally with a region, for predictable template matching. Common values include en, en-AU, es-MX, and zh-CN. The create form requires a value but does not enforce a specific locale format. Examples:
  • en matches any English speaker.
  • en-AU matches Australian English specifically.
  • es-MX matches Mexican Spanish specifically.
  • zh-CN matches Simplified Chinese (mainland China).
Use consistent capitalisation across users, project settings, and templates because exact matching compares the stored strings.

How locale fallback works

Send time: Spotzee picks a template variant for the user using this rule:
  1. Match the user’s locale exactly to a template variant.
  2. Try a variant with the same language as the user’s locale.
  3. Match the project default locale exactly, then by language.
  4. If none match, use the first available template.
A few worked examples: To support a wider audience, author at the language level (en, es) rather than the regional level (en-AU, es-MX). An exact regional match wins. Without one, Spotzee selects the first variant with the same language.

Set a user’s locale

User locales come from three places:
  • Sync time. When you upsert a user via POST /users/batch or PATCH /users, include a locale field.
  • Event time. Pass a locale in the user block on POST /events. Sets the locale if not already set.
  • SDK. The Spotzee JS, iOS, and Android SDKs read the device or browser locale and write it back automatically.
If a user has no locale set and your project has a default locale, that’s what gets used.

Delete a locale

You can delete a locale from Settings → Locales. Check templates that use it before deleting it; the locale deletion route does not check for those variants.

Next steps

Build templates

Author per-locale template variants for email, SMS, push, in-app, and webhook channels.

Set up a project

Pick the project default locale that drives template fallback.

Sync users

Push a locale attribute when you upsert your user base.

Concepts

Brush up on Users, Journeys, Segments, Channels, and Providers.