Skip to content
Pairfully
  • Product
  • Sample report
  • Pricing
  • Docs
Log inStart free

Know why visitors leave without buying.

One script tag. Every Monday, Pairfully tells you why serious visitors didn’t buy, biggest reason first.

Start freeSee a sample report

Free up to 5,000 sessions a month · No card · No cookies

/cart/pricing/checkoutShipping cost41%Checkout friction22%Trust15%Comparing10%Price7%Unclear5%
You

Live· this page runs Pairfully

Waiting for the script to load…

Works with
  • HTML
  • Next.js
  • WordPress
  • Webflow
  • Framer
  • WooCommerce

Illustration: visits to a store arrive as a scattered swarm, pass through the Pairfully lens and come out sorted into the week’s reasons: Shipping cost 41%, Checkout friction 22%, Trust 15%, Comparing 10%, Price 7%, Unclear 5%.

1,418 recordings you’ll never watch. Or one paragraph.

Recording tools show you what happened. Pairfully tells you why the serious visitors didn’t buy.

Recordings

1,418 · about 64 hours

14–20 Sep 2026Watched: 0

Weekly report · Ardent Leather14–20 Sep 2026

About 1,240 people visited and 38 bought. Of the 214 serious visitors who didn’t, 41% left at shipping costs, 22% hit the discount-code error at checkout and 15% went looking for reviews. For 11 of them we couldn’t tell why, so they’re counted as unclear instead of guessed.

One grey tile per session in the sample store’s week (1,418 sessions, about 64 hours of simulated footage), and the same week as Pairfully reports it.

This lands in your inbox every Monday

One paragraph first, then the reasons, a fix to try for each, and where the visits came from. Most Mondays the paragraph is all you need.

Get yours on Monday

Weekly report · Mon 21 Sep 2026, 07:00SampleData for a made-up store

Ardent Leather14–20 Sep 2026

1,418 visits analysed

About 1,240 people visited and 38 bought. Of the 214 serious visitors who didn’t, 41% left at shipping costs, 22% hit the discount-code error at checkout and 15% went looking for reviews. For 11 of them we couldn’t tell why, so they’re counted as unclear instead of guessed.

Why interested visitors didn’t buy

Out of the 214 visitors who looked ready to buy but didn’t, how many left for each reason. Another 63 visits were too short to rate.

  1. Shipping cost or delivery8841%
  2. Checkout was hard4722%
  3. Didn’t trust the site yet3215%
  4. Comparing options2110%
  5. Surprised by the price157%
  6. Not sure why115%
  1. Fix 1 · affects 41% of them

    Show shipping cost before checkout

    Put the shipping rate and delivery time on the product page and in the cart, not after the address form.

    Pages
    /checkout, /shipping-policy
    Could win back
    ≈ $1,640 a week
  2. Fix 2 · affects 22% of them

    Fix the checkout form

    Check the form errors on the friction page. A failing discount field or a validation loop is stopping people who wanted to pay.

    Pages
    /checkout
    Could win back
    ≈ $870 a week
  3. Fix 3 · affects 15% of them

    Put proof next to the buy button

    Move reviews, guarantees and return terms onto the product page instead of a separate page.

    Pages
    /reviews, /about
    Could win back
    ≈ $600 a week
Visitors (estimated)
1,240
+12.5% on last week
Bought
38
+22.6% on last week
Conversion rate
2.7%
+8.9% on last week
Serious, didn’t buy
214
Pages where visitors gave up
PageLeft hereMain reason
/checkout131Shipping
/cart29Price
/reviews24Trust
/products/tote18Comparing
/shipping-policy12Shipping
Where visitors came from
SourceVisitors% who bought
google / organic4823.1%
direct3123.5%
instagram / social2551.2%
google / cpc1702.9%
newsletter / email715.6%

Biggest reason first

Reasons are ranked by how many serious visits each cost. This week it’s shipping cost, on /checkout.

Unclear, not guessed

11 visits didn’t reach 0.85 confidence. They’re counted, not given a reason.

A fix to try

Each top reason comes with the standard fix, the pages involved and a rough dollar size.

Sample data for Ardent Leather, a made-up WooCommerce store, rendered by the same component your dashboard uses.

Why they left, and who is worth a reply

The weekly report is on every plan. Alerts and lead scoring come with Growth, $49 a month.

Why they didn’t buy

14–20 Sep 2026

214 serious visitors

  • Shipping cost41%
  • Checkout friction22%
  • Trust15%
  • Comparing10%
  • Price7%
  • Unclear5%
Friction page/checkout131
Every plan

Why they leave

Every serious visit that ends without a sale gets one reason, or unclear. The report adds them up, ranks them by how many visits each cost, and names the page where it happened. Shipping cost on /checkout, not a hunch.

Hot visitor14:32

Likely buyer about to leave /checkout

Buying intent
3 of 4
Leaving signal
0.88
USVisitor · USPhone · on /checkout now
Emailed to you
Growth plan

Pinged before they go

When a visit looks like a buyer (intent 3 of 4 or more) and is likely to leave, you get an email while they’re still on the site. Worth having if someone can step in: live chat, a phone line, a sales team.

Leads, best first

Fit · intent

  • WEWholesale enquirySales0.88
  • WEWholesale enquirySales0.67
  • CContactSupport0.41
  • CContactRecruiting0.12
Stored withoutnames, emails or phones
Growth plan

Leads worth a reply

Every form submission gets a fit score, the intent of the visit behind it, and a route: sales, support, partnership or recruiting. Contact details are removed before anything is stored, so you answer the right enquiry first.

When it isn’t sure, it says so

Every visit gets a reason and a confidence. Below 0.85, the answer is unclear, and it’s counted that way.

Visit A

phone · from instagram / social
  1. /tote
  2. /cart
  3. /checkout
  4. /shipping-policy

Shipping cost or delivery

Counted
Confidence0.94
0.85

Above 0.85, so it’s counted as shipping cost or delivery.

Visit B

desktop · from google / organic
  1. /tote
  2. /cart
  3. /shipping-policy
  4. /cart

Unclear

Not guessed
Confidence0.44
0.85

Shipping or price? Both fit. Neither reaches 0.85, so it’s counted as unclear.

Two made-up visits to the sample store, in the shape our model returns. The dashed line is the 0.85 threshold.

Every visit is read by Pairfully’s model. About 30 minutes after a visit goes quiet, it looks at what the script saw (pages and their order, time on each, scroll, clicks, form steps and errors) and returns a reason, an intent level from 0 to 4, and a confidence for each.

Confidence is the part we care about. The number is designed to be read literally: a 0.9 is a strong answer, a 0.6 is a guess. Anything below 0.85 goes into your report as unclear. You get fewer answers than from a tool that always guesses, and you can act on every one you get.

What does unclear cost me?

A small team looking at a laptop together
PairfullyMon 07:00

Your week at Ardent Leather

Shipping cost lost you 88 serious visitors.

  • Shipping cost41%
  • Checkout friction22%
  • Trust15%

Built for the people who run the shop

Most online shops are run by a handful of people, and none of them has an afternoon free for watching recordings. Pairfully gives them one paragraph on Monday morning: what cost the most sales last week, where it happened, and a fix to try.

Read it together over coffee, agree on one change, and check next Monday whether it worked.

Read the sample report

What the script sees, and what it doesn’t

No cookies, no recordings, and nothing that follows a visitor past today.

  • No cookies

    The only thing kept in the browser is a random tab id in sessionStorage, deleted when the tab closes.

  • Personal data stripped

    Nothing typed is read. Emails, phone numbers and ids are removed from labels and errors before storage, and the IP address isn’t stored.

  • No recordings

    No screenshots, keystrokes or mouse movement. Pages, timing, scroll, clicks and form steps only.

  • Tracker 2.5 KB

    Gzipped, loads with defer after your page, and sends small batches without cookies or credentials.

EU and UK consent rules cover more than cookies, so whether your site needs a banner is a question for your lawyer, not for us. The data sheet lists every field and every company that handles it so they can answer quickly. To honour Do Not Track, add data-respect-dnt to the tag; this page does.

Read the data sheet

Set up in two minutes

One script tag on any platform that lets you edit the page head. Nothing else to install.

  1. 1

    Step 1: Add your site

    Name the page people see after they buy or sign up, and your average order if you sell online.

  2. 2

    Step 2: Paste one line

    Before </head>. It’s 2.5 KB and loads after your page does.

  3. 3

    Step 3: Read Monday’s report

    Visits are judged about 30 minutes after they go quiet. Your first report arrives the Monday after.

Paste before </head> on every page.

index.html
<script defer src="https://api.pairfully.com/p.js" data-site="pf_live_7f3a9c2e"></script>

Appearance → Theme File Editor → header.php, above </head>, or any header-scripts plugin. Purchases are counted from WooCommerce’s order-received page.

header.php
<?php wp_head(); ?>
<script defer src="https://api.pairfully.com/p.js" data-site="pf_live_7f3a9c2e"></script>
</head>

Site settings → Custom code → Head code. Publish the site.

Head code
<script defer src="https://api.pairfully.com/p.js" data-site="pf_live_7f3a9c2e"></script>

Site settings → General → Custom code → Start of <head> tag. Publish.

Start of <head>
<script defer src="https://api.pairfully.com/p.js" data-site="pf_live_7f3a9c2e"></script>

In app/layout.tsx, inside <body>. Route changes are tracked automatically.

app/layout.tsx
import Script from 'next/script';

export default function RootLayout({ children }) {
  return (
    <html lang="en">
      <body>
        {children}
        <Script
          src="https://api.pairfully.com/p.js"
          data-site="pf_live_7f3a9c2e"
          strategy="afterInteractive"
        />
      </body>
    </html>
  );
}

When you sign up, your own key replaces pf_live_7f3a9c2e.

Ready when you are

Free up to 5,000 sessions a month. No card.

Start freeInstall guides, goals and lead capture

Flat prices. Unlimited traffic.

Above your quota we judge a representative sample and scale the counts up, so you’re never cut off and never billed extra.

Sessions a month on your site?

Growth: every visit judged, plus live email alerts and lead scoring.

Free

One site and the full weekly report. Enough to find out if it’s right for you.

$0/month

5,000 visits analysed a month

Fits your traffic

Start free
  • Weekly report, by email and in the dashboard
  • Every reason, ranked, with its pages
  • Session detail
  • 1 site
  • 90 days of history
Every feature on Free
Judged sessions / month
5,000
Traffic above quota
Sampled
Sites
1
Weekly report (email + dashboard)
Included
Exit reasons and friction pages
Included
Hot-visitor alerts: email
–Not included
Hot-visitor alerts: Slack and WhatsApp
–Not included
Lead scoring on form submissions
–Not included
API and MCP server
–Not included
White-label report
–Not included
No cookies
Included
Data retention
90 days

Growth

Recommended

For stores and SaaS that pay for their traffic and can act on a live visitor.

$49/month

100,000 visits analysed a month

Fits your traffic

Choose Growth
  • Everything in Free
  • Hot-visitor alerts by email (Slack and WhatsApp soon)
  • Lead scoring on form submissions
  • 3 sites
  • 13 months of history
Every feature on Growth
Judged sessions / month
100,000
Traffic above quota
Sampled
Sites
3
Weekly report (email + dashboard)
Included
Exit reasons and friction pages
Included
Hot-visitor alerts: email
Included
Hot-visitor alerts: Slack and WhatsApp
Soon
Lead scoring on form submissions
Included
API and MCP server
–Not included
White-label report
–Not included
No cookies
Included
Data retention
13 months

Scale

For high-traffic sites and groups of stores.

$149/month

1,000,000 visits analysed a month

Fits your traffic

Choose Scale
  • Everything in Growth
  • 10 sites
  • API and MCP server for your AI assistant
  • 13 months of history
Every feature on Scale
Judged sessions / month
1,000,000
Traffic above quota
Sampled
Sites
10
Weekly report (email + dashboard)
Included
Exit reasons and friction pages
Included
Hot-visitor alerts: email
Included
Hot-visitor alerts: Slack and WhatsApp
Soon
Lead scoring on form submissions
Included
API and MCP server
Included
White-label report
–Not included
No cookies
Included
Data retention
13 months

Agency

For agencies running Pairfully on client sites. A white-label report with your logo is coming soon.

$299/month

3,000,000 visits analysed a month

Fits your traffic

Choose Agency
  • Everything in Scale
  • Unlimited sites
  • API and MCP server for your AI assistant
  • White-label weekly report (soon)
  • 25 months of history
Every feature on Agency
Judged sessions / month
3,000,000
Traffic above quota
Sampled
Sites
Unlimited
Weekly report (email + dashboard)
Included
Exit reasons and friction pages
Included
Hot-visitor alerts: email
Included
Hot-visitor alerts: Slack and WhatsApp
Soon
Lead scoring on form submissions
Included
API and MCP server
Included
White-label report
Soon
No cookies
Included
Data retention
25 months

Every plan starts on Free. Upgrade in Settings → Billing when you’re ready; you’re charged from that day. Billed monthly by card in US dollars. Cancel from Settings, with no call and no annual lock-in.

Compare every feature ↓

Every feature, every plan

Every feature on every plan
FeatureFreeGrowthScaleAgency
Judged sessions / month5,000100,0001,000,0003,000,000
Traffic above quotaSampledSampledSampledSampled
Sites1310Unlimited
Weekly report (email + dashboard)IncludedIncludedIncludedIncluded
Exit reasons and friction pagesIncludedIncludedIncludedIncluded
Hot-visitor alerts: email–Not includedIncludedIncludedIncluded
Hot-visitor alerts: Slack and WhatsApp–Not includedSoonSoonSoon
Lead scoring on form submissions–Not includedIncludedIncludedIncluded
API and MCP server–Not included–Not includedIncludedIncluded
White-label report–Not included–Not included–Not includedSoon
No cookiesIncludedIncludedIncludedIncluded
Data retention90 days13 months13 months25 months

Ask these before you pay

Something else? Email hello@pairfully.com. A person answers.

I already have Clarity or Hotjar. Why pay for this?

Keep them. They show you what one visitor did, and some now summarise sessions for you. Pairfully tells you why the serious ones left, across all of them, biggest reason first, with a confidence behind every answer, in one email. If you open Clarity every week and already find that answer, you don’t need us.

How can a script know why someone left?

Often it can’t, and it says so. Our model reads each visit’s pages, timing, scroll, clicks and form steps, then gives its best answer with a confidence score. Below 0.85, the visit is counted as unclear. The reasons you see are the ones it was sure about.

What does “unclear” cost me, and how much of my report will it be?

Nothing: unclear visits are counted and shown, they just don’t get a reason or a dollar figure. How many depends on your traffic; in the sample report it’s 11 of 214 serious visitors, about 5%. Short or unusual visits are unclear more often, and visits too short to rate at all are counted separately.

How much traffic do I need before the reasons mean anything?

Roughly 1,000 visits a month before the ranking settles. Below that, every visit is still judged, but a reason backed by three visits is an anecdote. The report shows the count next to every reason, so you can tell which is which.

Will it slow my site down?

The script is 2.5 KB gzipped, loads with defer after your page, and sends small batches in the background. It doesn’t block rendering and doesn’t touch your checkout.

Do I need a cookie banner for it?

Pairfully sets no cookies. It does keep a random tab id in sessionStorage and a daily hash of the connection on our server, and in the EU and UK the consent rules cover more than cookies. Whether you need to ask depends on your site and your other tools. The data sheet lists every field so your lawyer can decide quickly; we won’t tell you to skip the banner.

Does it work on Shopify?

Not fully yet. Shopify doesn’t let theme scripts run inside checkout, so Pairfully can’t see purchases there, and a report without purchases would be wrong. A Shopify pixel that fixes this is being built. WooCommerce, WordPress, Webflow, Framer and custom sites work today.

Does it work for SaaS signups and lead forms?

Yes. Choose SaaS or lead generation when you add your site, and name the page people see after they sign up or send the form, or call pairfully.goal('signup') where it happens. The reasons read differently: people leave pricing to compare, stall on a signup form, or go quiet in the docs.

What about WooCommerce, Webflow, Framer or my own app?

Anything that lets you add a script tag to the page head. WooCommerce purchases are counted from the order-received page. In single-page apps, route changes count as page views. There are step-by-step guides for each.

Can I ask my AI assistant about my data?

Yes, on Scale and Agency. They include an MCP server and an API, so Claude, Cursor or any MCP client can answer questions like “why did conversions drop this week?” from your exit reasons, weekly reports and hot visitors. Set it up in a few minutes.

What happens if I go over my sessions?

Nothing breaks and nothing extra is billed. Above your quota we judge a representative sample and scale the report up, and the report says when it’s sampled. Upgrade when you want every visit judged.

You have no customers yet. Why should I trust it?

You shouldn’t have to take our word for it. The free plan needs no card and sends the same weekly report as the paid plans. Install it, read two Mondays about your own site, and decide.

Was my visit to this page judged too?

Yes, like any other. This page runs the same script and respects Do Not Track. Your visit is judged about 30 minutes after you leave and counted, without a name, in our own weekly report.

Who is behind Pairfully?

James, who built it and reads hello@pairfully.com. The company details are at the bottom of this page.

Where is my data stored, and who else handles it?

Pairfully runs on Railway, with encrypted backups on Cloudflare R2. Visit summaries are processed by our AI infrastructure provider under a data processing agreement; the full sub-processor list is in our DPA, available on request.

Can I export or delete my data, and is there a DPA?

Yes. Export or delete from Settings, or ask by email. For your visitors’ data you’re the controller and Pairfully is your processor; email hello@pairfully.com and we’ll send our data processing agreement to sign.

What will the charge look like, and are taxes included?

A monthly card payment in US dollars from Pairfully. Card details go to our payment processor, Bachs; we never see them. Prices don’t include tax. If your country charges VAT or sales tax on software, it’s added at checkout and shown before you pay.

Can I cancel?

Yes. Plans are monthly; cancel from Settings → Billing with no call. Ask and we’ll delete your site’s data.

That was one visit. Your site has thousands.

Live· this page runs Pairfully

Waiting for the script to load…

Start freeNo card. Your first report the Monday after.
  • Weekly report in your inbox
  • Alerts before they leave
  • No cookies, no recordings
  • Free up to 5,000 sessions

Why I built this

A business pays for traffic, the traffic arrives, and almost none of it buys. The owner installs a recording tool, watches a dozen sessions, and still doesn’t know why. Nobody has time to watch enough visits to see the pattern, so I built something that reads every visit and tells you only the pattern, and how sure it is.

Pairfully is new. There are no customer logos on this page because there are no customers yet, and I’m not going to invent any. Install the free plan, read a few Mondays, and tell me what’s wrong with it: hello@pairfully.com. It comes to me.

JU

JamesFounder, Pairfully

Pairfully

Why serious visitors left without buying, in your inbox every Monday.

Product

  • What you get
  • Sample report
  • How it decides
  • Pricing
  • Install guides
  • MCP server
  • API

Company

  • Why I built this
  • hello@pairfully.com
  • Log in

Legal

  • Privacy policy
  • Data sheet
  • Terms
  • Refund policy

© 2026 Pairfully