Home / Multi-language funnels

Multi-language

One funnel. Every language. One set of numbers.

Most funnel tools make you duplicate the whole funnel per language. You end up maintaining four copies of the same questions, and your conversion rate is split across four sets of analytics. Leadtrak.ai keeps the translations inside the one funnel, so there is one funnel to edit, one score model, and one report.

Honest scope: translations are written in a translation panel in the app — a side-by-side table of your default-language text and the translation, one page per language, reached from the Languages button on any funnel. Machine translation is planned, not built.

How it works

Translations are an overlay

Each locale is a map of field path to translated text, laid over the default-language funnel at render time. Anything you have not translated yet falls back to the default language rather than rendering blank — a half-finished translation is still a working page.

Language cannot change the outcome

Only human-readable text can be translated. An overlay can never touch an answer's stored value, its score weight, a branch jump or a URL. The German visitor and the English visitor answer the same instrument, so their leads are directly comparable.

The chrome is translated too

Continue, Back, Submit, “Step 2 of 4” and the validation summary ship translated for English, German, French, Spanish, Dutch, Polish and Italian, and any of them can be overridden per funnel. No English button on a German page.

How a visitor's language is chosen

In this order, first match wins:

#SourceBehaviour
1?lang=de in the URLExplicit choice. Beats everything else, and is remembered for that funnel in a cookie so it survives the next step.
2Cookie from an earlier explicit choiceThe language a visitor picked sticks as they move through the funnel.
3Accept-Language headerA browser set to German gets German with no query string and no redirect.
4The funnel's default localeThe fallback, and what an unknown or unsupported language resolves to.

Language tags are validated before use. A malformed or hostile value is discarded and the funnel falls back to its default language, so the switcher is not an injection point.

Details that matter on a real page

Correct lang and dir

The page declares the language it is actually in, which is what screen readers and search engines need. Arabic, Hebrew, Persian and Urdu render right-to-left automatically.

A switcher that works without JavaScript

The language switcher is plain links, and every step is a normal server-rendered form post. Validation messages come back in the visitor's language whether or not scripts loaded.

One funnel in the reporting

Because locales are not separate funnels, lead volume, score distribution and cost per qualified lead are aggregated across every language by default — not four dashboards you have to add up.

Survives the editor

Translations round-trip through save and reload without loss, proven by an automated test that saves over real HTTP, reads the funnel back and compares the whole definition.

Built and planned

CapabilityStatus
One funnel definition rendered in many languagesBuilt
Partial translations with fallback to the default languageBuilt
Language from ?lang=, cookie, or Accept-LanguageBuilt
Translated buttons, progress and validation copy (en, de, fr, es, nl, pl, it)Built
Per-funnel override of any interface stringBuilt
Right-to-left layout for Arabic, Hebrew, Persian and UrduBuilt
Identical scoring and routing in every languageBuilt
Translation panel in the app, per language, with an untranslated-content warningBuilt
Machine translation of a funnel in one clickPlanned
Per-language domains or sub-paths instead of ?lang=Planned
Translated follow-up email and WhatsApp sequencesPlanned

Everything marked Built is covered by automated tests, including tests that fetch a live funnel over HTTP in three languages and confirm a submission in German produces exactly the same stored answer and score as the same submission in English.

Start free See the funnel builder