Segment MTU pricing: how much of your bill is bots?
Twilio Segment bills on monthly tracked users (MTUs). Each anonymous visitor is an MTU, and this includes crawlers, uptime monitors and headless browsers. This page shows how Segment counts MTUs, what they cost, and how to measure the bot share of your bill.
How Segment counts MTUs
An MTU is one user that Segment sees in a calendar month. The Segment MTU documentation gives the method:
- Segment counts the unique
userIdvalues. - Segment adds the unique
anonymousIdvalues that are not linked to auserIdin the period.
Segment counts each user only once in a month, and many events from one user make one MTU. But each
new anonymousId is a new MTU. analytics.js stores the anonymousId in a cookie
and in local storage. A browser with no saved data gets a new ID on each visit.
Segment pricing in 2026
These are the published prices for Segment Connections, from the Twilio pricing page in October 2026.
| Plan | Price | MTUs included |
|---|---|---|
| Free | $0 | 1,000 for each month |
| Team | From $120 for each month | 10,000 for each month |
| Business | Custom | Custom volume |
On the Team plan, each extra 1,000 MTUs costs:
| MTUs in the month | Price for each extra 1,000 MTUs |
|---|---|
| 10,000 to 25,000 | $12 |
| 25,000 to 100,000 | $11 |
| More than 100,000 | $10 |
The FAQ on the same Twilio page gives a flat $10 for each 1,000 extra visitors. Do a check of your contract for your actual rate. Business contracts have custom prices, so use your own number in the calculator below.
Why bots inflate your MTU count
A bot that does not run JavaScript does not load analytics.js, so it does not make an MTU. The problem is the bots that run a real browser engine:
-
Synthetic monitors. A browser check that opens your home page every 5 minutes from a
clean browser makes approximately 8,640 visits in a month. Each visit can get a new
anonymousId, and thus a new MTU. - Headless browsers and scrapers. Puppeteer, Playwright and Selenium run your page like Chrome does. Most of them do not keep cookies between runs.
- Search and AI crawlers that render pages. Some crawlers run JavaScript to see the full page. Each fetch can make a new MTU.
-
Vulnerability scanners. Scanners request paths such as
/wp-login.php. If your 404 page has the Segment snippet, each scan makes an MTU.
A person who comes back keeps the same anonymousId, and is one MTU for the month. A bot with
no saved data is a new MTU on each visit. For this reason, a small number of bots can make a large number
of MTUs.
Calculate the cost of bot MTUs
Enter your numbers. The calculator runs in your browser and sends nothing.
You do not know your bot share yet? The free audit below measures it from your own Segment data.
Will Segment refund bot MTUs?
Usually not. The Segment guide on internet bots says that Segment does not refund bot-related MTU spikes as a policy. In extenuating circumstances you can ask for a refund, but you must give proof of the effect of the bots.
The same guide says that Segment has no built-in bot filter. Destination-level filters keep bots out of tools such as Mixpanel, but the bot traffic still reaches Segment and still counts toward your MTUs.
Measure your bot MTUs for free
segment_bot_audit is an open-source dbt package. It reads the Segment
pages, tracks and identifies tables in your warehouse, finds the
MTUs that look non-human, and estimates their cost for each month. It works on BigQuery, Snowflake,
Redshift and Databricks, and it needs only the data that analytics.js collects automatically.
packages:
- git: "https://github.com/nonhumanlabs/dbt-segment-bot-audit.git"
revision: 0.1.0
How to reduce bot MTUs
- Measure first. Find which bots make your MTUs. The fix for an uptime monitor is different from the fix for a scraper.
- Exclude your own monitors. Most synthetic monitor tools let you block analytics scripts or add a custom user agent.
- Do not load Segment for bots. Do a check of the user agent and
navigator.webdriverbefore you callanalytics.load. The bot guide has the code. - Remove the snippet from pages that only bots see. Error pages and admin paths seldom need analytics.
Destination filters do not reduce MTUs. They act after the event reaches Segment, and Segment counts the MTU at that point.
Get a free review of your audit results
Paste the output of dbt run-operation segment_bot_audit.print_report. We read it and reply to you
by email. We tell you which bots cost you the most, and how to block them.
You do not have results yet? Run the audit first. It takes a few minutes in your dbt project.
We use your email and your results only to reply to you. We do not share them.
Questions
Does bot traffic count toward Segment MTUs?
Yes. Segment counts each anonymousId that is not linked to a userId. A bot that runs your analytics.js snippet gets an anonymousId like a person does, so it counts as an MTU.
Does Segment filter bots automatically?
No. Segment has no built-in bot filter. Some destinations, such as Mixpanel, filter bots, but the bot traffic still reaches Segment and still counts toward your MTUs.
Will Segment refund MTUs from bot traffic?
The Segment documentation says that Segment does not refund bot-related MTU spikes as a policy. In extenuating circumstances you can ask for a refund, but you must give proof of the effect of the bots.
How much does an extra 1,000 MTUs cost on Segment?
On the Team plan, the published overage price is $12 for each 1,000 MTUs from 10,000 to 25,000, $11 from 25,000 to 100,000, and $10 above 100,000. Business plans use custom prices.
How do I stop bots from counting as MTUs?
Stop bots before analytics.js loads or sends an event. Do a check of the user agent and navigator.webdriver in the browser, and do not load Segment for bots. Destination filters do not help, because they act after Segment counts the MTU.