Start free

Which one fits you.

Pick Rybbit if

You want open source analytics you can host yourself, and you are happy to read the dashboard on your own.

  • You want to read the code and run it on your own server
  • Your developers want errors and web vitals next to the traffic
  • You have time to watch replays, or an agent you already trust

Pick GrainQL if

You have no analyst, and you want the cause of a drop named for you, not one more dashboard to read.

  • Nobody on the team has time to watch session recordings
  • You want to hear about a drop before you go looking for it
  • You run paid campaigns and need to see which paths end in a sale

What actually differs.

Three situations where the choice shows.

The number dropped. Somebody has to read it.

Signups are down since Tuesday. You have the funnel, the sessions and the replays. You do not have a free afternoon.

Rybbit

Rybbit shows which funnel step leaks and lets you filter the replays behind it. Reading them is your job, or the job of a Claude or Cursor agent you connect over MCP.

GrainQL

Neo reads the sessions for you. Ask why signups dropped and get a first answer in about 3 seconds, with the cause named and the recordings attached.

Nobody asked the question yet.

Checkout broke on Friday night. Nobody opened the dashboard until Monday.

Rybbit

Rybbit sends scheduled email reports, daily, weekly or monthly. They carry the numbers. Spotting the drop inside them is up to you.

GrainQL

Neo sends a daily digest and flags drops and spikes without being asked. You find out before Monday.

Where on the page they gave up.

The pricing page gets traffic and few clicks. You want to see how far people scroll and what they tap.

Rybbit

Rybbit records sessions and captures clicks automatically, but it has no heatmaps. You watch replays one at a time to build the picture.

GrainQL

GrainQL has click and scroll heatmaps on every plan. Ask Neo about the page and it attaches the recordings worth watching.

Row by row.

Checked against Rybbit's own site in October 2026.

Finding the cause

Built-in analyst that names the cause
Rybbit
No.Runs no model of its own
GrainQL
Yes.Neo
Ask a question in plain words
Rybbit
Partly.Through your own MCP client
GrainQL
Yes.In the app, or over MCP
Drops and spikes flagged for you
Rybbit
Partly.Scheduled email reports
GrainQL
Yes.Daily digest and alerts
Shareable investigation report
Rybbit
Partly.Public dashboard links
GrainQL
Yes.Deep Investigation

Seeing the evidence

Session replay
Rybbit
Yes.Pro plan and up
GrainQL
Yes.Every plan
Funnels and user journeys
Rybbit
Yes.Yes
GrainQL
Yes.Tracks
Click and scroll heatmaps
Rybbit
No.No
GrainQL
Yes.Yes
Error tracking and web vitals
Rybbit
Yes.Yes
GrainQL
No.No
Multi-touch channel journeys
Rybbit
Partly.UTM capture and campaign reports
GrainQL
Yes.Channels

Setup and upkeep

Track a click without code
Rybbit
Yes.Autocapture
GrainQL
Yes.Visual picker
Mobile app SDKs
Rybbit
Partly.React Native SDK
GrainQL
Yes.Native iOS and Android
MCP server and API
Rybbit
Yes.Yes
GrainQL
Yes.Yes

Data and ownership

Open source
Rybbit
Yes.AGPL v3
GrainQL
No.No
Self-hosting
Rybbit
Yes.Free, with Docker
GrainQL
Partly.Enterprise deployment only
Cookieless, EU-hosted cloud
Rybbit
Yes.Yes
GrainQL
Yes.Yes

What it costs.

Rybbit starts cheaper, and costs nothing if you host it yourself. With GrainQL you pay more so that Neo does the reading.

Rybbit

Rybbit cloud is priced by monthly pageviews, from $13 a month billed annually. Session replay needs the Pro plan, from $26 a month. Self-hosting is free.

When Rybbit is the better pick.

Fair is fair.

You want open source you can host.

Rybbit is AGPL v3 and installs on your own server with Docker. GrainQL is closed source, and self-hosting exists only as an Enterprise private deployment.

Price decides it.

Rybbit Standard starts at $13 a month billed annually, and Pro with replay at $26. GrainQL starts at $29. Self-hosted Rybbit is free.

Your team is mostly developers.

Rybbit tracks JavaScript errors and Core Web Vitals next to your traffic, and its MCP server plugs into Claude Code or Cursor. GrainQL does not track errors or vitals.

Try both for two weeks.

Both scripts are cookieless and run on the same page. Keep Rybbit exactly as it is and add GrainQL for the 14-day trial.

  1. 1

    Add the GrainQL tag next to Rybbit.

    Paste one script tag in the head, or add it in GTM. It takes about two minutes. Rybbit keeps counting as before.

  2. 2

    Ask both the same question.

    Pick one real drop from the last week. Find the cause in Rybbit's funnels and replays. Then ask Neo, and compare the time and the answer.

  3. 3

    Decide on day 14.

    If Neo found things you would have missed, keep GrainQL. If Rybbit already tells you enough, stay there and save the money.

Get the side-by-side test plan.

One page on running GrainQL next to Rybbit: what to install, what to compare, how to decide.

Questions.

Yes. Rybbit ships session replay, funnels, journeys, goals, retention, error tracking and web vitals. Replay is on its Pro plan and up. GrainQL has replay and funnels on every plan, plus heatmaps, which Rybbit does not have.