Customer.io vs Iterable: which one a mid-market SaaS should pick in 2026
On 6 May 2013, at its MAX conference in Los Angeles, Adobe told its customers that Creative Suite was finished. Adobe's press release, carried by DPReview that day, said there were no plans for future releases. CS6 would stay on sale. Every future version of Photoshop, Illustrator and InDesign would come only through Creative Cloud, the subscription launched in April 2012, at US$49.99 a month on an annual plan.
The reaction was loud. By mid-August 2013, the Graphic Artists Guild reported, a petition asking Adobe to drop the mandatory subscription had 38,000 signatures. Digital Arts had worked out that a CS6 Design Standard user paid more on subscription after 26 months. Adobe kept going. In mid-June 2013 it reported 700,000 subscribers and expected 1.25 million by the end of 2013.
Adobe's customers were arguing less about the software than about the shape of the bill, and whether it would still fit them in year three. That is the right frame for Customer.io against Iterable. The two do most of the same things. They differ in what they count, what they publish, and what you have to build before anything sends.
TL;DR: Customer.io publishes its prices. Essentials starts at $100 a month, billed monthly, for 5,000 profiles (people and objects together), 1 million emails and 2 object types, with extra profiles at $0.009 each. Premium starts at $1,000 a month, billed yearly. Iterable publishes no price: its pricing URL redirected to its home page when we read it on 23 October 2026. Its docs describe a contract with usage limits and a customer success manager who switches features on. Iterable earns that contract when several teams run orchestration against one audience and need per-channel frequency caps and decisioning. Below that, Customer.io wins on price, on a data model with objects on every plan, and on how fast a small team ships. Either way, the migration is the event schema, not the editor.
Our position
We are a certified Customer.io partner and we do not implement Iterable. Every claim comes from Customer.io's pricing page and documentation or Iterable's support centre, all read on 23 October 2026. Where Iterable's docs do not say something, this post does not say it either. Nothing here is a view on either platform's deliverability. The wider grid, with third-party buyer data on Iterable contracts, is our five-way comparison. The same two-way shape against a smaller rival is Customer.io vs Vero.
What each platform publishes about price
| Customer.io | Iterable | |
|---|---|---|
| Published price | Essentials from $100 a month, billed monthly; Premium from $1,000 a month, billed yearly | None. The pricing URL redirected to the home page on 23 October 2026 |
| Entry plan includes | 5,000 profiles, people and objects together; 1 million emails a month; 2 object types; 2 workspaces | Not published |
| Overage | $0.009 per extra profile, $0.12 per extra 1,000 emails | Not published. Usage above included limits "may incur overage charges" |
| What is metered | Profiles, emails and AI credits, at $10 per 100K extra | Sends per channel, users, custom events, journey events, catalogue data and Smart Ingest syncs |
| Plan term | Monthly on Essentials; annual above | A contract term |
| Switched on by sales | Premium integrations, warehouse destinations, collections and HIPAA, from Premium | Catalogue, WhatsApp, Frequency Decisioning and Predictive Goals, through your customer success manager |
Iterable publishes no number, but it does publish what it counts. Its Usage and Billing page shows a progress bar for every metric with a contractual limit. For users and custom events it tracks a high water mark, the peak in the billing period. Customer.io's pricing page counts "Profiles (people + objects)", so a B2B workspace that models accounts as objects uses its allowance faster than its headcount suggests. Our custom objects post covers what that buys. One of these bills can be worked out on a napkin. The other cannot.
Arithmetic from Customer.io's published Essentials rate of $100 a month for 5,000 profiles plus $0.009 per extra profile, read 23 October 2026. Premium starts at $1,000 a month billed yearly with custom volume. Above this point, ask for a quote.
| Profiles (people and objects) | Essentials cost a month, by arithmetic |
|---|---|
| 5,000 | $100, included |
| 10,000 | $145 |
| 25,000 | $280 |
| 50,000 | $505 |
| 100,000 | $955 |
| 105,000 | $1,000, Premium's starting price |
Those figures are arithmetic, not a quote: the published $100 plus $0.009 for every profile over 5,000. At about 105,000 profiles the sum reaches $1,000, where Premium starts, so above roughly 100,000 profiles ask for a quote rather than run on the overage. What the build itself costs, on either side, is in our implementation cost guide.
The data model
Both platforms are built on people and events. The differences sit in what else exists, and in which decisions are permanent.
| Iterable | Customer.io | |
|---|---|---|
| Identity | email and/or userId, chosen per project at creation and fixed |
A person identified by id or email |
| Person data | User fields, up to 1000 per project | Attributes, unlimited |
| Behaviour | System events plus custom events, with properties stored on the event; up to 8000 custom event fields | Events with a name and a data object in any JSON shape |
| Things people belong to | None documented. A catalogue add-on holds product and place data queried at send time | Objects and relationships on every plan: 2 object types on Essentials, 10 on Premium |
| Changing your mind | No function for deleting a field | Objects cannot relate to objects; one object update fans out to at most 1,000 people on Essentials, 5,000 on Premium |
Iterable
Iterable's project type decides whether users are identified by email, by userId, or by either in a hybrid project, and there is no way to change it later. Iterable does not generate userId values, and a user can have only one email address and one phone number.
Custom event properties live on the event, not the profile. A template can read them only when that event triggered the campaign; to use the latest value elsewhere, the docs tell you to write it onto the profile too. Data Schema Management caps a project at 1000 user profile fields and 8000 custom event fields, with no function for deleting a field.
Non-people data is a separate product, which Iterable's docs call "Catalog". It holds products, places and services for collections to query at send time. Its limits page says to ask your customer success manager to add it. The caps: 15GB per organisation, 350 fields per catalogue, 50 items per collection. There is no object a person belongs to, with attributes of its own, that a segment can be built on.
Customer.io
Customer.io's events are a name and a data object in any structure, and nested data is addressable in segments with dot notation. Then there are objects and relationships. An object is a grouping mechanism: an account, a course, a league. Objects have attributes, changes to them can trigger automations, and people join them through relationships with attributes of their own, so one person is an owner on one account and a member of another. Essentials includes 2 object types and Premium 10. The constraints are published too. The relationships page says "you can't relate objects to objects". The automations page caps one object update at 1,000 people on Essentials and 5,000 on Premium; past that, nobody starts the journey.
For a SaaS business, this is the comparison. If the account has to be the subject of your messaging, Customer.io gives you that on its $100 plan. Iterable's documented model gives you a user with fields and events, and a catalogue beside it.
The migration is the schema
Whichever direction you move, the work is the same. Every event gets a name that nothing yet depends on. Every property gets a home: on the event, on the profile, or on an object. The identity key gets chosen, and in Iterable that choice is permanent. The editors are a week's familiarity either way. The mechanics are in our Klaviyo schema rewrite and our ESP migration guide. AIRE Health came to Customer.io from an in-house system, and the move still turned on an event data plan written before anything was imported. Campaign conversion went from 7.0% to 17.8%, a 154% increase.
Channels
Iterable's channel documentation has nine sections; Customer.io's list is on its pricing page.
| Channel | Iterable | Customer.io |
|---|---|---|
| Email and push | Documented | 1 million emails a month on Essentials; push unlimited |
| In-app | In-app, in-browser and a mobile inbox | Unlimited; anonymous messages from Premium |
| Embedded or inline | Embedded Messaging, a channel of its own | Inline in-app messages, shipped generally on 30 June 2025 |
| SMS | Documented | Custom volume |
| RCS and web push | Documented | Not on the pricing page |
| Documented; added through your customer success manager | Native, included | |
| LINE | Not in the channel index | Included |
| Webhooks | System webhooks send Iterable's events out | Unlimited, send and receive |
One detail from Iterable's WhatsApp overview belongs here: four Iterable features do not yet support WhatsApp, namely Channel Decisioning, Iterable AI, Experiments and Quiet Hours. If WhatsApp is the channel you are buying for, that is the state of the orchestration around it.
Orchestration across teams
This is where Iterable's price is earned or wasted.
Iterable's Frequency Management caps email, push and SMS at between 1 and 99 messages a day, week or month, and message types can override their channel. Frequency Decisioning, enabled through your customer success manager, picks a cap per user from engagement history instead, up to 10 optimisations in a project. That is a suite for one situation: a CRM team, a product team and a support team all sending to the same people.
Customer.io's answer is simpler and newer. Its release notes record channel-based message limits on 20 July 2026: per-channel or shared limits for email, SMS, push and webhooks over up to 31 days. Before that there was one limit, capped at 7 days. We covered how to set them. User seats are unlimited on every plan and workspaces are 2 on Essentials, unlimited on Premium. There is no channel decisioning or per-user frequency optimisation on the pricing page.
The boundary is the number of teams. One team that owns lifecycle messaging does not need Frequency Decisioning. Three teams sending to one audience, with a frequency budget to share, is the case Iterable's documentation is written for.
AI features
The two lists differ in kind, not just in length.
| Iterable, Nova Intelligence | Customer.io | |
|---|---|---|
| Assistant | Nova Agent reviews templates, summarises journeys, writes Handlebars (its templating code) and answers analytics questions; part of the Spring Product Release of 22 April 2026 | An AI agent, in beta, on every plan: 3 custom skills on Essentials, 10 on Premium; routines weekly on Essentials, daily on Premium |
| Decisioning | Send Time Decisioning, with SMS added on 6 October 2026; Frequency Decisioning; Channel Decisioning | Send-time optimisation on every plan |
| Predictions | Brand Affinity labels, Predictive Goals added to your plan, Next Best Action | Not on the pricing page |
| Content | Copy Assist and Journey Assist | AI global styles, an AI translator, email content analysis, an AI segment builder |
| AI inside a workflow | Not described on the pages we read | LLM actions, paid for in AI credits at $10 per 100K beyond the allowance |
Iterable's Nova overview groups its features under Nova Agent, decisioning, insights, and AI-assisted content and journeys. It says they work best with at least three months of active user data, and its decisioning features reweight engagement data weekly. Iterable's 2026 release notes record that on 5 October 2026 its Optimisation features became Decisioning features, with no change to how they work.
Customer.io's AI runs the other way: an agent that does work in the workspace, LLM actions inside automations, and an MCP server and CLI for your own tools. The credits are in our AI credits forecast. If the AI you want decides when, where and how often each person is messaged, that is Iterable's list. If it builds segments, drafts messages and runs reports for a small team, that is Customer.io's.
Decision boundaries
- Under 5,000 profiles, people and objects together. Customer.io Essentials at $100 a month. Iterable publishes no plan at this size.
- 5,000 to about 100,000 profiles. Customer.io Essentials on the published overage. At about 105,000 profiles the arithmetic reaches Premium's $1,000 starting price, so get a Premium quote before then.
- One team owns messaging. Customer.io: unlimited seats and channel-based message limits.
- Several teams send to one audience and need a shared frequency budget and channel decisioning. Iterable.
- The account is the subject of your messaging. Customer.io's objects and relationships, on the $100 plan.
- RCS, web push or an embedded placement. Iterable. LINE, or webhooks as a channel. Customer.io.
- A monthly term. Customer.io Essentials. Premium is annual, and Iterable's docs describe a contract term.
When Iterable is the right call
Iterable is the right call for a consumer brand or a large SaaS whose marketing is run by several teams, where frequency and channel choice per person are a daily problem rather than a policy. It is the right call if RCS, web push or embedded messaging is on your twelve-month roadmap, or if three months of engagement data are ready for Brand Affinity and Channel Decisioning. And it is the right call if you want a customer success manager who switches features on, because that is how its docs say the catalogue, WhatsApp and Frequency Decisioning arrive.
It is the wrong call for a mid-market SaaS with one lifecycle team, account-level messaging on the roadmap, and a finance team that wants a number before the contract. Customer.io's objects give you the account on the entry plan, and its pricing page gives finance the number.
If you are deciding between the two and want the event schema designed before anyone exports anything, that is the part we do. Tell us what your data looks like.
Frequently asked questions
Does Iterable publish its pricing?
No: Iterable publishes no price. Its pricing URL redirected to its home page when we read it on 23 October 2026. Its support centre describes a contract with usage limits per metric, a high water mark for users and custom events, and overage charges that depend on your agreement.
How much does Customer.io cost compared with Iterable?
Customer.io Essentials starts at $100 a month, billed monthly, for 5,000 profiles and 1 million emails, with extra profiles at $0.009 each; Premium starts at $1,000 a month, billed yearly. Iterable publishes no price, so the comparison is a Customer.io number against an Iterable quote.
Is Customer.io easier to implement than Iterable?
The hard part is the same on both: the event schema, not the editor. In Iterable the identity key is fixed when a project is created, fields cannot be deleted, and event properties are only available to templates triggered by that event. In Customer.io events take any JSON shape and objects model accounts, but an object update fans out to at most 1,000 people on Essentials.
Does Iterable have custom objects or accounts like Customer.io?
Iterable's documentation describes no account or custom object: its model is a user profile with fields, system events and custom events, plus a catalogue add-on for product and place data queried at send time. Customer.io includes objects and relationships on every plan, with 2 object types on Essentials and 10 on Premium.
Does Customer.io have frequency capping like Iterable?
Customer.io has channel-based message limits, shipped on 20 July 2026: per-channel or shared limits for email, SMS, push and webhooks over up to 31 days. It has no per-user frequency optimiser or channel decisioning on its pricing page. Iterable's Frequency Management caps each channel at between 1 and 99 messages a period, and Frequency Decisioning picks a cap per user.
Which has better AI, Customer.io or Iterable?
Customer.io's AI and Iterable's Nova Intelligence do different jobs. Nova decides when, where and how often to message each person, with Brand Affinity and Predictive Goals on top, and wants at least three months of active user data. Customer.io's agent does work in the workspace, LLM actions run inside automations on AI credits, and an MCP server and CLI let your own tools drive it.
Sources
- Customer.io, Pricing + Plans, read 23 October 2026.
- Customer.io, Events: track activities for people, read 23 October 2026.
- Customer.io, Getting started with objects and collections, updated 14 September 2026.
- Customer.io, Relationships, updated 22 October 2026.
- Customer.io, Objects and relationships in automations, updated 22 October 2026.
- Customer.io, Use Customer.io with AI, updated 14 September 2026.
- Customer.io, Release notes, read 23 October 2026.
- Iterable, Usage and Billing, read 23 October 2026.
- Iterable, Project Types and Unique Identifiers, read 23 October 2026.
- Iterable, Custom Event Properties, read 23 October 2026.
- Iterable, Data Schema Management Overview, read 23 October 2026.
- Iterable, limits of its "Catalog" feature, read 23 October 2026.
- Iterable, Sending Messages by Channel, read 23 October 2026.
- Iterable, WhatsApp Overview, read 23 October 2026.
- Iterable, Frequency Management, read 23 October 2026.
- Iterable, Nova Intelligence Overview, read 23 October 2026.
- Iterable, 2026 Release Notes, read 23 October 2026.
- DPReview, Adobe heralds subscription-only future for Photoshop and Creative Suite, 6 May 2013.
- The Graphic Artists Guild, Mixed Reactions to Adobe's Creative Cloud Subscription, 22 August 2013.
Want this working in your Customer.io workspace?
It's what we do all day for SMBs—strategy, automations, deliverability and hands-on execution.
See how we work as a Customer.io agency →
