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

The right proof for the right visitor.

One widget on the page. Contextual Match evaluates page path, referrer, UTM, and page-tag rules, then filters the eligible testimonials for that request before the widget renders.

Match inputsPath · referrer · UTM
SelectionDeterministic rules
MeasurementObserved per rule
Live match/flowline.co/pricing
Carousel · “Mid” style·server-resolved
SAME <WIDGET ID=“HERO-CAROUSEL”>
↓ DIFFERENT PROOF SERVED
Visitor Aillustrative
utmagencies
reflinkedin.com
path/pricing
page tagb2b
★★★★★

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 Billustrative
utmproducthunt
refproducthunt.com
path/pricing
contentlaunch
★★★★★

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 servedexplicit base fallback
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 uses bounded request context to choose a proof filter — without maintaining a separate widget for every campaign or page.

1 embedroute different eligible proof by page, referrer, and campaign context while keeping the base widget configuration intact.
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.

Matching is resolved server-side before the widget renders. The browser still makes the normal widget-data request.

01

Read

The loader sends bounded page path, referrer domain, UTM source, medium, campaign and content, plus optional page tags with the widget-data request.

> read.signals(req)
utm_campaign: "agencies"
referrer: "linkedin.com"
path: "/pricing"
page_tag: "b2b"
bounded request context
02

Match

Enabled rules are evaluated by priority. The first matching rule applies its configured proof filters to the eligible testimonial pool.

FIRST ENABLED RULE MATCHED
IF utm = "agencies"
AND path = "/pricing"
THEN match tag AGENCY
proof filter applied · 2 eligible
03

Serve

The server returns the selected proof and match metadata. The async runtime then renders the response inside the widget's Shadow DOM.

RESPONSE · MATCHED RULE
★★★★★
★★★★★
async runtime · explicit fallback
03Match inputs

Four context groups. No identity profile required.

Rules use the request context implemented by the public widget API. Language can also guide translation, but is not a match condition.

Page path
Match exact paths or wildcard path patterns from the current page.
path: /pricing/*
Referrer domain
Match the normalized domain that referred the current page request.
ref: linkedin.com
UTM parameters
Match source, medium, campaign, or content values from the URL.
utm_campaign=agencies
Page tags
Add bounded tags on the embed when your page already knows its context.
pageTags=b2b,pricing
04Tag system

Context chooses the rule. Filters choose the proof.

Each contextual rule reuses the widget's implemented auto-sync filters, including tags and optional Proof Intelligence fields.

Content
Minimum rating
Text
Video
Audio
Source
Source account
Custom
Tags
Include tags
Exclude tags
Campaign proof
Industry proof
Persona tag
Objection tag
Custom
AI fields
Theme
Feature
Use case
Sentiment
Showcase score
AI score sort
Custom
Selection
Maximum items
Sort order
Theme diversity
Translation
Base fallback
No override
Custom
Proof Intelligence can enrich eligible testimonials with themes, features, use cases, sentiment, and a showcase score for rule-level filtering.Explore Proof Intelligence
05Match rules

Priority rules. Explicit fallback.

Enabled rules run in priority order. If the contextual pool is too small, choose the base auto-sync pool or keep the contextual result without overriding it.

Active rulesEXAMPLE
New rule
1
Agency campaigns
utm_campaignisagenciesANDpathmatches/pricing*AGENCYMID-MARKET
enabled
2
Hacker News developers
referrerisycombinator.comDEVELOPERAPI
enabled
3
Launch campaign
utm_sourceisproducthuntANDutm_contentislaunchFOUNDERROI
enabled
4
Pricing comparison
page_tagiscomparisonANDpathmatches/compare/*SWITCHINGTRUST
enabled
Base auto-sync fallback
used when the contextual pool is below its threshold
BASE_AUTO_SYNC
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 eligible · base fallback available
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 campaignexample
campaignagencies
referrerlinkedin.com
path/pricing
★★★★★

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

Priya R. · Reel Studio
AGENCYB2B
Product launchexample
sourceproducthunt
contentlaunch
path/pricing
★★★★★

ROI clear by week two — kept the cheapest plan.

Dev S. · Arclight
FOUNDERROI
Developer referralexample
referrerycombinator.com
page_tagdocs
path/integrations
★★★★★

Webhook payloads were exactly what I needed.

Aisha K. · Replicate
DEVELOPERAPI
Comparison pageexample
campaignswitching
page_tagcomparison
path/compare/legacy
★★★★★

Two weeks in, the data alone was worth it.

Jordan T. · Lattice
SWITCHINGTRUST
07Delivery & measurement contract

Contextual delivery, stated precisely.

No invented latency, layout-shift, legal-compliance, or automatic-lift promises. These are the guarantees the implementation supports today.

Server-resolved selection
The widget-data route evaluates context and selects the eligible proof before the runtime renders its response.
Bounded request inputs
Path, referrer, UTM values, and up to ten page tags are length- and count-bounded at the public API boundary.
Explicit fallback
Choose the base auto-sync pool when a contextual result is too small, or keep the contextual result with NO_OVERRIDE.
Consent-aware measurement
Matching itself does not require an identity profile. Proof Impact analytics honor consent, GPC, and DNT controls.
Observed per-rule evidence
Published-widget events can be broken down by contextual rule. The UI labels this observational attribution, not causal lift.
Existing embed workflow
Contextual rules use the managed widget runtime and the same widget key; no separate personalization SDK is required.
Resolution
Server-side
Match inputs
Bounded
Fallback
Explicit
Evidence
Per rule
08Connects to the rest of the platform

Not a feature flag. The delivery layer.

Contextual Match combines widget selection filters, Proof Intelligence enrichment, and Proof Impact evidence without claiming unsupported integrations.

Proof Intelligence
Use analyzed themes, features, use cases, sentiment, and showcase score as proof filters inside a contextual rule.
Tags & sources
Include or exclude testimonial tags, sources, media types, ratings, and source accounts in each rule's proof filter.
Widget Builder
Configure Contextual Auto Sync on supported published widgets, preview request context, and inspect the resolved rule.
Proof Gap Autopilot
Collection recommendations can help expand the proof library that contextual filters draw from after approval and publish.
Proof Impact
Published-widget impressions can receive observed conversion attribution by contextual rule — not causal lift.
Match diagnostics
The widget response exposes matched-rule, fallback, and guarded optimization metadata for runtime diagnostics and analytics.
09Spec sheet

Limits, formats, fine print.

Resolution
Server-side before widget render
Path input
Exact or wildcard patterns
Referrer input
Normalized domains
UTM inputs
Source · medium · campaign · content
Page tags
Up to 10 values per request
Rule order
Enabled rules by priority
Proof filters
Auto-sync + optional AI fields
Fallback modes
BASE_AUTO_SYNC · NO_OVERRIDE
Response cache
60s max-age · 300s stale revalidate
Analytics
Consent-aware match events
Impact evidence
Observational · per contextual rule
Plan
Premium+
PROOF INTELLIGENCE · PREMIUM+

Same widget. Right proof.
Every visitor.

Configure request-context rules on a supported widget, publish them, and inspect observed per-rule results in Proof Impact.

✓ No new SDK✓ Server-resolved rules✓ Observed per-rule evidence