V Analytics — Now Live

Stop reading
what happened.
Read what it meant.

The first analytics layer built around how humans actually read on mobile — not where they scroll, but where their eyes stop. Powered by the Viewport Attention Zone™ methodology.

Viewport Attention Zone™ 19-Event Capture AI Behaviour Analysis GDPR + PIPEDA Compliant Zero Cost Infrastructure Your Data. Your Servers.
V Analytics — Live Dashboard · Demo Data
Visitors
1,284
↑ 23% week
Avg Load
1.8s
Real user data
Calc Used
847
66% of visitors
Converted
73
8.6% rate
Rage Clicks
12
0.9% sessions
Funnel Drop-off
Page Load
100%
Scroll 50%+
71.9%
Calculator
65.9%
Email Touch
24.3%
Converted ✓
5.7%
Attention Zones — Avg Dwell
Hero Opener
48.3s
Calculator
62.1s
Metrics Table
18.7s
CTA Block
11.2s

Scroll depth lies. Dwell time doesn't.

Every analytics tool counts where users scroll. None of them measure whether those users actually read what was there.

Standard Analytics
User scrolled to 75% — counts as "engaged" even if they did it in 2 seconds flat
No cursor on mobile — zero gaze data on 90% of your social ad traffic
Above-fold content over-credited for time spent reading below it
No rage click detection — you never know where copy creates confusion
Your data lives on their servers. Subject to their sampling. Their terms.
V Analytics
Viewport Attention Zone™ measures actual dwell time per section — not scroll position
Works on mobile with no cursor — IntersectionObserver + timer = true attention proxy
Each section timed independently — hero, calculator, CTA all measured separately
Rage click detector catches confusion signals — 3+ clicks in 800ms = something's broken
Data goes to your Sheets. Your AppScript endpoint. Your infrastructure. Always.

Viewport Attention Zone™

Eye-tracking research shows 60–70% of reading fixations land in the centre third of the viewing area. V Analytics exploits this by tracking how long each content section occupies that centre band — on any device, with no hardware access required.

MOBILE VIEWPORT
−2 zones
not visible · peripheral
−1 band
upper · secondary
CENTRE ZONE
primary vision · 60–70% fixations
+1 band
lower · secondary
+2 zones
not visible · peripheral
Centre Zone — Primary Attention
Middle 33% of viewport height. When a section enters this zone a timer starts. When it leaves, dwell_ms is recorded. This is the core signal — not scroll depth.
±1 Band — Secondary Attention
One scroll-step above and below centre. Content here is in peripheral vision — seen but not read. Differentiates "passed through" from "actually read".
±2 and Beyond — Not in View
Zero attention signal. Used only as drop-off context — if a user exits while content is ±2 below, they never reached it.

19 events. Every session. Zero PII.

A complete behavioural picture from landing to exit. All compliant. All yours.

page_load
Real user load_ms, TTFB, FCP, above-fold paint — not emulation
safe
attention_dwell
Section ID · Zone · Dwell ms · Scroll % — the VAZ core signal
safeVAZ™
scroll_milestone
25 / 50 / 75 / 100% scroll depth with ms since load
safe
calc_field_input
Field name, value entered, hesitation flag — on blur not keypress
safe
form_abandonment
Which fields filled, which skipped, exact drop point in form
safenew
calc_result_seen
Leak %, monthly loss, annual loss, bounce % — their actual number
safe
email_field_interaction
Boolean touch only — email address never captured, ever
safe
send_click
Funnel completion — total_funnel_ms from first interaction to send
safe
rage_click
3+ clicks in 800ms — confusion signal, element text captured
safenew
copy_event
Section ID only — highest intent signal, text never captured
safenew
tab_visibility
Hidden count, total hidden ms, returned flag — true engagement
safenew
utm_capture
All 5 UTM params — ties session to exact ad placement
safenew
return_visitor
localStorage flag — session count, days since first visit
safenew
drop_off
Last section, last zone, funnel stage — sendBeacon guaranteed
safe
+ 5 more
orientation_change · above_fold_paint · check_click · calc_analyse_click · url_field_interaction
all safe

From raw events to
plain-English behaviour reports

AI BEHAVIOUR ANALYSIS — VENDOR AGNOSTIC

Feed one session's events to any LLM API using your own key. Get a natural-language report that tells you exactly what that visitor was doing, thinking, and why they left — or converted.

Sample output — "This user arrived from Instagram Reels on a 4G iOS device. They spent 62 seconds on the calculator section — the longest dwell of the session. They entered $3,000 monthly spend at 4.2s load speed, saw an $8,100 projected annual loss, and stared at the result for 12 seconds before typing a domain. They abandoned at the email field after 3 seconds without submitting. Classification: highest-intent drop-off. Recommended intervention: reduce friction at the email field — add a trust signal or social proof directly above it."
Attention QualityCentre zone dwell per section — what was read vs scrolled past
Funnel IntentStage reached + drop-off = Browsing / Curious / Evaluating / Ready
Pain ResonanceRage clicks + copy events + dwell = emotional engagement score
Ad-to-Page MatchUTM source + time-to-scroll-25 = did the creative match the landing
Device Frictionload_ms + network + above_fold = was slow load the drop-off cause
Form Psychologyform_abandonment fields = exactly where cognitive friction hit
Copy Resonancecopy_event section = which content block they found worth keeping
Power User Signalorientation + deep scroll + copy = your highest quality sessions

Built compliant from day one

Not an afterthought. The architecture was designed with GDPR, PIPEDA, and Quebec Law 25 as primary constraints.

🇳🇱
GDPR — Compliant
  • No personal data captured at any point
  • Email address never enters the analytics layer
  • IP used only for city/country — never stored raw
  • localStorage avoids cookie consent requirement entirely
  • Data stays in client-owned Google Sheets under their DPA
🇨🇦
PIPEDA + Quebec Law 25 — Compliant
  • Behavioural analytics without PII — no consent required
  • Field values are business signals, not personal information
  • Domain-only URL capture — path and query string stripped
  • No personal data held — zero access request exposure
  • Same architecture satisfies Quebec's stricter Law 25

Ready to see what your visitors
are actually doing?

One engineer. One invoice. No retainer until you've seen the numbers. V Analytics is built and deployed by vSourceCode — 15 years WordPress and Google Ads engineering.

Talk to V → vsourcecode.com See Live Demo →

Viewport Attention Zone™ · V Analytics™ · Algorithm Tax™ · Technical Tax™
Original concepts — V | vSourceCode · First published March 2026