Guide
Bilingual email QA: how EN/FR campaigns actually go wrong
Every Canadian-market sender ships at least two of everything: English and French, launch and reminder. The second language is where campaigns quietly fail, because it’s checked last, by tired eyes, often by someone who doesn’t read it fluently. These are the bilingual failure modes we see repeatedly, and the pass that catches each one.
1. The language leak
One module in the FR email still says English: a button, an alt text, a footer line, a preheader. It happens because builds are cloned from the EN version and one block escapes translation. The catch: scan the email’s full visible text and attributes against the expected language’s vocabulary, and flag any run of words that scores as the other language. Alt text and preheaders leak most, because they’re invisible in a quick visual review.
2. Deck versions that don’t line up
Bilingual copy decks usually declare versions campaign-wide: the launch email is Version 1, the reminder is Version 2, each with EN and FR columns side by side. QA tools (and humans) that assume “reminder = version 1 of the reminder section” end up comparing the FR reminder against the FR launch copy and reporting nonsense. The fix is to respect the deck’s own numbering, and to honor “same as launch” markers where the deck says a section carries over.
3. Links that don’t switch languages
The FR email links to the EN landing page. Every URL in a bilingual program carries a language marker somewhere — /fr/ path segments on owned domains, language query parameters on campaign pages. The check: on an FR email, every owned-domain link must resolve to the FR destination; anything landing on /en/ is a finding. Do this through the click-tracking wrapper to the real destination, or you’re checking the label, not the link.
4. Accents lost in the build
“Économisez” becomes “Economisez” somewhere between the deck and the template. Sometimes it’s an encoding issue, sometimes a font substitution, sometimes a copy-paste through a tool that strips diacritics. A character-aware copy comparison catches it; an eyeball at arm’s length does not. The subtle rule: your comparison must be diacritic-aware enough to flag a dropped accent in visible copy, while being tolerant where it doesn’t matter.
5. Unequal legal copy
The EN footer got the updated disclosure; the FR footer kept last quarter’s. Legal lines change mid-campaign more than any other copy, and they change in one language first. Compare each language against its own column of the deck, then compare the two emails structurally: same number of legal paragraphs, same links, same modules in the same order.
The bilingual pass, in order
2. FR email vs deck FR column ····· line by line, both directions
3. FR email language scan ········· no English runs (incl. alt text)
4. FR links → FR destinations ····· through tracking wrappers
5. EN ↔ FR structure ·············· same modules, same counts, same order
SendLint runs steps 1 through 4 automatically on every bilingual batch: attach the deck once, run EN and FR as entries of the same campaign, and each email is compared against its own language column, with language-leak detection and destination checks built in. Step 5 — the structural EN↔FR parity diff — is on our roadmap, and until then it’s the one step worth keeping on a human checklist.
Frequently asked questions
- What goes wrong most often in bilingual EN/FR email campaigns?
- Language leaks (one module still in English), deck versions that don't line up, links pointing at the other language's landing page, accents dropped somewhere in the build, and legal copy updated in one language but not the other.
- How do you catch an English fragment in a French email?
- Scan the email's full visible text plus alt text and preheaders against the expected language, and flag any run of words that scores as the other language. Alt text and preheaders leak most because a quick visual review never sees them.
- Do French emails need different QA checks than English ones?
- Yes. Beyond translation accuracy, French copy has its own typography rules: guillemets, non-breaking spaces before certain punctuation, accents preserved on capitals, and currency formatted with the symbol after the amount.