Multilingual email marketing in Switzerland is the problem every Swiss shop hits somewhere around its second thousand contacts. You have customers in Zurich, Lausanne, Lugano and Geneva, one signup form, and a campaign that has to go out on Monday. Most brands I audit default to German and hope the rest can read it. In 2025 Swiss online consumption reached CHF 15.8 billion, up 6% [4], and a share of that sits in inboxes in Romandie and Ticino where nobody has ever written a sentence in the reader’s language. What follows is the six-step setup we use at sakto, and the Swiss mechanisms that make it work.
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Start with the real numbers, because the ones in circulation are wrong. The Federal Statistical Office Strukturerhebung for reference year 2021 puts German or Swiss German as a main language for 62.0% of the resident population aged 15 and over, French for 22.8%, Italian for 7.9%, Romansh for 0.5% and English for 6.0% [1].
Here is the part almost nobody quotes. Since 2010 respondents may name up to three main languages, so those shares sum well above 100% and you cannot add them together. “German plus French covers 85%” is arithmetic that does not hold. Roughly a third of the country names a main language other than German, and some of them name German too.
English is not an expat footnote either. The Federal Statistical Office survey on language, religion and culture 2024 found 44% of the resident population regularly use English, the most used non-national language. In German-speaking Switzerland 45% regularly use English against 15% who use French [2].
📊 Quick fact CSA Research surveyed 8’709 verified consumers across 29 countries in 2020. 76% prefer to buy products with information in their own language, and 40% will never buy from a website in another language [3].
Two words get used interchangeably and should not be. Translation renders your German copy into French. Localisation makes it read as if it was written in Romandie. A translated campaign says “promotion”, a localised one says “action”, the Swiss French word for a special offer [7].
One language done properly beats three done badly, and I will defend that.
Option | Commit to it when |
|---|---|
| German only | Your product is aimed at Swiss German buyers, or your data shows FR and IT contacts under 5% |
| German + French | You have real Romandie volume and a reviewer who lives there |
+ Italian | You sell nationwide in food, fashion, lifestyle or home |
+ English | You are in tourism, hospitality, finance or B2B SaaS |
The test is not population share, it is whether you can maintain the language. A French version that goes out two days late, with a subject line cut off on mobile and a landing page still in German, does more damage than no French version at all. Name the person who reviews each language and the day they do it. If you cannot, do not add it yet.
Everything downstream depends on knowing what language a contact reads. There is a ranking of signals, and most brands reach for the weakest.
- Site locale at signup (strongest): if someone signs up on the French version of your site, tag them FR. They already chose to browse in French, which beats any dropdown. A hidden field writing the locale to a LANGUAGE contact attribute costs nothing.
- Optional dropdown, pre-filled with the site locale (second): useful where people browse in one language but want email in another. Most leave it alone, and the few who change it are correcting you for free.
- Shipping postcode (weakest): every Swiss shop stores one, and Swiss PLZ ranges map to the language regions cleanly enough to serve as a default.
The backfill closes the gap for contacts you already have.
| PLZ | Region | Language |
|---|---|---|
| 1xxx | Vaud, Geneva, lower Valais | French |
| 2xxx | Neuchâtel, Jura, Bernese Jura | French |
| 4xxx / 5xxx | Basel, Solothurn, Aargau | German |
| 65xx bis 69xx | Ticino | Italian |
| 8xxx | Zurich | German |
| 9xxx | St. Gallen, Appenzell | German |
Store the result as a structured contact attribute, not as list membership. Brevo’s native multilingual feature reads that attribute directly, and swapping it out later means rebuilding every segment.
One master list with a LANGUAGE attribute, not four separate lists. One source of truth, clean cross-market reporting, and no contact sitting in two places with two different unsubscribe states.
Until recently the build was the painful part. On 1 March 2026 Brevo shipped native multi-language email campaigns You configure your languages once in account settings, then build one campaign with a version per language. Sender name, reply-to, subject line, preview text and design are all set independently. At send time each contact gets the version matching their language attribute, and anyone whose attribute is empty or unmatched falls back to the default.
Does splitting one 9’000-contact send into three hurt deliverability? No. Google counts messages by primary domain for its bulk sender threshold, and that classification is permanent once assigned [14]. Consistency of daily volume is what matters, so send the language versions on the same day rather than spreading them across a week.
{% if contact.LANGUAGE == “DE” %}
Liebe Kundin, lieber Kunde
{% elif contact.LANGUAGE == “FR” %}
Chère cliente, cher client
{% elif contact.LANGUAGE == “IT” %}
Gentile cliente
{% else %}
Dear customer
{% endif %}
Conditional display works in email, but not in SMS, WhatsApp or push. An SMS in your welcome flow needs its own language split.
Subject line, sender name and preview text are per-language fields, and they are not a translation job. Text expands when it leaves English or German. The W3C reproduces IBM’s expansion table, where strings up to 10 characters grow by 200% to 300% and strings over 70 characters by around 130% [6]. “Views” becomes “consultations” in French and “visualizzazioni” in Italian. A subject line that fits the mobile preview in German is cut off in both. Write each one to a character budget instead of translating the German.
The tag nobody sets is `lang`. It tells screen readers and email clients how to interpret and pronounce the content. If your master template hard-codes `lang=”de”` and you swap the body to French, a screen reader reads French through a German pronunciation engine and the result is unusable. A correct value also stops Gmail offering to translate an email already in the reader’s language. Set it on the `<html>` tag per version.
AI does the first draft, a native reviewer does the last pass. That part is settled. Two settings cut the review down.
The second is Swiss French vocabulary. AI defaults to France French, and Romandie notices in two seconds. Put these in your prompt and your review checklist:
- action: a special offer in Romandie, borrowed from the German Aktion. France French says "promotion" [7].
- natel: a mobile phone, from Nationaltelefon. Nobody in Paris uses this word [7].
- septante and nonante: 70 and 90 throughout Romandie. 80 splits by canton, huitante in Vaud, Valais and Fribourg, quatre-vingts in Geneva and Neuchâtel [7]. There is no safe Swiss French spelling of 80, so write discounts as figures.
Your reviewer needs to be Romand, not French.
On the German side two rules are not stylistic. Swiss German never uses the eszett, it is always double s, per the Federal Chancellery’s spelling reference [8]. And the Chancellery’s Schreibweisungen require the form Fr. 23.– with an en dash replacing the zeros [8]. Price blocks get this wrong constantly.
A 2025 Supertext study in Zurich had eight professional translators blind-rate 1’033 segments of German into Swiss French and Swiss Italian [5]. Machine translation fails at the level of a whole email rather than a single sentence, so read the full email in context instead of spot-checking lines.
“Federal holidays are shared” is true for four of them. Everything else moves.
Canton Zurich recognises nine public holidays [9]. Canton Ticino counts 16 official rest days, 14 cantonal plus 1 May and 1 August [9]. That is a Ticino segment with almost 80% more days off than a Zurich segment, including San Giuseppe on 19 March and Immacolata on 8 December.
September is where German-built calendars break. Geneva does not observe the federal Bettag at all. It observes the Jeûne genevois, the Thursday after the first Sunday in September, which falls on 10 September 2026 and 9 September 2027, and it is a public holiday in Geneva alone among all 26 cantons [9].
A campaign scheduled for 8 December lands on a working Tuesday in Zurich and a public holiday in Lugano. A September B2B send built in Zurich hits Geneva offices that are shut. Put the three cantonal calendars in your planning file once and you never think about it again.
An aggregate open rate hides a healthy German segment sitting on top of a French one nobody can read. Averaging removes exactly the signal you set all of this up to see.
Save one segment per language in Brevo and read every campaign report against each. Open rate, click rate, unsubscribe rate and conversion where you can attribute it, all per language. The setup takes an afternoon, and send time is one of the things to read out of those reports rather than guess at, because in the client accounts I work in Ticino and Romandie peak at a different hour than Zurich and no Swiss benchmark splits open times that way.
One caution. Google’s Postmaster Tools omits data when daily volume for a domain is too low, and publishes no threshold [14]. Split your language segments across separate sending subdomains and a small Swiss sender ends up with three that each report nothing. Keep one sending domain and segment inside your email platform.
Steps 1, 4, 5 and 6 are tool-independent. Language capture, translation, the cantonal calendar and per-market reporting work the same wherever you send from. Only Steps 2 and 3 change, because they lean on platform features.
| Tool | Native per-language campaign versions? | What to do instead |
|---|---|---|
| Brevo | Yes, since 1 March 2026 | Use the versions from Step 2. Conditionals stay for automations and transactional templates |
| Mailchimp | No | Conditional merge tag blocks inside one email, keyed on the `MC_LANGUAGE` tag. The subject line cannot be translated, so run one campaign per language |
| Klaviyo | Yes, Smart Translations, matched on the Locale property with a chosen fallback language | Review every version. Text blocks are translated and images can be swapped per language. Paid account required |
| ActiveCampaign | Yes, AI Translations for Email, matched on the Preferred Language field, default version as fallback | Standard campaign type only, and each translated send consumes an Activity |
Without native versions you are building and scheduling one campaign per language by hand. That is where the same-day sending rule from Step 2 starts costing you real time, because three or four sends have to leave on the same afternoon.
HubSpot and MailerLite sit either side of that line. HubSpot lets one email carry language variations, but the language lives on the email rather than on the contact, so it is still one send per language, and automatic translation needs Marketing Hub Professional or Enterprise. MailerLite has nothing native, so you build a custom `language` field, one segment per language, one campaign each. The workbook at the end of this post puts all six side by side.
Half the English-language articles on this topic assert a Swiss language rule that does not exist.
Switzerland’s UWG (Unfair Competition Act) Art. 3 Abs. 1 lit. o sets three conditions for mass advertising by email. Prior consent, correct and undisguised sender identification, and notice of an easy, free way to refuse further messages [10]. BAKOM’s official page states all three and says nothing about language. The revised Swiss privacy law (revDSG) Art. 19 requires you to inform the person “angemessen”, an adequacy standard measured against the recipient, and the federal data protection authority has published nothing on which language that means [12].
Where the Swiss legislator wants a language, it writes one. Marketing email has no such provision.
DE German rule The LG Paderborn held on 12 March 2024 that burying the right-to-object notice in a linked privacy policy does not meet the German standard for emailing existing customers without consent [15]. I found no German decision requiring that notice to be in the recipient’s language, so treat the extension as a reasonable inference rather than settled law.
One hard obligation does exist. If you email into France, and Romandie senders often do, the loi Toubon Art. 2 makes French compulsory for “toute publicité écrite”, which catches marketing email, with a fourth-class contravention as the sanction [13].
The Swiss versus German consent split is covered in full in the double opt-in post.
You will find case studies showing a French segment going from 8% opens to 31%. Treat them carefully, mine included. If a segment spent three years receiving email it could not read, the before-number measures how bad the old setup was, not how good the new one is. Ask for click rate per language, and over what period.
From the accounts I work in, the first campaign a Romandie or Ticino segment gets in its own language is the strongest send that segment has ever had, and it settles to something more ordinary after a few sends. Plan around the settled number.
At Lauvette we ran the whole company in English, because that was the working language between me and the team. Our customers were Filipino, and a large share of them read and bought in Taglish, the mix of Tagalog and English people use at home. For years our email was clean, correct, professional English, and it converted at a level we told ourselves was fine. Then we sent one campaign in the language our customers used with each other. It outperformed everything we had sent that quarter, and nothing about the offer had changed. We could not see the gap because the numbers looked acceptable.
A monolingual programme in a multilingual market does not look broken. It looks fine.
- ✅ Decide which languages you can maintain, and name the reviewer for each
- ✅ Capture site locale into a LANGUAGE contact attribute at signup
- ✅ Backfill by shipping postcode, excluding the four bilingual zones
- ✅ One master list, never four
- ✅ Use your platform's native per-language campaign versions, Brevo's included, unless you need A/B testing
- ✅ Build separate templates and automations per language for automated email
- ✅ Set sender name, subject line and preview text per language, to a character budget
- ✅ Set `lang` per version, and set formality so du carries through to tu
- ✅ Read the whole email in context, never line by line
- ✅ Put the Zurich, Geneva and Ticino holiday calendars in your planning file
- ✅ Translate the signup form, double opt-in email, unsubscribe page and preference centre
- ✅ Send all language versions on the same day, from one sending domain
- ✅ Save one reporting segment per language and read it after every send
Sending German-only to a Swiss list? Multilingual setup fragmented across four lists and broken templates? This is what we do at sakto. We handle the language capture, the postcode backfill, the Brevo build, the translation workflow and the per-market reporting, so you come out with one list that speaks to every customer in the language they buy in.
sakto is a Swiss email marketing agency, Brevo-first, built for e-commerce and B2B senders who want their email to work and stay on the right side of Swiss and German law.
*This article is general information, not legal advice. Swiss, German and French language and advertising law is fact-specific. Check with a qualified specialist before acting.*