Crazy Egg
A weekend of work, and real gaps remain.
Heatmaps, scroll maps and click reports for a page, plus simple A/B testing. You point it at a URL and it shows where people clicked and how far down they read.
Build me click and scroll maps for my own pages. STACK - A small script, one endpoint, SQLite, and a viewer page WHAT A CLICK IS - Record the nearest stable selector, the offset within that element as a percentage, and the viewport width bucket - Never record absolute page coordinates: a responsive layout makes them meaningless a week later SCROLL - Record the deepest point reached as a percentage of document height, sampled on scroll end and on page hide - Bucket by viewport width, same as clicks THE SNAPSHOT - Capture the rendered page once per width bucket per week and store it - A map drawn over an old snapshot still means something after a redesign; one drawn over today's does not THE VIEWER - Pick a page and a width bucket, draw the snapshot, overlay the points as a blurred density canvas - A scroll ruler down the side showing the percentage of visitors who reached each band Include the script, the schema, the snapshot job and the viewer.
What you lose
- Heatmaps that stay meaningful across breakpoints, which is the hard part — a click at 390px and one at 1440px are not the same click
- Scroll depth normalised across page lengths
- A snapshot of the page as it looked when the data was collected, so an old map still means something after a redesign
- A/B testing wired into the same script
If you would rather not build
- Microsoft Clarity, which does this for nothing
The escape hatch
open source · no votes, no paid placement
OpenReplay
$0Self-hosted replay and heatmaps in one deployment.
openreplay/openreplayfree · open source
Why this verdict
our own opinion · changed only by a person
55/100
Verdict kinda at 55. Collecting clicks is trivial; keeping a map honest across breakpoints and redesigns is what takes the weekend.
History
tracked since 10 Aug 2026 · nothing is ever overwritten
Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.
Questions about Crazy Egg
answered from the record above
Is Crazy Egg free?
No — the plan we track is $29 a month. Plus at $29/month billed monthly, around $24 annually, for 75,000 tracked page views.
Can you replace Crazy Egg by building your own?
ALMOST. A weekend of work, and real gaps remain. Replacement score 55 out of 100, build time a weekend. Read what you lose before you decide.
How much does Crazy Egg cost?
$29 a month on Plus — $348 a year. Recorded 9 Aug 2026.
What do you lose by replacing Crazy Egg?
Heatmaps that stay meaningful across breakpoints, which is the hard part — a click at 390px and one at 1440px are not the same click; Scroll depth normalised across page lengths; A snapshot of the page as it looked when the data was collected, so an old map still means something after a redesign; A/B testing wired into the same script. If any of those carry weight for you, keep paying.
Is there an open-source alternative to Crazy Egg?
Yes: OpenReplay, PostHog. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click.
free forever · no tracking pixel · every prompt stays free on the site