Skip to content
runomine

Plausible alternative

A Plausible alternative that measures from your backend.

Plausible is a great tool: cookieless, open source, hosted in Germany, with a dashboard you get at first glance. If it fits, stay with it.

runomine solves something else: measuring from your app’s server without your visitors’ IP leaving it, and counting the money that comes from your payment provider.

Reviewed on October 14, 2026

The short answer

Pick runomine if…

  • You want to measure from your backend with a library for Laravel, Node, Django, FastAPI or Rust, without forwarding anyone’s IP.
  • You sell through Stripe, Paddle, Lemon Squeezy, Shopify or PayPal and want revenue (and refunds) read from there, by first source.
  • You want funnels and revenue by source without changing plans: during the beta, everything is included.
  • You want to ask your AI assistant about your numbers through an official MCP server.

Pick Plausible if…

  • You want open source you can host yourself (Community Edition, AGPLv3).
  • Your site has no backend of its own, or a script is all you need.
  • You want to import your Google Analytics 4 history.
  • You prefer a product with years in production.

The real difference: where the visitor is computed

Both count unique visitors without cookies, with a hash that changes every day. Plausible computes it on its servers, from the IP and user agent that arrive with each visit, and says it never stores raw IPs.

If you send events from your backend to its Events API, the user agent is required, and Plausible asks you to put the visitor’s real IP in X-Forwarded-For. Otherwise every visit would look like it came from your server.

With runomine, the library computes the hash on your server with your token and the UTC date, and sends only that. The IP doesn’t travel.

What leaves your server
# Plausible Events API, sent from your backend
POST https://plausible.io/api/event
User-Agent: <the visitor's user agent>
X-Forwarded-For: <the visitor's IP>
{ "name": "pageview", "url": "https://example.com/pricing", "domain": "example.com" }

# runomine, sent by the library from your backend
POST https://runomine.com/api/v1/events
Authorization: Bearer rm_live_…
{ "events": [{ "type": "pageview", "url": "https://example.com/pricing",
  "user_agent": "Mozilla/5.0 …", "visitor": "5f9e1bebe31e8bf5" }] }
# no IP: the library hashed it, and it stayed on your server

runomine and Plausible, point by point

runomine and Plausible, point by point
runomine Plausible
Cookies None None
Unique visitors A daily hash computed on your server A daily hash computed on their servers; the salt rotates every 24 hours
How it measures Libraries for PHP, Node, Python and Rust; an optional beacon under 1.5 KB A 2.5 KB script in the browser; the Events API to send from a server
The visitor’s IP reaches the vendor No, with the libraries. With the beacon, yes, and it’s discarded. Yes: with the script, and with the Events API you forward it. No raw IPs are stored.
Revenue Read from Stripe, Paddle, Lemon Squeezy, Shopify or PayPal, with refunds An amount and currency you send with a custom event (Business plan)
Funnels Included Business plan
Open source The libraries and the CLI (MIT); the platform isn’t Yes: Community Edition, AGPLv3, self-hostable
Import from Google Analytics No Yes, GA4, as daily totals
Your analytics in AI assistants (MCP) Hosted MCP server, 17 tools Unofficial: its docs link a community-built server
Price Free during the beta From $9/month (Starter, 10k pageviews); Business from $19/month

How to try runomine without leaving Plausible

  1. Leave Plausible’s script where it is. runomine measures from your backend, so they don’t collide.
  2. Install the library for your stack with runomine init, or add the beacon if your site is static.
  3. Connect your payment provider and pass checkoutMetadata() when you create the checkout, so each sale joins its visit.
  4. Compare for a month. Expect differences: Plausible’s script sees pages your CDN serves from cache and navigation inside an SPA; runomine’s library only sees what reaches your backend (the beacon covers the rest). runomine doesn’t import Plausible data.
Cookieless isn’t the same as GDPR-free. Neither Plausible nor runomine stores anything on the device, but IP and user agent are personal data while they’re processed. runomine is designed to fit the audience-measurement exemption (AEPD, CNIL) for visits and funnels; joining purchases to an identified user may require consent. Assess it with your DPO.

FAQ

Frequently asked questions

Is runomine open source, like Plausible?
Partly. The libraries (PHP, Node, Python, Rust) and the CLI are MIT-licensed, and you can read every line of what you install. The platform isn’t open source and can’t be self-hosted. If that’s a must, Plausible Community Edition is the better choice.
Can’t Plausible take events from a server?
It can, through its Events API. The difference is what you send: Plausible needs the visitor’s user agent and real IP (in X-Forwarded-For) to compute the visitor on its servers. runomine’s library computes the hash on yours and doesn’t send the IP.
Does runomine work on a static site, like Plausible?
Yes, with the beacon: under 1.5 KB, no cookies or localStorage, and it honours Do Not Track and GPC. In that case the IP does reach runomine, which computes the hash and discards it without storing it.
Can I import my Plausible data?
No. runomine imports your payment history (the last 90 days from Stripe, Paddle, Lemon Squeezy or Shopify), not another tool’s visits. You can run both while you compare.

Count what matters.

Visits, sales and servers in one place. Installed in less time than it took to read this page.