nepila / merchantos : visitor-intent

Shopify app · MerchantOS

Find the step
where your shoppers stop.

Shopify reports checkout as a single step. Your shoppers go through four. MerchantOS measures each one separately, names the step costing you the most, and counts the cart value that stopped there.

4

checkout steps Shopify reports as one

30

shoppers before it will name a leak

$0

free while in early access

On the Shopify App Store
Leak Report last 7 days Example report

Biggest leak

37 of the 68 shoppers who chose shipping went no further — that is 54% (most likely between 43% and 66%). They never entered payment.

Checkout steps · scaled to the 96 who started

started checkout
96
entered contact info
81
entered address
74
chose shipping
68
entered payment
31
placed the order
27

Cart value that stopped there

seen on 29 of those 37 shoppers

$4,180

The gap

“Reached checkout” is not one moment.

It is four: the email field, the address, the shipping choice, the card. Shopify’s own reports collapse all of that into a single bar, so the one thing you need — which part they walked away from — is the one thing that gets averaged away.

What you see today one step
Reached checkout
96
Placed an order
27

Somewhere in here

Entered contact info
?
Entered address
?
Chose shipping
?
Entered payment
?

69 people disappeared somewhere in those four rows. Nothing tells you which one, so the honest next move is a guess: drop the price, add a badge, rewrite the page, hope.

With MerchantOS four steps
Reached checkout
96
Entered contact info
81
Entered address
74
Chose shipping
68
Entered payment
31
Placed an order
27

The drop is between shipping and payment: 37 of 68. That is a shipping-cost conversation, not a product-page conversation — and it is the difference between a week of work and an afternoon.

One example store, used consistently across this page. Your funnel will have its own shape — the point is that it has a shape at all.

The Leak Report

One page. One sentence at the top of it.

Open the app and this is the first thing on screen — no setup wizard, no dashboard to assemble, nothing to configure. Pick 7, 30 or 90 days and read.

Where you’re losing shoppers 1,284 shoppers · 7d

Biggest leak

37 of the 68 shoppers who chose shipping went no further — that is 54% (most likely between 43% and 66%). They never entered payment. We could see $4,180 of cart value stop there, on the 29 of those 37 shoppers whose cart we could read.

Getting to checkout · of all 1,284 shoppers

visited the store
1,284
viewed a product
612
added to cart
188
started checkout
96

Inside checkout · of the 96 who started

entered contact info
81
entered address
74
chose shipping
68
37 stopped here · 54% (likely 43–66%) · $4,180 cart value seen on 29/37
entered payment
31
placed the order
27

Counted in distinct shoppers, not sessions. Someone who came back five times this month is one row here, at the deepest step they ever reached.

Checkout abandonment

71.9%

most likely 62.2–79.9% · based on 96 shoppers

Above the typical 45–55% band

External benchmark, shown side by side and never mixed into your numbers. It carries its source and the date it was taken.

How much of checkout we can see

89%

24 of 27 orders came with checkout events

3 orders arrived with no checkout events at all. Shop Pay and other accelerated checkouts emit none, so those buyers’ path is invisible to every app — including this one, which is why it is measured and shown rather than quietly assumed.

Mobile vs desktop, at your biggest leak

Mobile shoppers stop here noticeably more often.

Mobile

71%

likely 55–83% · 38 shoppers

Desktop

33%

likely 19–51% · 30 shoppers

This only appears when the gap is wide enough to be real at your numbers. Otherwise the app stays quiet rather than point at random variation.

Why you can act on it

A number you cannot check
is just a confident guess.

Analytics apps are very good at filling a screen. The rules below are enforced in the code that builds your report, and they are the reason it will sometimes tell you less than you wanted.

01

It waits before it accuses

Counts show from the very first shopper. A percentage needs 10 people behind it. Naming your biggest leak needs 30. Below that it shows the counts and says plainly that it is still collecting.

02

Every rate carries its range

“54%, most likely between 43% and 66%” is the honest version of “54%”. The range is a Wilson interval, which stays sensible at the small sample sizes real stores actually have.

03

It tells you where, never why

Nothing observable in a browser reveals a shopper’s reason. The report gives you the step and the money; the why is yours, and you are far better placed to work it out with the step in hand.

04

Nothing is filled in

A checkout with no readable cart value is not counted as $0 — that would quietly drag every total down. It is excluded, and the report tells you how many it could read.

05

No AI touches the numbers

The funnel, the rates and the headline sentence are computed and templated. Same data, same sentence, every time. AI is used elsewhere in the app, and never on a figure you might act on.

06

It errs against itself

Where part of a shopper’s checkout is invisible, the report assumes it went fine. So a leak is never smaller than it looks here — only, possibly, bigger.

What it cannot see, stated up front

  • — Shop Pay checkouts. Shopify sends no checkout steps for them. The order still counts; the path does not exist to be measured.
  • — Anyone who declines your cookie banner. They produce no events at all, so your real visitor numbers are higher than the ones on the page.
  • — Why anyone did anything. See rule 03. Anything else on the subject is a story, however well it is written.

Where shoppers say they give up

Industry survey figures, shown as context only. This is not your store, and the app never mixes these into your numbers.

Unexpected shipping cost
48%
Forced account creation
24%
Payment hesitancy or trust
18%
Preferred payment missing
9%

Useful for one thing: if your leak sits between shipping and payment, the top row is the first hypothesis worth testing.

The weekly email

You should not have to remember to check.

An app you have to visit is an app you stop visiting. Once a week the report comes to you instead — and only when there is something in it.

  • Nothing found, nothing sent. A quiet week produces no email. The subject line is the finding itself, so an empty one has no reason to exist.
  • Written by the same rules. Same counts, same ranges, no AI. What the email says is exactly what the dashboard says.
  • One click to stop it. Unsubscribe works without logging in, and it never spends the email allowance on your plan — that budget is yours.
Example email

Subject

37 shoppers stopped at “chose shipping” last week

Your weekly Leak Report

Example Store · last 7 days · 1,284 shoppers

Biggest leak

37 of the 68 shoppers who chose shipping went no further — that is 54% (most likely between 43% and 66%).

started checkout 96

chose shipping 68 · 37 stopped

placed the order 27

Sent once a week, and only when there is a finding. Unsubscribe at the bottom, no login needed.

The other half

Then: who is in the shop right now.

The report is the store-level view. Visitor Intent is the close-up — the same events, read one shopper at a time, so you can look at an individual session and see what it did.

Today · ranked live
#4821 HOT 3rd visit · cart $248 94
#4819 WARM reached shipping · cart $76 72
#4817 COLD first visit · 4s on landing 22
Session summary

Third visit this week. Reached the shipping step twice and left both times.

Written from that session’s own events, and shown next to the events it was written from.

A score with a floor under it

How far a shopper got through checkout sets a minimum score, so someone who reached the card field never reads as cold. Browsing and repeat visits add to it from there.

It cools down on its own

Yesterday’s hot lead is not today’s. Scores decay with time and lift again when someone returns, so the list is about now rather than about last week.

Ranked by what it is worth

The day’s list is ordered by intent against cart value, so a $400 maybe outranks a $20 certainty. 100 is reserved for a confirmed purchase and nothing else can reach it.

Act, if you want to

Where a shopper left an email at checkout you can send them a single-use discount code by hand. Nothing goes out on its own — every send is a decision you make.

Day one

Useful before you have traffic.

2 min

Install from the App Store and it starts recording. No snippet, no theme editor, no developer.

0

Shopper emails needed. The report is about steps and counts, not about building a list.

1st

Visitor already shows up. Counts are honest at any size, so the funnel is never an empty screen.

30

Shoppers through checkout and it starts naming your biggest leak. Small stores get there in weeks, not quarters.

It also runs without you. There is no live dashboard to sit in front of, no chat to answer, no window you have to catch a shopper in. Install it, ignore it, and read the email on a Monday.

Watch it work

A look inside the dashboard.

Recorded before the Leak Report shipped, so it shows the visitor side of the app rather than the funnel.

Pricing

Free, while we learn from you.

The app is in early access and every feature is open. No plans to choose between, no card, no trial clock counting down.

Early access

$0/mo

We would rather have merchants using it and telling us what is wrong than a pricing page nobody gets past.


  • Leak Report · 7, 30 and 90 days
  • Weekly email digest
  • No cap on visitors tracked
  • Every visitor, every score, nothing hidden
  • Unlimited AI re-reads of a session
  • Support from the people who wrote it
Install free

If we introduce paid plans later, merchants already using the app hear it by email first and nothing starts charging on its own. Uninstalling removes your data either way.

Common questions

The honest answers.

Does Shopify not already show me this? +

Shopify shows you sessions that reached checkout and sessions that converted. Inside checkout it is one step. The four milestones — email, address, shipping, card — are available to apps through the pixel, and separating them is the whole point of this one.

How much traffic do I need before it is useful? +

Counts appear from the first shopper. Percentages need 10 people behind them, and naming your biggest leak needs 30 through checkout. Under that the report says it is still collecting rather than dressing up a small number as a finding.

Will it slow my store down? +

No. The pixel runs in Shopify’s own sandbox, off your store’s critical path, and there is no script for you to paste into a theme. Nothing it does can block a page from rendering.

What about Shop Pay? +

Shop Pay and other accelerated checkouts emit no checkout events, so nobody can see those shoppers move through the steps. Their orders are still counted, through the order webhook, and the report shows you what share of your orders this affects rather than hiding it.

What data do you collect about my visitors? +

Behavioural events only — page views, cart actions, checkout milestones. No personal details unless a customer identifies themselves at checkout. IP addresses are hashed before they are stored. One-click export, manual delete, automatic retention windows, and full redaction on request.

Does the AI write the numbers? +

Never. The funnel, the rates, the ranges and the headline sentence are computed and templated, so the same data always produces the same report. AI is used to summarise an individual visitor’s session, and it only describes events that were actually recorded — shown next to those events so you can check it.

How is this different from Klaviyo, or a session recorder? +

Klaviyo sends the email once you already know what to say. Session recorders hand you videos and let you find the pattern yourself. This tells you which step to look at first, so anything you do next — including watching a recording — starts from an answer instead of a hunch.

What if it does not work for my store? +

It costs nothing to find out. The app is free while in early access, with no card and no trial clock. Uninstall and your data is exported and deleted within 24 hours — no cancellation email, no retention call.

Who built this? +

Nepila, an independent software studio. Support email reaches the people who wrote the code, which during an early rollout is the whole advantage. Get in touch.

Stop guessing

where they go.

Install it, forget it, and find out on Monday which step is costing you the most.

Install on Shopify

Free while in early access · no card required