Jitsu vs Segment: Open-Source CDP or Managed Pipeline?
Segment charges for every person it sees. Jitsu charges for the data you actually move. If your product has more visitors than customers, which describes almost every consumer product, you are funding a bill for people who will never buy anything. If the opposite is true, and a small number of users each generate thousands of events, their model is cheaper and this page says so.
Choose Jitsu if:
- You have meaningful anonymous traffic, so you are paying for people rather than data.
- You want the option to run the pipe on your own infrastructure, which Segment does not offer at any price.
- You want events in your warehouse in seconds rather than on a schedule.
- You want to lower your own bill by filtering events in flight, which per-person billing gives you no way to do.
Choose Segment if: your events per active user run into the thousands, which makes per-person billing genuinely cheaper; you depend on a destination Jitsu does not have; you are buying their audience-building product rather than a pipe; or your procurement team will only sign with a name they already know.
The part that makes this easy: you do not have to choose. Jitsu can run alongside Segment today, changing nothing on your site, so you can compare the two on your own data before deciding anything.
What Segment is
Segment is the product that created this category. You install one library, send your events to Segment once, and Segment forwards them to every tool you use, from your warehouse to your email platform to your ad accounts. It has been owned by Twilio since 2020. Its destination catalog is the largest in the category, and for a marketing team that is the entire argument for it.
Segment bills on monthly tracked users, usually shortened to MTUs. You pay for every distinct person seen in a calendar month, whether or not they signed up or bought anything.
What Jitsu is
Jitsu is an open-source event pipeline under the MIT licence, the most permissive licence in common use, which puts no restriction on what you do with the code. The repository is at github.com/jitsucom/jitsu. It collects events from your site, app or servers, lets you transform them in JavaScript as they pass through, and delivers them to your warehouse and your tools in seconds. It runs as a hosted service, as a dedicated deployment Jitsu manages, or entirely on your own servers.
It is built for volume. It runs on Go, is backed by ClickHouse, and deploys cleanly on Kubernetes, and individual customers push billions of events a month through it. It also ingests webhooks directly, so events from a payment processor or your own backend arrive through the same pipe rather than needing a second vendor.
Jitsu is smaller than Segment and is not trying to be a marketing platform. It is trying to be the best pipe you can buy.
Segment bills per person, Jitsu bills per event
Segment's billing unit is the monthly tracked user. Every distinct person it sees in a calendar month costs money, whether they signed up, bought something, or bounced off the homepage in four seconds. The same person tracked across three months counts three times.
Work through what that means. A tracked user is anybody who fires at least one event, so the people this catches are not dormant signups — an MTU has to fire an event, so a dormant account costs nothing. They are anonymous visitors. A company with 200,000 people reading its blog every month and 2,000 paying customers is billed on the 200,000. A publisher with heavy organic traffic pays for its entire audience and monetises a fraction of it.
Segment publishes the rate. Their pricing page gives a free tier up to 1,000 tracked users, a Team plan at $120 a month including 10,000, and then a per-user rate in three bands: $12 per 1,000 to 25,000, $11 per 1,000 to 100,000, and $10 per 1,000 above that. All three of those bands sit in their Team column, so Team scales at a published rate at any volume. Only the Business tier is genuinely a quote, and it carries no per-1,000 rate at all.
So the rate is not the problem. The input is. You cannot know your tracked-user count in advance, because it counts anonymous traffic, and anonymous traffic is the part of your audience you are trying hardest to grow.
Jitsu bills on active events — Jitsu's own term, and captured events are unlimited on every tier. Three consequences follow:
- Anonymous visitors cost nothing unless their events are actually put to work.
- Your bill tracks the data you use rather than the size of your audience.
- You can cut your own bill by filtering events in a Jitsu function, a few lines of JavaScript that run on each event in flight. No vendor lets you do that when they are billing per person, because there is nothing to filter.
The second half of the argument is simpler. Segment cannot be self-hosted at any tier, at any price. Jitsu can, under a licence that lets you do whatever you want with the code.
What Jitsu's own billing data shows
Jitsu runs the pipeline and sends the invoices, so unlike anybody writing this comparison from the outside, it can describe how real event pipelines behave. Three patterns from the paying base, with no company named.
The largest bills do not belong to the customers with the most users. They belong to the ones whose events arrive whether or not anybody is present. Per-person pricing has no unit to count in that situation. Per-event pricing charges for exactly what moved.
Some of the highest-volume accounts pay very little, because the volume comes from a product embedded inside other companies' websites. Under per-tracked-user billing those companies would be charged for their clients' users, none of whom are their own customers.
The accounts that cross the free limit and then stop growing are almost always the ones where a person has to click for an event to exist. Same audience size as the accounts above them, a fraction of the data, and a bill that stays flat under either model.
The pattern underneath all three is the same. Per-person and per-event pricing diverge hardest wherever the volume comes from something other than a person clicking.
Side by side
| Jitsu | Segment | |
|---|---|---|
| Billing basis | Per active event, captured events unlimited | Per person seen |
| Cost of anonymous traffic | Nothing unless their events are put to work | Billed as a tracked user |
| Can you lower your own bill | Yes, filter events in a function | No, the count is people not events |
| Published pricing | Every self-serve tier | Free and Team, including per-user rates at any volume. Business is a quote |
| Free tier | 200,000 active events a month | 1,000 tracked users, 2 sources |
| Self-hosting | Yes, MIT, no restrictions | Not available at any tier |
| Run in your own cloud | Yes | No |
| Warehouse delivery | Streaming, arrives in seconds | Scheduled syncs |
| Webhook and SaaS ingestion | Built in, same pipe | Limited, usually a second vendor |
| Identity resolution | Real-time profile builder on the stream | Yes, on a fixed profile model |
| Transformations | JavaScript functions in flight | Functions, higher tiers |
| Command-line tooling and MCP server | Both shipped | No |
| Warehouse needed before you start | No, ClickHouse is included on the free tier | Yes, bought separately |
| Schema enforcement | In a function you write, see below | Protocols, higher tiers only |
| Destination catalog | Smaller. Check your own list against it | Largest in the category |
Being straight about schema enforcement. Jitsu does not ship a configuration screen where you declare in advance what an event must contain. What it ships is a function that runs on every event in flight, so you write the validation yourself, keep it in your repository, and review it in a pull request like any other code. Segment's equivalent, Protocols, sits behind their higher tiers. Different shape, same outcome, and Jitsu's is not held behind a plan.
What it costs
Both sides are published, so both columns are arithmetic rather than estimates. The events-per-person assumption is roughly 100 events per tracked user and it will differ for your product.
| Your scale | Jitsu | Segment |
|---|---|---|
| 10,000 tracked users, ~1M events | Inside the $99 plan | $120, the Team base |
| 50,000 tracked users, ~5M events | $219, that is $99 plus $40 for each additional million | $575 |
| 100,000 tracked users, ~10M events | $419 | $1,125 |
| Above 100,000 tracked users | Published tiers continue | $10 per 1,000, still published under Team |
Across the published range that is roughly 2.6 to 2.7 times, and you can check every figure on both pricing pages before speaking to anybody. That is not a discount anybody is offering. It is what happens when one vendor bills for data and the other bills for people.
Work out which side you are on. Divide your monthly events by your monthly active users. If that number runs into the thousands, per-person billing is working in your favour and you should stay where you are. If it sits in the tens or the low hundreds, you are paying for the size of your audience rather than for the data you collect.
That holds once you are paying for something. Segment is free up to 1,000 tracked users and Jitsu is free up to 200,000 active events a month, so below both of those lines the ratio is choosing between two bills of nothing. Between them it can point the wrong way: 900 users sending 300 events each is 270,000 events a month, which is inside Segment's free tier and outside Jitsu's.
Where Segment is genuinely ahead
For some companies their pricing model is genuinely cheaper. Per-person billing rewards depth of instrumentation and punishes breadth of audience. Per-event billing does the opposite. A B2B product with 500 seats where each seat fires 10,000 events a month is 5 million events, which is $219 on Jitsu's pricing and 500 tracked users on theirs — and 500 fits inside their free tier. If your product is heavily instrumented for a small known set of users, their model is on your side and you should keep it.
They dedupe a person across your sources, so one human is one tracked user rather than several. Segment's billing docs count unique userIds, plus anonymousIds never associated with a userId, across every call from every source in a workspace, for the billing period. Events inside a tracked user are unlimited, so a user who fires five events costs the same as one who fires five thousand.
Their destination catalog is larger. If your stack depends on a marketing tool Jitsu does not support, that is a real blocker and no argument about billing fixes it. Worth checking first though: most teams actively use five to ten destinations, and the ones that matter most — warehouses, ad platforms and the big analytics tools — Jitsu already has.
They ship Protocols for schema enforcement, gated behind their higher tiers. Jitsu's is a function you write rather than a screen you configure, set out in full above.
Their brand. If you need a procurement team to recognise the name, that is worth something.
They build audiences and Jitsu does not. If you are buying marketing activation rather than a pipe, buy theirs.
You do not have to switch to try this
The Segment compatibility page sets out three routes, and only one of them is a migration.
- Run Jitsu alongside what you have. Add configuration to your existing Segment setup that sends Jitsu a copy of every event. Nothing changes on your site, your Segment implementation is untouched, and you watch both outputs side by side before deciding anything.
- Point Segment's own webhook at Jitsu. Your events reach your warehouse in seconds rather than waiting for a scheduled sync, while everything else stays as it is.
- Switch the endpoint. Jitsu's JavaScript integration is compatible with the Segment API and uses the open-source analytics.js library, so existing tracking calls work without being rewritten.
The first route asks you to decide nothing, which is why it is listed first.
Jitsu can also run on your own servers on any tier. Other head-to-heads are on the comparison hub, and there is a longer piece on how MTUs are counted.
Questions people ask
What does Segment cost at 50,000 tracked users? $575 a month at their published rates: $120 for the base 10,000, $12 per 1,000 for the next 15,000, and $11 per 1,000 for the last 25,000. The same traffic is $219 on Jitsu at roughly 5 million events.
Do I have to rewrite my tracking code? No. Jitsu's JavaScript integration is compatible with the Segment API, so existing analytics.js calls work unchanged.
Can I run both at once? Yes, and for most companies that is the sensible first step rather than a migration.
Is Jitsu really free to self-host? Yes. The code is MIT licensed with no restriction on commercial use and no feature held back for paying customers. Segment cannot be self-hosted at any tier.
What happens to my historical data? It stays wherever you already send it. Running Jitsu alongside Segment does not move or delete anything.
Who owns Segment now? Twilio acquired Segment in 2020.
Get started with Jitsu
Jitsu's free tier is 200,000 active events a month with ClickHouse included, and it can run alongside Segment without changing anything on your site. That is the version of this decision that costs nothing to make — send both a copy of the same events and read your own two bills.