The product
What’s in the box.
Every claim on this page is checkable — the tracker's entire vocabulary is documented below, including what it will never say. That's the standard we'd want as customers.
Nº 01—The tracker
Every field it sends.
All of them. Here.
One deferred script, under 5 KB gzipped, zero dependencies, zero cookies. It records three things — pageviews, a raw engagement signal, and CTA clicks (plus click positions for heatmaps) — and ships them by beacon so it never blocks your page.
It deliberately knows nothing about funnels or steps. It reports facts; our servers decide what they mean. That’s why changing your funnel later re-computes history instead of breaking it.
| Field | What it is |
|---|---|
| site id | which of your sites this is |
| visitor id | random UUID in localStorage — no cookies, resettable |
| session id | random UUID, 30-minute sliding window |
| page URL & referrer | where the event happened, where they came from |
| utm source / medium / campaign | read from the URL, if present |
| timestamp | when |
| engaged time & scroll depth | the raw hook signal — milliseconds and % |
| CTA link URL & text | which button, first 120 characters of its label |
| click position | x/y normalized to the page, viewport & page size |
| click selector | a short CSS path like div>a.buy — never contents |
What it never sends
- ✗Anything typed: no form values, no text, no keystrokes
- ✗IP addresses — used in transit, never stored on events
- ✗Fingerprints — no canvas, fonts, or device-ID tricks
- ✗Third-party IDs — nothing shared with ad networks, ever
Server-side, the user agent is reduced to a coarse device class (mobile / tablet / desktop) and discarded.
Nº 02—Funnels & drop-off
Define the funnel once.
Never tag a page.
Advertorial → sales page → checkout → thank you. You describe that shape in the dashboard; the server assigns every pageview to its step. Rename pages, add a pre-lander, reorder steps — history is re-resolved against the new shape, retroactively.
Drop-off per step is the default screen, not a report you assemble. The biggest leak is circled before your coffee is.
STEP VISITORS KEPT 1 advertorial 12,480 — ████████████████████████████ 2 sales page 3,956 31.7% █████████ 3 checkout 986 24.9% ← biggest leak ██▎ 4 purchased 543 55.1% █▎ 543 orders · €23,946 · CVR 4.35% · RPV €1.92
Nº 03—Hook rate
“Hooked” is your
definition, not ours.
The tracker never decides who was hooked — it sends the raw signals: engaged milliseconds (only while the tab is actually visible) and maximum scroll depth. The nightly close applies your threshold to decide.
Which means you can change your mind. Tighten “hooked” from 10 seconds to 15 and all of history recomputes under the new definition — because we stored facts, not verdicts.
sent by tracker: engaged_ms 14,200 (tab visible only) scroll_max 71% your threshold (editable, retroactive): hooked = engaged ≥ 10s OR scroll ≥ 50% verdict, computed nightly: HOOKED ✓
Nº 04—Click heatmaps
Where they click,
without the creep factor.
Every real pointer click is recorded as a position normalized to the page — plus a short CSS path like div>a.buy. No screenshots of user input, no text, no session-cam voyeurism. Density over your layout, per page, per day.
First-party, like everything else: the heatmap pipeline is ours end to end, not a Hotjar embed wearing our logo.
░░░▒▒░░░░░░░░░░░░░░░ ░▒▓█▓▒░░░░░░░░░░░░░░ ← hero CTA (34%) ░░▒▒░░░░░░░░░░░░░░░░ ░░░░░░░▒▒▒░░░░░░░░░░ ← testimonial link ░░░░░░░░░░░░░▒░░░░░░ ░░░░░▒▓█▓▒░░░░░░░░░░ ← buy button (41%) ░░░░░░▒▒░░░░░░░░░░░░ 8,012 clicks · mobile 71% · desktop 29%
Nº 05—Session timelines
Every session,
told as a story.
Pages in order, hooked or not, which CTA was clicked, where it ended — and if it ended in an order, the order. When the aggregate looks weird, you read a handful of sessions and the weirdness usually confesses.
14:02:11 /advertorial/why-sleep 14:02:29 hooked ✓ (14.2s · 71%) 14:02:58 cta → "Check availability" 14:03:04 /products/sleep-gummies 14:05:40 /checkout 14:07:02 ORDER #4187 €49.00 ✓
Nº 06—Changelog & notes
Your graphs get
a memory.
“Why did hook rate jump on the 2nd?” Because you changed the headline on the 2nd — and RemNet wrote it down. Page changes and your own notes become markers on every graph, so cause and effect live on the same axis.
Notes are yours to write (“new TikTok creative live”, “raised price to €49”); change detection is learning to write the rest by itself.
JUL 02 ▲ headline changed hook 58.1 → 64.2 JUL 04 ● note: "new TikTok creative live" JUL 06 ▲ price €44 → €49 cvr 4.61 → 4.35 JUL 07 ● note: "scaling spend +40%"
Nº 07—Shopify
A toggle, not a
code edit.
The RemNet Shopify app installs the tracker as a theme embed — you flip a switch, we handle the rest. No pasting snippets into theme.liquid, no tag manager, no developer on retainer.
It also connects orders: every night, yesterday’s Shopify orders are matched to sessions, which is how conversion and revenue per visitor mean money instead of “events”.
App embed ┌──────────────────────────────┐ │ RemNet tracker (●━━ ON) │ └──────────────────────────────┘ status: live on all templates edits: 0 lines of theme code orders: syncing nightly at 03:00 ✓
Nº 08—The nightly close
Books close at 02:00.
Paper prints at 07:00.
Accounting figured this out centuries ago: you don’t read the ledger mid-transaction. Raw events become sessions, sessions become daily per-page statistics, Shopify orders are reconciled in — then the day is closed and the numbers never move again.
That finality is the product. It’s what makes “versus yesterday” an honest comparison instead of a moving target.
00:00 ─────────── collecting ─────────── 24:00
│
02:00 sessions stitched, scored, closed
03:00 shopify orders reconciled
03:20 daily per-page stats written
07:00 report printed · numbers FINAL ✓Deliberately not in the box
What we won’t build.
A tool this small stays sharp by refusing things. If you need these, you need a different product — genuinely, no hard feelings.
✗ Real-time dashboards
The day is the honest unit of a funnel. We close books; we don't stream rumors.
✗ A GA4 replacement
No 300-metric general-purpose analytics. Every feature serves the funnel or it doesn't ship.
✗ Data resale, ever
Your visitor data trains no models, feeds no ad networks, and is never anyone's 'audience'.
✗ Enterprise theater
No 'book a demo to see pricing', no feature-gated basics, no seat math designed to confuse.
Roadmap that is real: session recordings, automatic change detection, the morning email, more carts than Shopify, and — once the data is boringly reliable — an AI that reads your paper before you do. The plan, not a promise.