Hotjar alternative: Contentsquare (formerly Hotjar) and AgentFirstStack Replay
Hotjar is now part of Contentsquare: new Hotjar accounts can no longer be created, and new users sign up for Contentsquare instead (as of 6 November 2026). If you want a Hotjar alternative an AI agent can run, AgentFirstStack Replay is open-source session replay that an agent sets up and reads over an API: recordings masked in the browser by default, every session as a text transcript, rage, dead and error clicks, and heatmaps as data. Contentsquare is the better choice for a polished interface for non-technical teams, mobile app SDKs, its Sense AI assistant and long replay access on paid plans.
Set it up with one prompt
Recording sessions is a bigger privacy decision than counting visits, so the prompt keeps the default masking and asks for consent where the law requires it.
Add session replay to this project with AgentFirstStack Replay. It's free, open-source session replay built for agents, masked in the browser by default, and you can do the setup yourself: there is no signup form. 1. Read https://agentfirststack.com/llms.txt and https://replay.agentfirststack.com/llms.txt. 2. If this project's .env already has AGENTFIRSTSTACK_API_KEY, use it and read AGENTFIRSTSTACK.md. Otherwise get a key: curl -X POST https://agentfirststack.com/v1/signup, and save api_key in .env as AGENTFIRSTSTACK_API_KEY and in the production secrets. 3. Create a replay site for the production domain. If the site already runs AgentFirstStack analytics, link it with analytics_site_id. Serve the recorder first-party if you can: the direct snippet behind a proxy of a path on our own domain, as the replay manual describes. 4. Keep the default masking. Unmask only interface text (nav, buttons, links, headings, labels), and set require_consent to "eea" unless I've decided otherwise. 5. Deploy, open the site once with ?afsr=1 and click through the main pages, then run verify and fix what it reports. 6. If the site runs Hotjar or Contentsquare, tell me, and leave it installed: recordings can't be moved, so the old tool stays until its history runs out or I say so. 7. Write the replay site id and the env var name (never the key) in AGENTFIRSTSTACK.md, and create a claim link for me with POST https://agentfirststack.com/v1/claim-link. Tell me what you set up, what verify returned, how to turn replay off, and give me the claim link.
What happened to Hotjar
Contentsquare announced it was acquiring Hotjar on 1 September 2021 (press release). Contentsquare's support center now says: "As of 1 July 2025, Hotjar (Hotjar Ltd. Malta) merged into the Contentsquare Group", and that Hotjar's heatmaps, recordings and surveys "can be found in Contentsquare" (Hotjar is now part of Contentsquare, as of 6 Nov 2026). Its Hotjar page adds: "It's no longer possible to create a new account on Hotjar. New users can sign up for free on Contentsquare" (contentsquare.com/hotjar, as of 6 Nov 2026). hotjar.com now redirects there.
So the realistic comparison today is with Contentsquare's Experience Analytics plans, which carry Hotjar's replay and heatmaps.
Contentsquare's plans for replay and heatmaps
From Contentsquare's pricing page, as of 6 Nov 2026:
| Free | Growth | Pro / Enterprise | |
|---|---|---|---|
| Price | $0 | From $39 a month | Custom |
| Monthly sessions | Up to 200k | 7k to 10m | 1m to unlimited |
| Sessions captured as replays | 5% (max. 10k) | 15% (min. 20k) | Up to 100% |
| Replay access | 1 month | 2 months | 2 or 3 months, up to 24 |
| Data history | 1 month | 13 months | 13 months |
| APIs | Not included | Not included | Included |
| MCP tool calls | Up to 300 a month | Up to 36k a year | Up to 72k / 108k a year |
| Sense AI chat | Not included | Included | Included |
Contentsquare masks by default too: "Full masking: All text, numbers, and media are masked (this is the default setup)" (Data masking, as of 6 Nov 2026). It has SDKs for Android, iOS, React Native, Flutter, Cordova and Capacitor apps (Contentsquare docs, as of 6 Nov 2026).
How AgentFirstStack Replay works
A small loader records with rrweb, masks in the browser, and sends compressed chunks. The service works out what happened (pages, clicks with labels and selectors, fields typed into, scroll depth, errors) and finds the frustration signals. The main output is a transcript, one readable line per event, so an agent can read 50 sessions in the time a person watches two:
[00:00.0] page "/pricing" · load · from "google.com" · stayed 15s · saw 64% of the page
[00:05.1] click button "Start trial" {"#plans > div:nth-of-type(2) > button.cta"}
[00:07.9] typed into input[type=email] "Email" name="email" (value masked)
[00:09.3] click x4 in 0.8s button "Pay" {"#checkout button.pay"} [RAGE DEAD ERROR-CLICK]
[00:09.5] JS error "TypeError: Cannot read properties of undefined (reading 'id')" after click on {"#checkout button.pay"} [ERROR-CLICK]
[00:15.0] page "/signup" · push · from "/pricing" · stayed 2s · saw 30% of the page [QUICK-BACK]
- Signals: rage clicks (3 or more clicks within 1 second on the same element), dead clicks (nothing changes within 1 second), error clicks (a JS error within 1 second of a click), quick backs, excessive scrolling, JS errors and, if you turn it on, failed requests. Each session gets a frustration score from 0 to 100.
- Heatmaps as data: per element, clicks, click share, rage, dead and error shares, where it sits on the page and how many pageviews scrolled far enough to see it, plus scroll reach and plain-sentence findings such as CTAs few people scroll to. A rendered heatmap image is available too.
- Surveys and feedback: NPS, CSAT, CES, PMF and free-text surveys with targeting and triggers such as exit intent or after a rage click; each answer links to its session.
- For people: an expiring share link opens the session in a player.
- Privacy: every text node and input value masked in the browser by default; an input value shows only if the page marks that field with
data-afsr-unmask, never for passwords, payment cards or one-time codes; query strings and id-like path segments removed from URLs; no cookies (a per-tab session in sessionStorage); no IP stored; consent for EEA visitors withrequire_consent: "eea", Google Consent Mode or an IAB TCF CMP. - One snippet less: linked to an AgentFirstStack analytics site, the analytics tracker loads the recorder itself. For first-party serving, use the direct snippet behind a proxy of a path on your own domain; the default loader comes from
replay.agentfirststack.com, which ad blockers can block. There's no custom-domain option yet.
On the hosted service: 5 replay sites per account, 200 recorded sessions per site a day, sessions up to 30 minutes and 2 MB, recordings kept up to 14 days, 5 active share links per site. Websites only; there's no mobile SDK.
Side by side
| Contentsquare (formerly Hotjar) | AgentFirstStack Replay | |
|---|---|---|
| Account | Sign up on contentsquare.com | POST /v1/signup, one request |
| Built for | People in a dashboard, with Sense AI chat on paid plans | Agents over REST and MCP; a player for people via share links |
| Reading sessions | Watch replays; an MCP connector on every plan for metrics, funnels, journeys and errors (announcement) | Text transcripts, search by signal, page, error or survey answer |
| Replay capture | 5% of sessions on Free, 15% on Growth, up to 100% on Pro | Up to 200 sessions per site a day; sample rate and forced test recordings |
| Replay retention | 1 month (Free) to up to 24 months (Pro, Enterprise) | Up to 14 days |
| Default masking | Full masking of text, numbers and media | Every text node and input value, in the browser |
| Heatmaps | Yes, visual | Yes, as data and as a rendered image |
| API | Pro and Enterprise | Every plan: it's the main interface |
| Mobile apps | Android, iOS, React Native, Flutter and more | No |
| Price | Free, then from $39 a month | Free hosted service with fair-use limits |
| Source | Proprietary | AGPL-3.0; the recorder is MIT |
When to choose which
Use Contentsquare if
- Product, design or marketing people will watch replays and read heatmaps in a dashboard every week.
- You need native app recordings, long replay access, or Contentsquare's journeys, surveys, Sense AI assistant and integrations.
- You already used Hotjar and want your team's workflow to carry on.
Use AgentFirstStack Replay if
- You want an agent to find out why visitors drop off: read the frustrated sessions, group the errors, check whether people see the CTA, and report back.
- You want masking that starts strict in the browser, and no cookies.
- You want replay next to your analytics and tags on one key, or open source you can self-host.
Only want a free replay tool for people to watch? Microsoft Clarity is another option; our Clarity MCP page covers what it returns to agents.
FAQ
Can I still sign up for Hotjar?
No. Contentsquare's Hotjar page says it's no longer possible to create a new account on Hotjar, and new users sign up for Contentsquare instead. Hotjar merged into the Contentsquare Group as of 1 July 2025.
Is there a free Contentsquare plan?
Yes. As of 6 November 2026, the Free plan covers up to 200k monthly sessions with 1 month of data, but captures 5% of sessions as replays, at most 10k, viewable for 1 month. APIs aren't included on Free or Growth.
Can an AI agent read session recordings?
With AgentFirstStack Replay, yes: every session is available as a text transcript over REST and MCP, with pages, labelled clicks, masked inputs, scroll depth, errors and rage, dead and error clicks. Recorded page text is marked untrusted so the agent treats it as data.
What does AgentFirstStack Replay record by default?
Everything is masked in the browser before it's sent: every text node and every input value. You unmask interface text such as navigation, buttons and headings. Input values stay masked unless the page itself marks a field with data-afsr-unmask, and password, payment-card and one-time-code fields never show. No cookies are set.
Does AgentFirstStack Replay work in mobile apps?
No, it records websites only. Contentsquare has SDKs for Android, iOS, React Native and Flutter, so it's the better choice for native apps.
Related
- ReplaySession replay for AI agentsFind out why visitors drop off.
- ReplayMicrosoft Clarity MCPSession replay an agent reads as text.
- AnalyticsAgent-first analyticsWhat it is, and what to ask of any tool.
- AnalyticsAdd analytics with an AI agentOne prompt, every step, and what's left for you.
- AnalyticsUmami alternativeTwo open-source analytics tools, compared.
- All servicesOne MCP server for every serviceAnalytics, tags, mail and replay tools on one key.