Quote Page V2
Quote Page V2 is the standard way to show pricing in a questionnaire. It is a full-page component that displays insurance plans, prices, customization options, add-ons, coverage tables, FAQ, and a call-to-action footer — all configured through the Strapi CMS without code changes.
How it works
Section titled “How it works”- Create a Quote-Page entity in Strapi (Content Manager > Quote-Page > Create new entry)
- Configure its content: add components to the
contentarray — headers, customization controls, plan cards, coverage tables, add-ons, FAQ sections, and more - In your questionnaire, add a question with type
QUOTE_CUSTOM - Set the
cmsQuoterelation on that question to point to your Quote-Page entity - The app renders the full quote page with live pricing, plan selection, and add-on toggling
The user sees a page where they can select a plan, adjust coverage options, toggle add-ons, compare what is covered, and proceed to checkout.
V2 Components
Section titled “V2 Components”All components live in a single content array. Each component has a __component field identifying its type and an optional ruleGroups field for conditional visibility.
| Component | __component |
Purpose |
|---|---|---|
| header | quote-page-v2.header |
Page title with optional price display |
| title | quote-page-v2.title |
Section heading with optional document link |
| choice | quote-page-v2.choice |
Multi-option selector (checkbox or switch) |
| boolean | quote-page-v2.boolean |
Simple on/off toggle |
| range-input | quote-page-v2.range-input |
Numeric slider (e.g., coverage amount) |
| plan-cards | quote-page-v2.plan-cards |
Plan selection cards with feature comparison |
| addons | quote-page-v2.addons |
Add-on items with optional slider sub-component |
| covered | quote-page-v2.covered |
Coverage feature cards with icons |
| table | quote-page-v2.table |
Coverage comparison table |
| faq-collection | quote-page-v2.faq-collection |
FAQ accordion |
| footer-override | quote-page-v2.footer-override |
Conditional footer replacement |
The footer is a separate top-level field on the Quote-Page (not part of the content array). It provides the “Book a call” link and optional secondary action.
Key concepts
Section titled “Key concepts”Quote options
Section titled “Quote options”Customization controls (choice, boolean, range-input) let users adjust their coverage. Each option sends its value to the pricing engine via its optionKey, which recalculates the price in real time.
When mergeQuoteOptionsToQuestionnaire is enabled, the selected option values are stored as questionnaire answers, making them available in subsequent questions, rules, and the checkout summary.
Visibility rules
Section titled “Visibility rules”Every content component can have ruleGroups that control whether it is visible. Rules follow an AND/OR structure and evaluate against the user’s questionnaire answers. The resultType determines the effect: HIDDEN (remove from page) or DISABLED (show but grey out).
This lets you create quote pages that adapt to the user’s context — showing different options for different plan tiers, hiding irrelevant add-ons, or disabling options that do not apply.
Key configuration flags
Section titled “Key configuration flags”| Flag | Description |
|---|---|
mergeQuoteOptionsToQuestionnaire |
When true, selected quote option values are stored as questionnaire answers for use in later steps |
prefillQuoteOptionsFromParams |
When true, quote option values can be pre-filled from URL query parameters |
Quote Page V2 vs. Quote Custom (code-based)
Section titled “Quote Page V2 vs. Quote Custom (code-based)”Both use the QUOTE_CUSTOM question type in Strapi, but they work differently:
| Quote Page V2 (CMS-driven) | Quote Custom (code-based) | |
|---|---|---|
| How to use | Set the cmsQuote relation to a Quote-Page entity |
Set the customQuote enum to a value like HOUSEHOLD, PET_HEALTH, LIFE_EU |
| Configuration | Entirely in Strapi CMS | Hardcoded in React components |
| Flexibility | High — add/remove sections, change options, update content anytime | Fixed — requires code changes and deployment |
| When to use | Default choice for all new verticals | Legacy escape hatch for verticals with unique layouts that the CMS components cannot express |
New verticals should always use Quote Page V2 with the cmsQuote relation. The customQuote enum is maintained for backward compatibility with existing hardcoded quote pages.
See also
Section titled “See also”- Quote-Page Components Reference — full schema for all V2 components
- Create a Quote Page — step-by-step setup in Strapi
- Setting Up a Quote Page — end-to-end tutorial
- Quote-Page Architecture — how the CMS-driven quote page connects to pricing