RReTestimonial
Sign inStart free
NEWProof Intelligence · 04/Contextual Proof MatchPremium+

The right proof for the right visitor.

One widget on the page. Infinite permutations behind it. Contextual Match reads UTM, referrer, page, and device — then serves the testimonial that answers this visitor’s doubt. Edge-served in under 50ms.

Avg lift+38% CVR
Edge latencyp95 · 47ms
Layout shift0.00 CLS
Live match/flowline.co/pricing
Carousel · “Mid” style·edge
SAME <WIDGET ID=“HERO-CAROUSEL”>
↓ DIFFERENT PROOF SERVED
Visitor A23ms
utmagencies
reflinkedin.com
path/pricing
devicedesktop
★★★★★

Replaced 3 tools. Our agency now bills proof-driven.

Priya R. · Reel Studio · 40 ppl

14 clients onboarded in a quarter. Not sponsored — we just switched.

Sasha K. · BrightBrand · 80 ppl
AGENCYB2BMID-MARKET
Visitor B19ms
utmproducthunt
refproducthunt.com
path/pricing
devicemobile
★★★★★

ROI clear by week two — we kept the cheapest plan.

Dev S. · Arclight · 5-person SaaS

Set up in a coffee break. Worth it even on the free tier.

Maya C. · Northwind · solo founder
PRICE OBJECTIONSMBFOUNDER
Same widget · same URL·different proof servedp95 47ms · zero CLS
01The problem

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.

+38%median lift in conversion when widgets are matched to visitor context vs. a static testimonial wall. — ReTestimonial benchmark, 1.2M sessions
Without Contextual Match
Agency · LinkedIn
wants agency case studies
Developer · Hacker News
wants the API quote
Founder · Product Hunt
wants ROI proof
SAME WALLgeneric praise · no objection answered
★★★★★
Love it!
★★★★★
Great tool
★★★★★
5 stars
02How it works

Read. Match. Serve.

Three steps, all happening at the edge before the page paints. No client-side JS gymnastics, no second-flash of content.

01

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.

> read.signals(req)
utm_campaign: "agencies"
referrer: "linkedin.com"
path: "/pricing"
device: "desktop"
geo: "US-CA"
5 signals · 4ms
02

Match

Your rules + AI fallback decide which testimonials answer this visitor's likely objection. Persona → use-case → objection — narrowed to the strongest two.

RULE FIRED · #2 of 14
IF utm = "agencies"
AND path = "/pricing"
THEN match tag AGENCY
2 testimonials matched · scored 0.94
03

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.

SERVED · iad1 edge · 47ms
★★★★★
★★★★★
CLS 0.00 · TTFB 12ms
03Signals we read

Eight signals. No cookie wall.

Everything we use is either in the URL, the request headers, or first-party data you choose to pass.

UTM parameters
campaign, source, medium, content, term — all five.
utm_campaign=agencies
Referrer
Where they came from. Domain, path, social vs. search vs. direct.
ref: linkedin.com
Page URL
The page they're on right now. Path, query, hash — your call.
path: /pricing
Device & viewport
Mobile, tablet, desktop. Touch capability. Down to viewport width.
mobile · 375w
Geo (country/region)
From IP, GDPR-safe. Country and region only — never precise location.
US-CA
Time & day
Hour, day of week, business hours vs. nights and weekends.
Tue · 14:00 PT
Returning visitor
First-time vs. returning. Pages-per-session. Time-on-site bucket.
returning · 4 visits
Custom signals
Push your own — logged-in plan, account size, signup date, anything you have.
plan=trial · seats=12
04Tag system

Four dimensions. Auto-tagged by AI.

Sentiment AI reads every testimonial and stamps it. You edit. Match rules pick from this grid.

Persona
RevOps lead
Founder / SMB
Marketing IC
Developer
Designer
Agency owner
Custom
Use-case
Lead capture
Onboarding
Pricing decision
Integration
Migration
Reporting
Custom
Feature
Carousel widget
Video clips
Forms
Smart Invites
Custom Fields
Webhooks
Custom
Objection
Worth the price?
Setup time?
Will it scale?
Trust your data?
Integrates with X?
Vendor lock-in?
Custom
Sentiment AI auto-tags every new testimonial across all four columns. You can edit, override, or add custom tags from the Custom Fields tab.See Sentiment AI
05Match rules

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.

Active rules14 LIVE
New rule
1
Agency campaigns
utm_campaignisagenciesANDpathstarts with/pricingAGENCYMID-MARKET
1,247 / mo
2
Hacker News developers
referrercontainsycombinatorDEVELOPERAPI
843 / mo
3
Mobile EU shoppers
deviceismobileANDgeoinEUGDPRPRIVACY
2,109 / mo
4
Returning trial users
planistrialANDvisit_count>2TRIALROI
418 / mo
AI fallback
fires when no rule matches · trained on your library
3,884 / mo
Rule builder · plain English
NameAgency campaigns
When all are true
utm_campaignis"agencies"
pathstarts with"/pricing"
Then match testimonials tagged
AGENCYMID-MARKETAdd tag
Preview: 2 testimonials match · scored 0.94 / 0.91
06Same widget · four visitors

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.

Agency · LinkedIn41ms
utmagencies
reflinkedin
devicedesktop
★★★★★

Replaced 3 tools. Our agency now bills proof-driven.

Priya R. · Reel Studio
AGENCYB2B
Founder · Product Hunt38ms
utmproducthunt
refph
devicemobile
★★★★★

ROI clear by week two — kept the cheapest plan.

Dev S. · Arclight
SMBROI
Developer · HN44ms
utmhn
refycomb
devicedesktop
★★★★★

Webhook payloads were exactly what I needed.

Aisha K. · Replicate
DEVELOPERAPI
Returning · trial52ms
plantrial
visits4
devicetablet
★★★★★

Two weeks in, the data alone was worth it.

Jordan T. · Lattice
TRIALPRICE
07Performance & privacy

Personalization without the tax.

Most personalization tools cost you a 200-300ms latency hit and a Lighthouse penalty. We refuse that trade.

280+ edge regions
Cached at the closest PoP. Median TTFB 12ms. p95 latency 47ms — testimonials painted before the rest of your above-the-fold.
Zero layout shift
We reserve the widget's box on initial render and stream the matched content inline. CLS stays at 0.00 — no lighthouse hit.
No flicker, no flash
Server-side render or hydration-safe. The 'wrong proof' never paints — visitors see the matched version on first paint.
GDPR-safe by default
No cookies, no fingerprinting. Geo limited to country/region. First-party signals only — opt-in for anything else.
Continuous learning
Win-rate per rule logged. AI fallback retrains weekly on your library. Drift alerts when a rule's CTR drops 20%+.
One <script> tag
Same embed you already have. No second SDK, no new build step. Match logic lives at our edge — your bundle stays the same size.
Median TTFB
12ms
p95 latency
47ms
CLS impact
0.00
Edge regions
280+
08Connects to the rest of the platform

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.

Sentiment AI
Auto-tags every testimonial across persona, use-case, feature, and objection. Match rules pick from those tags — no manual labelling.
Custom Fields
Bring your own dimensions: industry, MRR band, lifecycle stage. Use them as match conditions alongside the built-ins.
Widget Builder
Every widget — Carousel, Slider, Wall of Love, Video, Avatars — is Match-aware out of the box. Toggle it per widget.
Proof Gap Autopilot
When Autopilot ships a new testimonial that closes a gap, Match adds it to the matching pool automatically.
Proof Impact
Every match logs a session attribution. Impact tells you the dollar lift of the rule — not just CTR.
Webhooks
Every match decision (rule fired, tags assigned, testimonial chosen) fires a signed webhook for your data warehouse.
09Spec sheet

Limits, formats, fine print.

Median latency
12ms TTFB
p95 latency
47ms
Edge regions
280+
CLS impact
0.00
Built-in signals
8 · UTM, ref, page, device, geo, time, returning, custom
Custom signals
Unlimited · push via JS or header
Tag dimensions
Persona × Use-case × Feature × Objection
Match modes
Rules · AI fallback · A/B holdout
Cookies required
None · GDPR-safe
Cache invalidation
Instant · 280-region purge
Data residency
US · EU · AU
Plan
Premium+
PROOF INTELLIGENCE · PREMIUM+

Same widget. Right proof.
Every visitor.

Flip Contextual Match on for an existing widget in two clicks. Watch the conversion rate climb without writing a single A/B test.

✓ No new SDK✓ Edge-served <50ms✓ Zero CLS