Comparison
A Seline Analytics alternative that's free on one site
traffic.cx is a good Seline Analytics alternative if you want revenue by traffic source with a free plan, or you sell through Lemon Squeezy or Dodo Payments. Both tools are cookieless by default and both connect Stripe and Polar to credit payments to visits, so this is a close match. traffic.cx adds a Free plan on one site, two attribution models and refunds credited to the original payment. Stay with Seline if you want visitor profiles and journeys, EU hosting, unlimited history on one plan, or Shopify.
Last updated
Feature comparison
| Feature | traffic.cx | Seline Analytics |
|---|---|---|
| Getting started | Free plan: every feature on one site, 3,000 events a month, the last 30 days. Sign up with Google or email. No card | 7-day free trial, no credit card. No free plan, as of 29 Oct 2026 |
| Paid plans | By monthly events (pageviews and custom events), shared across your sites | One Pro plan by monthly events: from $9/month for 10,000 events ($24 for 100,000; $99 for 1,000,000), as of 29 Oct 2026 |
| Sites | Free: one site. Unlimited on every paid plan | Unlimited websites on Pro. Billing is per website, but sites can be linked to share one subscription's limit, as of 29 Oct 2026 |
| Team members | Unlimited on every paid plan. Invitations need a paid plan | "No per-seat charges", as of 29 Oct 2026. Member limit not stated (unconfirmed) |
| Cookies by default | No visitor cookie. A daily identifier. Optional cookie mode | Cookie-free by default, using a daily-salted hash. Optional cookie mode, as of 29 Oct 2026 |
| How revenue gets in | Your payment provider syncs payments in. You pass a pageview ID into checkout metadata. Also a Payments API or script-reported purchases | Stripe or Polar connection, or revenue events sent with seline.track(), as of 29 Oct 2026 |
| Payment provider connectors | Stripe, Dodo Payments, Lemon Squeezy, Polar | Stripe and Polar. Shopify checkouts through a custom pixel that sends revenue events, as of 29 Oct 2026. Lemon Squeezy and Dodo Payments connectors not found (unconfirmed) |
| Linking a payment to a visit | Pageview ID from trafficcx.pageviewId() in checkout metadata | Stripe: customer email via setUser(), or seline_visitor_id in Checkout metadata. Polar: by customer email via profiles only, as of 29 Oct 2026 |
| How payments are synced | Webhooks from the provider, plus an hourly sync of the last two days | Polls Stripe or Polar every minute with a read-only key. No webhooks, as of 29 Oct 2026 |
| Past payments on connect | Connecting Stripe, Lemon Squeezy, Polar or Dodo Payments imports that provider's last 90 days of payments | Not described (unconfirmed) |
| Subscription renewals | A renewal inherits the customer's first payment's attribution | "Recurring charges stay attributed to the original visitor", as of 29 Oct 2026 |
| Refunds | Subtracted on the day they happen, credited to the original payment | Not described in Seline's revenue docs (unconfirmed) |
| Payments it can't match | Stay in totals as "Unattributed" | Revenue chart shows all synced revenue. Attribution needs a match, as of 29 Oct 2026. How unmatched revenue is labelled: unconfirmed |
| Attribution models | Last 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 payment | No model or lookback setting found in the docs checked (unconfirmed) |
| Visitor profiles and journeys | No | Journeys for every visitor. Profiles when you send a user ID, with Stripe and Polar payments shown on them, as of 29 Oct 2026 |
| AI chat and MCP | No | An in-app AI chat that can answer questions about your data and produce CSVs, plus an MCP interface, as of 29 Oct 2026 |
| Goals, funnels and Search Console | Goals, funnels and Search Console on every plan | Funnels and Search Console keywords, as of 29 Oct 2026 |
| Data history | Free: the last 30 days visible. Data older than 12 months is deleted monthly. Paid: full history | "Forever data retention" on Pro, as of 29 Oct 2026 |
| Import | No import from Seline or any other analytics tool. Connecting Stripe, Lemon Squeezy, Polar or Dodo Payments imports that provider's last 90 days of payments | No analytics import found on the pages checked (unconfirmed) |
| Export and API | CSV 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 export | Public API (every request counts toward your monthly events), MCP, and an AI chat that can produce CSVs, as of 29 Oct 2026 |
| What you can track | Websites and server-side events: a browser script, a server-side Events API and a Payments API | Website script and custom events from the browser or server, plus an event ingest endpoint, as of 29 Oct 2026 |
| Going over your plan | Never billed. Paid plans keep tracking up to 2×, then pause. Free pauses sooner after two months over | First time over, a notice only. Upgrade requested after two months over in a row or at 5× the limit, as of 29 Oct 2026 |
| Where data is processed | Server in Mumbai, India, behind Cloudflare. Nightly backups in Western Europe | Servers and databases in the EU with Hetzner. "hosted in Germany", as of 29 Oct 2026 |
| Company | Operated by Karthick, Erode, Tamil Nadu, India | Seline Analytics, Warsaw, Poland; founded 2024, as of 29 Oct 2026 |
Last checked: 29 October 2026. Seline facts come from seline.com (seline.so redirects there) on that date and can change; the sources are listed at the end. Prices may change; see Seline pricing. "Unconfirmed" means the fact wasn't on Seline's own pages that day. It doesn't mean the feature is missing. See all comparisons, including Google Analytics.
In short
- Both are cookieless-by-default web analytics with one script tag, funnels, Search Console data and revenue attribution from Stripe and Polar.
- Revenue. Seline matches a Stripe charge to a visitor by email (
setUser()) or a visitor ID in Checkout metadata. Recurring charges stay with the original visitor. traffic.cx does the same job with a pageview ID, also connects Lemon Squeezy and Dodo Payments, and lets you choose last non-direct or first touch. - Getting started. Seline has a 7-day trial with no card and no free plan. traffic.cx is free on one site with every feature, revenue attribution included, no card. Sign up with Google or email.
- Where Seline is stronger. Visitor profiles and journeys, EU hosting, unlimited data retention on Pro, Shopify checkout tracking, and an AI chat and MCP interface.
What's the same
Revenue attribution from Stripe and Polar
This is the closest comparison on the list. Seline connects Stripe and Polar with a read-only key and shows which referrers and UTM campaigns bring revenue, and it keeps recurring Stripe charges with the original visitor (Seline docs). traffic.cx does both of those too. The differences are in the details below, not in whether revenue attribution exists.
Cookieless by default, with an optional cookie mode
Both count visitors without a cookie by default using a daily-rotated identifier, and both offer an opt-in cookie mode for longer journeys (Seline privacy, traffic.cx privacy notice). This is parity, not an advantage. Whether you need consent depends on your setup and the rules that apply to you, especially because revenue attribution links payments to visits.
Simple dashboard, funnels and Search Console
Both show sources, UTMs, pages, countries and devices on one screen, with funnels, custom events and Google Search Console keywords (Seline docs, traffic.cx Search Console).
Where traffic.cx is different
A Free plan on one site
Seline has no free plan. It starts with a 7-day trial with no card, as of 29 October 2026 (Seline pricing). traffic.cx's Free plan has every feature, revenue attribution included, on one site, with no card and no end date (pricing). Sign up with Google or email.
Lemon Squeezy and Dodo Payments, as well as Stripe and Polar
traffic.cx connects Stripe, Lemon Squeezy, Polar and Dodo Payments in Settings → Revenue. Stripe and Polar connectors were found in Seline's docs. For other providers Seline suggests sending revenue as a custom event (Seline docs). With Polar, Seline attributes revenue only when you pass customer emails through profiles (Seline docs). traffic.cx uses the pageview ID for every provider (how it works).
Refunds, unmatched payments and past payments
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 imports that provider's last 90 days of payments. Those older payments will mostly be Unattributed. Refund handling and a historical import were not described in Seline's docs as of 29 October 2026.
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). No attribution model setting was found in Seline's 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 Seline Analytics is the better choice
- Visitor profiles and journeys. Seline turns identified visitors into profiles with their journey and their latest Stripe or Polar subscriptions and payments (Seline docs). traffic.cx has no visitor profiles.
- EU hosting. Seline is based in Poland and hosts its servers and databases in the EU with Hetzner (Seline privacy). traffic.cx's server is in Mumbai, India, and it doesn't promise EU-only hosting.
- Unlimited history. Seline's Pro plan keeps data "forever" (Seline pricing). traffic.cx's paid plans keep your full history too, but its Free plan shows only the last 30 days.
- Shopify. Seline has a Shopify guide with a custom pixel that tracks checkout pages and purchase revenue (Seline docs). traffic.cx has no Shopify or WooCommerce connector.
- AI chat and MCP. Seline can answer questions about your data in-app or through MCP (Seline). traffic.cx has neither.
- Done-for-you setup. Seline offers a one-off $99 setup service, with a Pro plan still required (Seline pricing).
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.
Seline has one Pro plan priced by monthly events, from $9/month for 10,000 events ($14 for 25,000; $24 for 100,000; $99 for 1,000,000), with two months free on yearly billing. A 7-day free trial with no credit card, and no free plan (seline.com/pricing), as of 29 October 2026. Prices may change. Check Seline pricing for the current numbers.
How to switch from Seline Analytics
These steps come from the install guide, the revenue docs and the provider guides.
Keep what you need. traffic.cx can't import Seline or any other analytics tool, so your history starts when you install the script. Seline's Public API returns your stats, and its AI chat can produce CSVs (Seline API). Export what you want before you cancel.
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.
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>Verify your first visit on your published domain. Localhost and iframes are ignored by default.
Recreate your events as goals. Replace
seline.track('name')calls withwindow.trafficcx?.('name')and create a matching custom-event goal in the dashboard. Revenue events may not be needed once payments sync.Connect payments and pass the pageview ID. In Settings → Revenue, connect your provider, then add
trafficcx.pageviewId()to your checkout metadata next to anyseline_visitor_id, and to the subscription's metadata for renewals. 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.Run both while you compare, then remove the Seline script. traffic.cx is safe to run alongside Seline's script. It keeps to its own
window.trafficcxglobal andtcx_storage, and it adds to the browser's page-change handling instead of replacing it.
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.
Seline facts come from these pages, as of 29 Oct 2026. seline.so redirects to seline.com:
- Pricing (plan, prices, FAQ, footer address)
- Home (features, journeys, profiles, funnels, AI chat, "Founded in 2024")
- Stripe
- Polar
- Revenue tracking
- Shopify
- Install (cookie mode)
- Privacy (daily salt, Hetzner EU hosting)
- GDPR ("legally based in Poland (EU), hosted in Germany (EU)")
- Google Search Console
- API
- Custom events
- Ingest events
Frequently asked questions
Does Seline track Stripe revenue?
Yes. Seline connects to Stripe with a read-only key, pulls charges every minute, and matches them to visitors by email or by a seline_visitor_id in Checkout metadata. Recurring charges stay with the original visitor. traffic.cx also connects to Stripe and credits payments, renewals and refunds to the visits behind them.
Is there a free Seline Analytics alternative?
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, revenue attribution included, with 3,000 events a month and the last 30 days of reports. Seline has no free plan, as of 29 October 2026.
Is traffic.cx cookieless like Seline?
Yes, by default. Both count visitors without a cookie by default and offer an optional cookie mode for longer journeys. Whether you need consent depends on your setup and the rules that apply to you.
Can I import my Seline data into traffic.cx?
No. traffic.cx has no import from Seline or any other analytics tool. Connecting Stripe, Lemon Squeezy, Polar or Dodo Payments imports that provider's last 90 days of payments. Keep or export your Seline data before you cancel if you want it.
Can I run traffic.cx alongside Seline?
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 Seline when you're ready.