Build a Multi-Region Questionnaire
Multi-region questionnaires serve a single insurance product across multiple countries. The user selects their country early in the flow, and subsequent questions can adapt based on that selection.
Prerequisites
Section titled “Prerequisites”- A published questionnaire in Strapi
- Knowledge of which countries the product covers
1. Set the questionnaire type to multiRegion
Section titled “1. Set the questionnaire type to multiRegion”In Strapi, open your questionnaire metadata and set the type field to multiRegion. The available types are:
singleRegion(default)multiRegionclaimadjustPolicycancelPolicy
2. Select supported regions
Section titled “2. Select supported regions”In the regions multi-select field, choose every country where this product is available. Regions use ISO 3166-1 alpha-2 codes (e.g., de for Germany, es for Spain, fr for France).
Example — expat long-term insurance supports EU countries plus others:
de, es, fr, it, pt, nl, at, be, ...3. Add a region selection question
Section titled “3. Add a region selection question”Add a question early in the flow (typically the first or second question) that asks the user to select their country. Use the COUNTRY_SINGLE question type, which renders a country picker.
The answer is stored with the key region and contains the ISO country code.
4. Use {{regionName}} in subsequent questions
Section titled “4. Use {{regionName}} in subsequent questions”Once the user selects a region, you can reference the country name in question text using the {{regionName}} interpolation:
What is your address in {{regionName}}?Long term expat health insurance is typically not acceptedby employers in {{regionName}} as a standalone policy.5. Add region-specific rules
Section titled “5. Add region-specific rules”Use comparison rules with the isIn operator to block or redirect users based on their selected region. The rule checks the region answer key against a list of country codes.
Example — block unsupported countries:
{ "__component": "questionnaire.rule-comparison", "id": "loading", "if": { "op": "isIn", "variable": { "type": "static", "value": ["hk", "sg", "us", "jp", "ru"], "key": "region" } }, "then": { "goTo": "notAvailableCountry" }}This redirects users from unsupported countries to a blocker screen.
6. Understand URL routing
Section titled “6. Understand URL routing”Multi-region questionnaires use the region code in the URL path. The app routes to the questionnaire based on the vertical and region:
/policies/expat-long-term/de → Germany flow/policies/expat-long-term/es → Spain flowThe region is extracted from the URL and pre-populated as the region answer.
See also
Section titled “See also”- Questionnaire Metadata — full reference for
type,regions, and other metadata fields - Configure Rules — how to set up conditional rules
- Rule Operators — reference for
isInand other comparison operators - Configure Regions — region configuration at the vertical level