One wall of love for everyone is a wall for nobody.
An agency on LinkedIn, a developer from Hacker News, and a price-shopping founder from Product Hunt all land on /pricing — and you show all three the same five testimonials. The agency wants to see other agencies. The developer wants the API quote. The founder wants to know it pays back.
Contextual Match reads who’s actually visiting and serves the proof their objection needs — without you maintaining ten different page variants.
Read. Match. Serve.
Three steps, all happening at the edge before the page paints. No client-side JS gymnastics, no second-flash of content.
Read
On every page request, we read the visitor's UTM, referrer, page URL, device, geo, and any first-party signal you pass us — without a cookie wall.
Match
Your rules + AI fallback decide which testimonials answer this visitor's likely objection. Persona → use-case → objection — narrowed to the strongest two.
AND path = "/pricing"
THEN match tag AGENCY
Serve
Cached at the edge in 280+ regions. Streamed inline with the widget — no API round-trip from the browser, no flicker, zero layout shift.
Eight signals. No cookie wall.
Everything we use is either in the URL, the request headers, or first-party data you choose to pass.
Four dimensions. Auto-tagged by AI.
Sentiment AI reads every testimonial and stamps it. You edit. Match rules pick from this grid.
Rules first. AI when nothing fires.
You stay in control. Build rules in plain English. Anything that doesn’t match falls back to a learned model trained on your testimonial library.
One <script> tag. Four shipped variants.
All four visitors hit the same URL with the same widget. The widget renders the proof their context calls for.
Not a feature flag. The delivery layer.
Match wraps every widget in the platform. Every other Proof Intelligence feature feeds it or feeds off it.