Customer.io vs Iterable: which one a mid-market SaaS should pick in 2026

By·Published·Updated
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.

Bar chart: Customer.io Essentials costs $100 a month at 5,000 profiles, $505 at 50,000 and $1,000 at about 105,000, worked from the published $0.009 overage. 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
WhatsApp 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

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 →
David Crowther
Book a free consultation →

On our call, you'll be speaking with David Crowther, founder of NerveCentral.

Our initial consultation is not a sales call—you'll talk, I'll listen and ask questions—then I'll come back to you within 48 hours with our best ideas on how to grow your business.