Trust Stats Row
A row of headline statistics with optional section intro.
Why travelers choose us
Real numbers from real trips
Independent quotes and policies issued through our comparison tools.
2M+
Quotes compared
Since 2018
4.8
Average rating
From 12k+ reviews
48h
Typical claim notice
When you keep receipts
---
import TrustStatsRow from "@page-sections/info-blocks/trust-stats-row/TrustStatsRow.astro";
---
<TrustStatsRow
backgroundColor="surface" colorScheme="inherit" eyebrow="Why travelers choose us" heading="Real numbers from real trips" paddingVertical="3xl" stats={
[
{
"value": "2M+",
"label": "Quotes compared",
"sublabel": "Since 2018"
},
{
"value": "4.8",
"label": "Average rating",
"sublabel": "From 12k+ reviews"
},
{
"value": "48h",
"label": "Typical claim notice",
"sublabel": "When you keep receipts"
}
]
} subtext="Independent quotes and policies issued through our comparison tools." variant="default"
/> ---
blocks:
_component: page-sections/info-blocks/trust-stats-row
eyebrow: Why travelers choose us
heading: Real numbers from real trips
subtext: Independent quotes and policies issued through our comparison tools.
variant: default
stats:
- value: 2M+
label: Quotes compared
sublabel: Since 2018
- value: '4.8'
label: Average rating
sublabel: From 12k+ reviews
- value: 48h
label: Typical claim notice
sublabel: When you keep receipts
colorScheme: inherit
backgroundColor: surface
paddingVertical: 3xl
--- Overview
Use for social proof on insurance or travel pages: each stat has a large value, short label, and optional sublabel (e.g. timeframe or review source). variant changes column dividers, pill-style tiles, density, and grid spacing.
Properties
eyebrow string | default: Why travelers choose us
Optional label above the stats heading.
heading string | default: Real numbers from real trips
Section heading for the trust or proof points.
subtext string | default: Independent quotes and policies issued through our comparison tools.
Supporting copy shown above the statistics row.
variant enum | default: default
Layout style for the statistics row.
-
default -
divided -
pills -
spacious -
tight
stats array | default: array
Key metrics (e.g. policies sold, average rating).
value string | default: 0
Large number or short headline stat.
label string | default: Stat label
Short label under the value.
sublabel string
Optional supporting line (e.g. timeframe or source).
colorScheme enum | default: inherit
Color scheme theme for the section.
-
inherit -
light -
dark
backgroundColor enum | default: surface
Background color behind the stats.
-
none -
base -
surface -
accent -
highlight
paddingVertical enum | default: 3xl
Vertical padding for the section.
-
xs -
sm -
md -
lg -
xl -
2xl -
3xl -
4xl -
5xl -
6xl
Examples
Layout variants
Why travelers choose us
Real numbers from real trips
Independent quotes and policies issued through our comparison tools.
2M+
Quotes compared
Since 2018
4.8
Average rating
From 12k+ reviews
48h
Typical claim notice
When you keep receipts
---
import TrustStatsRow from "@page-sections/info-blocks/trust-stats-row/TrustStatsRow.astro";
---
<TrustStatsRow
backgroundColor="surface" colorScheme="inherit" eyebrow="Why travelers choose us" heading="Real numbers from real trips" paddingVertical="3xl" stats={
[
{
"value": "2M+",
"label": "Quotes compared",
"sublabel": "Since 2018"
},
{
"value": "4.8",
"label": "Average rating",
"sublabel": "From 12k+ reviews"
},
{
"value": "48h",
"label": "Typical claim notice",
"sublabel": "When you keep receipts"
}
]
} subtext="Independent quotes and policies issued through our comparison tools." variant="default"
/> ---
blocks:
_component: page-sections/info-blocks/trust-stats-row
eyebrow: Why travelers choose us
heading: Real numbers from real trips
subtext: Independent quotes and policies issued through our comparison tools.
variant: default
stats:
- value: 2M+
label: Quotes compared
sublabel: Since 2018
- value: '4.8'
label: Average rating
sublabel: From 12k+ reviews
- value: 48h
label: Typical claim notice
sublabel: When you keep receipts
colorScheme: inherit
backgroundColor: surface
paddingVertical: 3xl
--- 15+
Insurers
On panel
30s
To compare
Typical flow
98%
Claims paid
Last year
---
import TrustStatsRow from "@page-sections/info-blocks/trust-stats-row/TrustStatsRow.astro";
---
<TrustStatsRow
backgroundColor="base" colorScheme="inherit" eyebrow="" heading="" paddingVertical="2xl" stats={
[
{
"value": "15+",
"label": "Insurers",
"sublabel": "On panel"
},
{
"value": "30s",
"label": "To compare",
"sublabel": "Typical flow"
},
{
"value": "98%",
"label": "Claims paid",
"sublabel": "Last year"
}
]
} subtext="" variant="divided"
/> ---
blocks:
_component: page-sections/info-blocks/trust-stats-row
variant: divided
eyebrow: ''
heading: ''
subtext: ''
stats:
- value: 15+
label: Insurers
sublabel: On panel
- value: 30s
label: To compare
sublabel: Typical flow
- value: 98%
label: Claims paid
sublabel: Last year
colorScheme: inherit
backgroundColor: base
paddingVertical: 2xl
--- Social proof
Travelers stay covered
500k
Policies/year
4.7
App store
iOS & Android
---
import TrustStatsRow from "@page-sections/info-blocks/trust-stats-row/TrustStatsRow.astro";
---
<TrustStatsRow
backgroundColor="highlight" colorScheme="inherit" eyebrow="Social proof" heading="Travelers stay covered" paddingVertical="3xl" stats={
[
{
"value": "500k",
"label": "Policies/year",
"sublabel": ""
},
{
"value": 4.7,
"label": "App store",
"sublabel": "iOS & Android"
}
]
} subtext="" variant="pills"
/> ---
blocks:
_component: page-sections/info-blocks/trust-stats-row
variant: pills
eyebrow: Social proof
heading: Travelers stay covered
subtext: ''
stats:
- value: 500k
label: Policies/year
sublabel: ''
- value: 4.7
label: App store
sublabel: iOS & Android
colorScheme: inherit
backgroundColor: highlight
paddingVertical: 3xl
--- Room to breathe
Wider grid gaps and larger stat tiles for hero-adjacent placement.
$2.1B
Coverage placed
Rolling 12 months
180
Countries
Destination list
---
import TrustStatsRow from "@page-sections/info-blocks/trust-stats-row/TrustStatsRow.astro";
---
<TrustStatsRow
backgroundColor="surface" colorScheme="inherit" eyebrow="" heading="Room to breathe" paddingVertical="5xl" stats={
[
{
"value": "$2.1B",
"label": "Coverage placed",
"sublabel": "Rolling 12 months"
},
{
"value": 180,
"label": "Countries",
"sublabel": "Destination list"
}
]
} subtext="Wider grid gaps and larger stat tiles for hero-adjacent placement." variant="spacious"
/> ---
blocks:
_component: page-sections/info-blocks/trust-stats-row
variant: spacious
eyebrow: ''
heading: Room to breathe
subtext: Wider grid gaps and larger stat tiles for hero-adjacent placement.
stats:
- value: $2.1B
label: Coverage placed
sublabel: Rolling 12 months
- value: 180
label: Countries
sublabel: Destination list
colorScheme: inherit
backgroundColor: surface
paddingVertical: 5xl
--- 24/7
Assist
<2min
Avg. wait
---
import TrustStatsRow from "@page-sections/info-blocks/trust-stats-row/TrustStatsRow.astro";
---
<TrustStatsRow
backgroundColor="none" colorScheme="inherit" eyebrow="" heading="" paddingVertical="xl" stats={
[
{
"value": "24/7",
"label": "Assist"
},
{
"value": "<2min",
"label": "Avg. wait"
}
]
} subtext="" variant="tight"
/> ---
blocks:
_component: page-sections/info-blocks/trust-stats-row
variant: tight
eyebrow: ''
heading: ''
subtext: ''
stats:
- value: 24/7
label: Assist
- value: <2min
label: Avg. wait
colorScheme: inherit
backgroundColor: none
paddingVertical: xl
---