Skip to content

Comparison

An Umami Analytics alternative that shows which traffic pays

traffic.cx is a good Umami Analytics alternative if you want payments from Stripe, Lemon Squeezy, Polar or Dodo Payments credited to the visits that brought them, on a free plan, without identifying your users first. Umami can also import payments from providers, but on its Pro or Business plans, and it links a payment to a visitor through a distinct ID you set. Stay with Umami if you want open source and self-hosting, a free tier of 100,000 events, session replays and heatmaps, or Paddle and WooCommerce.

Last updated

Feature comparison

traffic.cx and Umami Analytics, feature by feature
Featuretraffic.cxUmami Analytics
Getting startedFree plan: every feature on one site, 3,000 events a month, the last 30 days. Sign up with Google or email. No cardCloud Hobby: $0, up to 100K events a month, 1 website, 6-month data retention. Paid plans have a 14-day free trial, as of 29 Oct 2026
Paid plansBy monthly events (pageviews and custom events), shared across your sitesPro $20/month (1M events, then $0.00003 per event); Business $200/month (10M events, then $0.00002 per event); Enterprise custom, as of 29 Oct 2026
SitesFree: one site. Unlimited on every paid planHobby 1; Pro up to 20; Business unlimited, as of 29 Oct 2026
Team membersUnlimited on every paid plan. Invitations need a paid planNot on Hobby; Pro up to 10; Business unlimited, as of 29 Oct 2026
Open source and self-hostingNot open source. It can't be self-hostedMIT licence. Self-host with Node.js and PostgreSQL, as of 29 Oct 2026
Cookies by defaultNo visitor cookie. Optional cookie mode"Does not use any cookies", as of 29 Oct 2026
How revenue gets inYour payment provider syncs payments in. You pass a pageview ID into checkout metadata. Also a Payments API or script-reported purchasesEvents with revenue and currency properties sent from your site, on every plan, plus payment-provider import on Pro or Business, as of 29 Oct 2026
Payment provider connectorsStripe, Dodo Payments, Lemon Squeezy, Polar, on every planStripe, Paddle, Lemon Squeezy, Dodo Payments, Polar, WooCommerce. Cloud Pro or Business plan required, as of 29 Oct 2026. On self-hosted installs: not stated (unconfirmed)
Linking a payment to a visitPageview ID from trafficcx.pageviewId() in checkout metadata. No login neededImported payments aren't linked to a visitor by default. You identify the visitor with a distinct ID and pass it as umami_distinct_id metadata. Not supported for Lemon Squeezy, as of 29 Oct 2026
Past payments on connectConnecting Stripe, Lemon Squeezy, Polar or Dodo Payments imports that provider's last 90 days of paymentsImports payments made after you add the provider, as of 29 Oct 2026
Subscription renewalsA renewal inherits the customer's first payment's attributionNot described in Umami's payment-provider docs (unconfirmed)
RefundsSubtracted on the day they happen, credited to the original paymentRefunds imported with payments, as of 29 Oct 2026. How they're credited to sources isn't described (unconfirmed)
Payments it can't matchStay in totals as "Unattributed"Count toward revenue without a linked visitor, as of 29 Oct 2026
Attribution modelsLast non-direct (default) or first touch. 90-day lookback by default, 7 to 365 configurable. Cross-day matching needs cookie mode or an earlier customer paymentImported payments: the visitor's most recent visit in the 90 days before the payment. Attribution report: first-click or last-click for a page or event
Beyond web analyticsGoals and funnels, Search Console, realtime, shared dashboards and a bot report on every planGoals, funnels, journeys, retention, segments and cohorts on all plans. Session replays and heatmaps on Business, as of 29 Oct 2026
Data historyFree: the last 30 days visible. Data older than 12 months is deleted monthly. Paid: full historyHobby 6 months, Pro 2 years, Business 5 years. Self-hosted data is kept until you delete it, as of 29 Oct 2026
ImportNo import from Umami or any other analytics tool. Connecting Stripe, Lemon Squeezy, Polar or Dodo Payments imports that provider's last 90 days of paymentsNot on Hobby. Cloud imports from self-hosted Umami or CSV, done by Umami's team. The features page also names Google Analytics, Plausible and Matomo, as of 29 Oct 2026
Export and APICSV export of dashboard report tables, up to 1,000 rows each. Stats, Sites, Events and Payments APIs. API keys need a paid plan. No raw-event exportFull export of a website's data as gzip CSV. API on Pro and above, as of 29 Oct 2026
What you can trackWebsites and server-side events: a browser script, a server-side Events API and a Payments APIWebsite script, tracking pixels and short links, as of 29 Oct 2026
Going over your planNever billed. Paid plans keep tracking up to 2×, then pause. Free pauses sooner after two months overPro and Business bill per extra event. An optional monthly budget stops recording when reached, as of 29 Oct 2026. Hobby over 100K: not stated (unconfirmed)
Where data is processedServer in Mumbai, India, behind Cloudflare. Nightly backups in Western EuropeCloud data location not stated. Sub-processors include AWS (USA), Hetzner (EU) and ClickHouse (USA/EU) (unconfirmed which holds your data). Self-hosted: your own servers
CompanyOperated by Karthick, Erode, Tamil Nadu, IndiaUmami Software, Inc. Location not stated on the pages checked (unconfirmed)

Last checked: 29 October 2026. Umami facts come from umami.is and Umami's GitHub repository on that date and can change; the sources are listed at the end. Prices may change; see Umami pricing. "Unconfirmed" means the fact wasn't on Umami's own pages that day. It doesn't mean the feature is missing. See all comparisons, including Google Analytics.

In short

  • Both are cookieless web analytics with one script tag, goals, funnels and a revenue report.
  • Revenue. Umami Cloud imports payments and refunds from six providers on Pro or Business and links them to visitors through a distinct ID. traffic.cx syncs payments on every plan, links them with a pageview ID at checkout, and handles renewals and unmatched payments.
  • Getting started. Umami's Hobby plan is free for up to 100,000 events a month on one website. traffic.cx is free on one site with every feature, revenue attribution included, at 3,000 events a month, with no card. Sign up with Google or email.
  • Where Umami is stronger. MIT-licensed open source you can self-host, a much bigger free allowance, product analytics (replays, heatmaps, retention, cohorts), data import, and Paddle and WooCommerce connectors.

What's the same

Simple dashboard, one script, revenue report

Both give you sources, pages, UTM campaigns, countries and devices from one script tag, with custom events, goals, funnels and realtime visitors. Both have a revenue report and both can pull payments from providers, so revenue alone isn't the whole difference. The details of how a payment is linked to a visit are.

Umami's tracker doesn't use cookies (Umami), and traffic.cx sets no visitor cookie by default, so this is parity, not an advantage. traffic.cx's default tracker uses a daily visitor identifier whose secret is deleted after 48 hours, and an optional cookie mode supports longer visitor journeys (privacy notice). Whether you need consent depends on your setup and the rules that apply to you, especially because revenue attribution links payments to visits.

Where traffic.cx is different

Payment sync on every plan, Free included

Umami's payment-provider integrations need a Pro or Business plan, as of 29 October 2026 (Umami docs). In traffic.cx you connect Stripe, Lemon Squeezy, Polar or Dodo Payments in Settings → Revenue on any plan, including Free on one site.

A pageview ID instead of a user ID

Umami links an imported payment to a visitor when you identify that visitor with a distinct ID and pass the same ID to your provider as umami_distinct_id. Lemon Squeezy isn't supported for this (Umami docs). traffic.cx reads a pageview ID in the browser when checkout starts and adds it to checkout metadata, so guest checkouts work without a login (how it works). Lemon Squeezy checkouts pass it as custom data (Lemon Squeezy guide).

Renewals, refunds and unmatched payments

A renewal for a known customer inherits the attribution of that customer's first payment. Refunds are subtracted on the day they happen and credited to the payment they refund. A payment that can't be linked to a visit stays in your totals as "Unattributed" instead of going to a guessed source. Connecting Stripe, Lemon Squeezy, Polar or Dodo Payments also imports that provider's last 90 days of payments, so your revenue totals don't start at zero. Those older payments will mostly be Unattributed.

Two attribution models with a configurable lookback

The Revenue page compares sources by revenue, paying customers, conversion rate and revenue per visitor, and toggles between last non-direct (the default) and first touch, with a 90-day lookback by default (7 to 365 days) (revenue attribution). Umami credits an imported payment to the visitor's most recent visit in the previous 90 days (Umami docs).

One honest caveat. In the default cookieless mode, a pageview ID links a payment to the visit where checkout started. Visitor IDs rotate daily, so a purchase can't be connected to a campaign visit on an earlier day unless you turn on the optional cookie mode (same browser only) or the customer has paid before (cookieless versus cookie mode).

Where Umami Analytics is the better choice

  • Open source and self-hosting. Umami is MIT-licensed, and you can run it on your own server with Node.js and PostgreSQL (GitHub, install docs). Self-hosted data is kept until you delete it. traffic.cx isn't open source and can't be self-hosted.
  • A bigger free tier. Umami Cloud Hobby is free for up to 100,000 events a month with 6 months of retention (Umami pricing). traffic.cx's Free plan has 3,000 events a month and shows the last 30 days.
  • Product analytics. Journeys, retention, segments and cohorts on every plan, and session replays and heatmaps on Business (Umami docs). traffic.cx focuses on traffic and revenue.
  • More payment providers. Umami also connects Paddle and WooCommerce (Umami docs). traffic.cx doesn't.
  • Data import and full export. Umami Cloud can import your existing data on paid plans and exports all of a website's raw data. traffic.cx can't import Umami data and exports report tables only.
  • Community. Umami has community plugins for WordPress, Nuxt, Gatsby, Docusaurus and more (Umami docs). traffic.cx is newer and smaller.

Pricing

Sign up with Google or email and start on the Free plan: every feature on one site, no card and no trial clock. The Free plan is $0, forever: every feature on one site, 3,000 events a month, the last 30 days. Paid plans add more events, more sites, your full history, the API and teams. See pricing for the volume tiers.

Umami Cloud: Hobby $0 (up to 100K events a month, 1 website, 6-month retention); Pro $20/month (1 million events included, then $0.00003 per event, up to 20 websites); Business $200/month (10 million events, then $0.00002 per event); Enterprise custom (umami.is/pricing), as of 29 October 2026. Paid subscriptions start with a 14-day free trial. Self-hosting the open-source version has no licence fee. You pay for your own server and database. Prices may change. Check Umami pricing for the current numbers.

How to switch from Umami Analytics

These steps come from the install guide, the revenue docs and the provider guides.

  1. Export what you want to keep. traffic.cx can't import Umami or any other analytics tool, so your history starts when you install the script. Umami Cloud exports a website's data as CSV (Umami docs). Self-hosted data stays in your own database.

  2. Sign up and add your site. Sign up with Google or email, add the site with its real domain and copy the snippet from Settings → Tracking.

  3. Install the script. Put this once in the shared head, with the full tcx_ ID. Don't add manual pageview calls on route changes. The tracker follows single-page navigation.

    html

    <script defer src="https://traffic.cx/js/YOUR_SITE_ID.js"></script>
  4. Verify your first visit on your published domain. Localhost and iframes are ignored by default.

  5. Recreate your events as goals. Replace umami.track('name') calls with window.trafficcx?.('name') and create a matching custom-event goal in the dashboard. Events that only carried revenue and currency may not be needed once payments sync.

  6. Connect payments and pass the pageview ID. In Settings → Revenue, connect your provider, then add trafficcx.pageviewId() to your checkout metadata, and to the subscription's metadata for renewals. You can keep any umami_distinct_id metadata while you compare. Test with your provider's test mode on a separate traffic.cx test site. Connecting Stripe, Lemon Squeezy, Polar or Dodo Payments imports that provider's last 90 days of payments. Those older payments will mostly be Unattributed.

  7. Run both while you compare, then remove the Umami script. traffic.cx is safe to run alongside Umami's script. It keeps to its own window.trafficcx global and tcx_ storage, and it adds to the browser's page-change handling instead of replacing it (how the script stays separate).

Sources

traffic.cx facts come from pricing, the home page, privacy, how revenue attribution works (updated 14 Oct 2026), revenue attribution, plans (updated 25 Oct 2026), the docs index, install (updated 14 Oct 2026), Search Console and the provider guides for Stripe, Lemon Squeezy, Polar and Dodo Payments, checked 29 Oct 2026. Each of those guides says connecting imports the last 90 days. The operator line is the site footer. The Free plan numbers come from the same plan catalogue as pricing.

Umami facts come from these pages, as of 29 Oct 2026:

Frequently asked questions

Can Umami track Stripe revenue?

Yes, on Umami Cloud's Pro or Business plans. It imports Stripe payments and refunds, and links them to a visitor when you pass a distinct ID as umami_distinct_id metadata. Any plan can send revenue as an event. traffic.cx connects to Stripe on every plan, Free included, and links payments with a pageview ID at checkout.

Is there a free Umami Analytics alternative with revenue attribution?

traffic.cx is free on one site. Sign up with Google or email. The Free plan costs $0, needs no card and has no end date, and includes every feature, payment sync and revenue attribution included, with 3,000 events a month and the last 30 days of reports. Umami's Hobby plan is free too, with more events, but its payment-provider integrations need Pro or Business.

Is traffic.cx open source or self-hosted like Umami?

No. traffic.cx is a hosted service only. It isn't open source and can't be self-hosted. If self-hosting is a requirement, Umami is the better fit.

Can I import my Umami data into traffic.cx?

No. traffic.cx has no import from Umami or any other analytics tool. Connecting Stripe, Lemon Squeezy, Polar or Dodo Payments imports that provider's last 90 days of payments. Export your Umami data before you cancel if you want to keep it.

Can I run traffic.cx alongside Umami?

Yes. The script keeps to its own window.trafficcx global and tcx_ storage, and it adds to the browser's page-change handling instead of replacing it. You can run both while you compare numbers and remove Umami when you're ready. How the script stays separate.

Umami vs Google Analytics: where does traffic.cx fit?

traffic.cx is closer to Umami. It is a simple, cookieless dashboard rather than a full Google Analytics suite. Its focus is the step after traffic, which sources and campaigns turn into paying customers. The Google Analytics comparison is published at /compare/google-analytics-alternative.