i'm om yaduvanshi. i'm 18, an applied ai developer building cloudline, a cookieless google analytics alternative. one script tag, under 2 KB, no cookies, no stored ips.
to report "this visitor scrolled 75% of the page", you have to know it's the same visitor across scroll events. the usual answer is a cookie. here's how i got around it.
scroll events are cheap. the browser fires them for free. the hard part is connecting a dozen scroll events to one visit. most tools do that with a session id in a cookie.
take the cookie away and the events don't connect. that's the whole problem.
forget the visitor for a second. scroll depth is simpler than it sounds: for each pageview, what's the deepest point reached? cloudline reports it in four buckets: 25, 50, 75, 100%.
scroll depth is a property of the pageview. it says nothing about the reader. a speed-scroller and a careful reader both show 100%. the number tells you where attention drops, not how deep it goes.
if every pageview is already anonymous, there's nothing to stitch. cloudline's script logs a pageview with four things: page, referrer, screen size, time. the deepest scroll mark rides along with that same pageview. the browser already knows how far it scrolled, so only the bucket number leaves the page. no cookie to read and nothing to fingerprint.
nothing about the visitor is stored, because nothing about the visitor is needed.
the buckets only mean something against the page.
a cliff between 50 and 75% on a long post means the middle drags. 100% on a pricing page with no clicks means people saw the price and left. low numbers on a short page mean nothing, the page just ends.
i check one thing per page: where's the biggest drop between buckets. that's the paragraph to rewrite.
scroll depth can't tell reading from skimming, and it can't tell you why someone stopped. on short pages the buckets are noise.
it's one number per pageview. treat it like that and it's useful.
cloudline is free for early users while i keep building it. cookieless analytics in one line of code.
— om yaduvanshi