See exactly why that visitor didn't buy

Watch real visits to your store: the rage clicks, the dead buttons, the error that broke Add to cart. Inputs are masked in the browser. No cookies.

No card · One script tag · Every feature on the free plan

shop.example.comLinen shirt$48.00Email************Add to cartSize guideRage click ×3!JS error at 0:40TypeError: variant is undefined0:42 / 1:30desktopIN1 JS error1 rage click1 dead click0:30Dead click0:37Rage click0:40JS errorCreate share link
Works onShopifyWooCommerceMagentoWordPressNext.jsany HTML site
  • No cookies
  • Inputs masked in the browser
  • Shopify checkout never recorded
  • DPA available

We use Replayfy on our own Shopify apps' admin pages every day. See our Shopify apps

What you'll see in every replay

Rage clicks and dead clicks

Detected as they happen and counted on every session, so you can go straight to the visits that went wrong instead of scrubbing through the ones that went fine.

The JavaScript error, at the second it fired

Every error is captured with its message and the moment it happened. Click it in the timeline and the replay jumps to it.

Every page, click and scroll

The page as the visitor saw it, recorded as changes to the page rather than video, with single-page-app navigation, the country and the device type.

How it works

  1. 1

    Create a free account

    No card. Add your site and it gets its own key.
  2. 2

    Paste one script tag

    Into the <head> of your site (it is shown below). It loads async, so it never blocks the page. Install guide
  3. 3

    Watch the visits that went wrong

    Filter to sessions with errors or frustration, press play, and click any error in the timeline to jump to the second it happened.

Your script tag, with your site's key in place of pk_YOUR_KEY:

<script async src="https://cdn.replayfy.com/t.js" data-key="pk_YOUR_KEY"></script>

Recording a page shouldn't mean recording a person

Masking and URL redaction happen in the visitor's browser, before anything is sent.

Recorded

  • The page itself, as changes to it, not video
  • Clicks, scrolls, mouse movement and every page visited
  • Rage clicks, dead clicks and JavaScript errors, each at its moment
  • The country and the device type (desktop, tablet or mobile)
  • The referring page, the browser's user-agent string and the viewport size
  • Which checkbox or radio button is ticked. Put a sensitive one inside an element with data-sr-block to keep it out

Never recorded

  • What visitors type into form fields, passwords included: each character is masked in the browser. A rich-text editor needs class="sr-mask"
  • Shopify's checkout, and any page whose path has a /checkout or /checkouts segment
  • IP addresses: only the country is kept
  • Cookies, or a persistent identifier. Visits are tied to one person only if your site passes its own user id to __sr.identify()
  • Tokens, emails and search terms in URLs: stripped in the browser, and again on our side

Exactly what is and isn't recorded

Priced by sessions. One meter, and we never move you off it.

Most tools in this category count pageviews, or silently start sampling when you cross a line nobody showed you. We count sessions, we show you the number, and when you reach it we stop storing and tell you — we never upgrade you on your own behalf and we never bill an overage.

Free

$0 forever

2,000 sessions a month, 30-day history, 2 sites, 3 teammates.

Start free

Solo

$9/mo

In India: ₹499/month incl. GST

15,000 sessions a month, 90-day history, 5 sites, unlimited teammates.

Choose Solo

Growth

$29/mo

In India: ₹1,999/month incl. GST

60,000 sessions a month, 120-day history, 20 sites, unlimited teammates.

Choose Growth

US-dollar plans are for business use outside India. Any tax due where you are — for example VAT or GST under a reverse-charge rule — is yours to account for. In India, you pay in rupees with GST included.

All four plans and what's in them

Questions people ask first

Will it slow my store down?

The recorder is one script of about 27 KB gzipped, and it loads with async, so it never blocks your page from rendering. What it records is compressed in the browser and sent in the background. If you want to record less, you can set it to record only a sample of visits.

What about GDPR?

For your visitors' data you are the controller and we are the processor, and our data processing addendum sets out the terms. Inputs are masked in the browser, no cookie is set, IP addresses are never stored, and Global Privacy Control is honoured by default. EU regulators expect prior consent for session replay: turn on consent mode and nothing is recorded until your consent banner says yes.

Does it record Shopify checkout?

No, by design. Recording stops the moment a visitor reaches Shopify's checkout, or any page whose path has a /checkout or /checkouts segment, such as /en/checkout/payment. A checkout at another address is not detected, so leave the snippet off it.

What happens when I reach my monthly limit?

We keep counting, stop storing new recordings until the month resets, and email you at 80% and at 100%. We never move you to a bigger plan and never bill an overage. Visits already being recorded finish, and everything already recorded stays watchable.

Paste one script tag. Watch your first session in a minute.

Works on Shopify, WooCommerce, Magento, Next.js — anything that renders HTML in a browser.

Create a free account