Skip to content

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

traffic.cx and Seline Analytics, feature by feature
Featuretraffic.cxSeline 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 card7-day free trial, no credit card. No free plan, as of 29 Oct 2026
Paid plansBy monthly events (pageviews and custom events), shared across your sitesOne 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
SitesFree: one site. Unlimited on every paid planUnlimited websites on Pro. Billing is per website, but sites can be linked to share one subscription's limit, as of 29 Oct 2026
Team membersUnlimited 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 defaultNo visitor cookie. A daily identifier. Optional cookie modeCookie-free by default, using a daily-salted hash. Optional cookie mode, 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 purchasesStripe or Polar connection, or revenue events sent with seline.track(), as of 29 Oct 2026
Payment provider connectorsStripe, Dodo Payments, Lemon Squeezy, PolarStripe 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 visitPageview ID from trafficcx.pageviewId() in checkout metadataStripe: 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 syncedWebhooks from the provider, plus an hourly sync of the last two daysPolls Stripe or Polar every minute with a read-only key. No webhooks, as of 29 Oct 2026
Past payments on connectConnecting Stripe, Lemon Squeezy, Polar or Dodo Payments imports that provider's last 90 days of paymentsNot described (unconfirmed)
Subscription renewalsA renewal inherits the customer's first payment's attribution"Recurring charges stay attributed to the original visitor", as of 29 Oct 2026
RefundsSubtracted on the day they happen, credited to the original paymentNot described in Seline's revenue docs (unconfirmed)
Payments it can't matchStay 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 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 paymentNo model or lookback setting found in the docs checked (unconfirmed)
Visitor profiles and journeysNoJourneys 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 MCPNoAn 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 ConsoleGoals, funnels and Search Console on every planFunnels and Search Console keywords, as of 29 Oct 2026
Data historyFree: 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
ImportNo import from Seline or any other analytics tool. Connecting Stripe, Lemon Squeezy, Polar or Dodo Payments imports that provider's last 90 days of paymentsNo analytics import found on the pages checked (unconfirmed)
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 exportPublic 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 trackWebsites and server-side events: a browser script, a server-side Events API and a Payments APIWebsite script and custom events from the browser or server, plus an event ingest endpoint, 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 overFirst 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 processedServer in Mumbai, India, behind Cloudflare. Nightly backups in Western EuropeServers and databases in the EU with Hetzner. "hosted in Germany", as of 29 Oct 2026
CompanyOperated by Karthick, Erode, Tamil Nadu, IndiaSeline 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.

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.

  1. 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.

  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 seline.track('name') calls with window.trafficcx?.('name') and create a matching custom-event goal in the dashboard. Revenue events 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 next to any seline_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.

  7. 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.trafficcx global and tcx_ 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:

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.