SATURDAY, 8 AUGUST 2026 · Nº 220

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.

01The 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.

FieldWhat it is
site idwhich of your sites this is
visitor idrandom UUID in localStorage — no cookies, resettable
session idrandom UUID, 30-minute sliding window
page URL & referrerwhere the event happened, where they came from
utm source / medium / campaignread from the URL, if present
timestampwhen
engaged time & scroll depththe raw hook signal — milliseconds and %
CTA link URL & textwhich button, first 120 characters of its label
click positionx/y normalized to the page, viewport & page size
click selectora 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.

02Funnels & 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.

funnel — sleep gummies (us) · yesterday
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

03Hook 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.

hook signal — raw, per landing
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 ✓

04Click 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.

click density — /advertorial/why-sleep
░░░▒▒░░░░░░░░░░░░░░░
░▒▓█▓▒░░░░░░░░░░░░░░   ← hero CTA (34%)
░░▒▒░░░░░░░░░░░░░░░░
░░░░░░░▒▒▒░░░░░░░░░░   ← testimonial link
░░░░░░░░░░░░░▒░░░░░░
░░░░░▒▓█▓▒░░░░░░░░░░   ← buy button (41%)
░░░░░░▒▒░░░░░░░░░░░░

8,012 clicks · mobile 71% · desktop 29%

05Session 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.

session 8f31 — mon 14:02 · mobile
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 ✓

06Changelog & 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.

timeline — /advertorial/why-sleep
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%"

07Shopify

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”.

shopify admin → apps → remnet
  App embed
  ┌──────────────────────────────┐
  │  RemNet tracker    (●━━  ON) │
  └──────────────────────────────┘

  status:   live on all templates
  edits:    0 lines of theme code
  orders:   syncing nightly at 03:00 ✓

08The 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.

the night shift — every night
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.

Free while in beta

Read tomorrow’s paper.