Blog

Hotjar alternative: heatmaps and recordings that come with uptime checks

4 min read ยท published 2026-10-06

The pitch

Hotjar is behavior analytics: heatmaps, session recordings, feedback polls and surveys, all from one script tag. It has done this since 2015 and it does it well. This post is for the part of the question Hotjar leaves untouched: when the site is down or the checkout throws a 502, an analytics tool has nothing to record, and the visitor who saw the error page is gone. UpControl's script tag records pageviews, clicks, rage clicks and scroll for heatmaps, and it sits next to uptime checks, application logs and product events, so the numbers and the outage land on the same page. A coding agent wires all of it with one npx command. The table and the two lists are the argument; the last section is the move, and it takes about five minutes.

Hotjar (as of 2026-10)UpControl
Free tieryes, with a daily pageview limit3 checks every 5 minutes, status page, 3,000 visits a month
Paid fromsubscription tiers priced by daily pageviews$9/month annual ($11 monthly)
The tagone script tag, plus surveys and polls configured in the dashboardone script tag in the head; its key works only from the site addresses listed on it
Cookiesyes, cookies and local storage, so consent handling is on younone, nothing stored on the visitor's device
Heatmapsyes, in the dashboardyes, per device, drawn over your live page, for your plan's busiest pages
Session recordingsyesno
Uptime and status pagenochecks from every 5 minutes (every minute on paid), free public status page
Self-hostingno, SaaS onlyyes, AGPL-3.0, one compose file

Where UpControl is better

  • The tag watches the site that is serving it. A checkout form that dies on Tuesday shows up as a traffic dip in Hotjar, with no reason attached. Our check opens an incident titled with the cause, "Checkout returning 502" or "DNS error", and the same page carries the deploy that landed before it and the log lines around the failure. Analytics tells you fewer people converted; the incident tells you why.
  • Your coding agent does the wiring. Run npx upcontrol and the agent you already use (Claude Code, Cursor, Codex, Gemini CLI, Copilot, Windsurf, Amp, Aider, Cline, opencode) adds the tag, the checks and the logging. Ask it in plain language to track signups from first visit to purchase, and the funnel is on the dashboard. No tracking code written by hand.
  • Heatmaps over your own live page. We record clicks, rage clicks, mouse movement and scroll depth, and draw the map on the page itself, per device: phones under 768px, tablets under 1024px, desktops above. You see the map where the page actually renders, next to the check that watches the same URL.
  • No cookies, and no consent banner to earn. Nothing is stored on the visitor's device, a visitor is a daily-rotating hash so one person counts once a day, and text on the page and anything typed are never read. With Hotjar, the consent notice for EU visitors is your job and your liability.
  • Uptime and a public status page from the first minute, free. Type a domain on the landing page and a status page for that host exists, with components, incidents and uptime history; the owner claims it with one click. No analytics tool tells the customers anything while the site is down.

Where Hotjar is better

  • Session recordings and replays, full stop. Watch a real visitor scroll, stall and leave, with the mouse trail and the rage clicks in sequence. We have none of that: no recordings, and heatmaps only for your plan's busiest pages. If the question is "show me what this one user did", Hotjar answers it and we do not.
  • Incoming feedback. Polls, surveys and the feedback widget that lets a visitor mark the page and say what annoys them. UpControl records behavior and nothing else; it never asks the visitor a question.
  • Years of refinement on one job. Hotjar has been behavior analytics since 2015, with the integrations, the funnel view and the polish that time buys. Our web analytics is young: pageviews with path, referrer, UTM tags, country, device, operating system and browser, plus the heatmaps above, and that is the list.
  • Deeper history. Hotjar keeps data on its paid plans for far longer than our 31-day ceiling on web analytics. If you audit last quarter's behavior, do it in a tool built for analytics alone.

Switching from Hotjar in five minutes

  1. Open upcontrol.io and type your domain. The public status page exists from that moment.
  2. Claim the page from its link to move it into your account.
  3. Add an HTTP check for the site and one for the API behind it. Alerts go to Telegram, Slack, Discord or email.
  4. Paste our script tag into the head of every page, the same place Hotjar's sits. The two can run side by side while you compare.
  5. Optional, for the "why" behind the numbers: run npx upcontrol in your repo and tell your agent what to log and which events to track.