Vendor guide · Journey orchestration · verified pricing
Customer.io Pricing Guide
Event-driven journeys with serious branching power — priced on profiles, built for data-rich teams.
Customer.io is the platform teams graduate to when lifecycle logic outgrows linear sequences. Verify current packaging on the official Customer.io pricing page.
Who this guide is for
This guide is for lifecycle teams with a rich event stream and the discipline to maintain it — product-led companies whose journeys should branch on what users actually did, not on which list they joined three months ago.
You will get the most from it if you have (or are willing to hire for) dedicated lifecycle ownership: someone who designs journeys, owns the event taxonomy, and reads experiment results without flinching. Data teams will feel at home — warehouse-synced attributes and computed properties are first-class inputs, not afterthoughts.
If your program is still linear — welcome, trial, newsletter — the branching power is paid infrastructure for complexity you do not have yet. Start from the pricing guides index and compare simpler shapes first; our verified pricing snapshot keeps the profile axis visible next to volume- and contact-based rivals.
The question to answer honestly before the demo: how many of your current journeys would change a send based on a historical event window? If the answer is one or two, buy the simpler tool now and keep the option to graduate.
Customer.io's branching depth is the focus here, with clear guidance on when an event-driven model earns its implementation cost.
Neither answer is universal — the right pick depends on where your event truth already lives, which is the thread running through every section below.
Best fit
Data-rich product teams whose journeys must branch on event histories, computed attributes, and relative dates.
Strong fit
Multi-product or usage-based companies running onboarding, cross-sell, and winback as true matrices.
Proceed carefully
Teams without event-taxonomy ownership — the platform amplifies mess as readily as it clarifies intent.
Skip when
You need native subscription-state dunning above all else, or profile growth is unbounded and cost-sensitive.
Understanding profile-based pricing
Count people plus objects — not just mailable users — before estimating: profiles include anything tracked, and overages meter both profiles and email volume. A contact you would never email can still sit on the meter if the platform tracks it, which inverts the usual "only mailable rows count" assumption from list-based tools.
Ask the blunt question during evaluation: what exactly gets retained after a trial never activates? Every answer that begins with "we keep it for analysis" is a line item at $0.009 per profile per month.
Model three scenarios against the $0.009 and $0.12 overage rates: today's tracked population, twelve months of growth, and a bloated-free-tier stress case where every anonymous identifier was retained. The third scenario is where profile pricing quietly breaks budgets — identity resolution is generous by default and must be governed deliberately.
Put the third scenario in the spreadsheet even if it embarrasses the current setup. It is the honest bound, and vendors would rather you discover it before the contract than after the first overage invoice.
Smaller SaaS teams should compare the total against volume-priced and contact-based alternatives, because free-tier growth changes the bill shape. Side-by-side numbers live in our verified pricing snapshot.
If you are eligible for the startup program, apply before you model full price — the discounted entry changes the math meaningfully in year one, but plan as if it will not renew forever.
When the power justifies the overhead
Journeys branch on event histories, computed attributes, and relative dates — usage-based onboarding, multi-product cross-sell, complex winback matrices — fed by warehouse-synced attributes. This is the depth linear suites cannot express without tag algebra: "activated feature A, has not used B within seven days, on plan X, lifetime over Y."
Those sentences are the product. If you cannot say them about your own users yet — because the events do not exist or the names are contested — the platform has nothing to branch on, no matter how good the canvas is.
The cost is operational: event-taxonomy discipline, longer setup than playbook suites, and billing triggers assembled through integrations rather than native. Choose it with dedicated lifecycle headcount and a rich event stream; otherwise start simpler and migrate when branching genuinely demands it.
The teams who thrive here treat journey design like product design: small releases, explicit hypotheses, and a bias toward deleting branches that do not change behavior.
If that sentence sounds like more discipline than your team has today, it is data — not a criticism of the tool.
Teams that buy the depth and skip the discipline end up with journeys nobody can explain — five branches deep, one branch correct. The platform will run them faithfully forever, which is exactly the problem.
Pricing tiers and the billing axis
| Plan | Free tier | Paid entry | Pricing model |
|---|---|---|---|
| Customer.io | Startup program; trial-led | Essentials: 5,000 profiles plus 1,000,000 emails per month | Profile-based; overages $0.009 per profile and $0.12 per 1,000 emails |
| Meter watch | Tracked people and objects both count as profiles; email volume meters separately above the monthly include | ||
The axis is profiles tracked, not contacts mailable and not emails sent. For a growing SaaS list, that means the bill follows the size of the population you choose to remember — including dormant users, trial abandons, and any anonymous identifiers you resolve. Free-tier-heavy funnels therefore need an explicit retention policy: identity resolution without a sunset rule is an open meter.
Email volume is the second axis: one million messages per month sits inside Essentials, and beyond that the $0.12 per 1,000 rate applies. Journey-heavy programs with long nurture trains can graze that ceiling even on modest lists — forecast from journey length times contact enters per month, not from newsletter cadence alone.
What the axes do to a growing SaaS list in plain terms: list growth raises the profile meter continuously; send intensity raises the email meter in steps. Budget both, apply for the startup program if eligible, and keep the overage rates in the model rather than hoping volume stays inside the include.
One more planning note: because included emails reset monthly per the published packaging, seasonal spikes — launches, seasonal peaks — are an overage conversation, not a downgrade conversation. Forecast them on purpose.
Axis watch: profile pricing taxes memory, volume pricing taxes sending. If your plan is to track everyone forever, run the $0.009 projection at eighteen months before you fall in love with a journey map — the map is rarely what breaks the budget.
Where it fits in the five-stage lifecycle
This is the rare platform where all five stages are equally native — the branching engine does not care which stage the journey serves. Onboarding can wait on a specific activation sequence; winback can branch on the last feature used before churn; retain can combine tenure, usage slope, and support sentiment in one decision.
Equal capability does not mean equal priority. Teams that model all five stages in the first quarter usually ship none of them well; pick the one stage where instrumentation and copy are both ready, and expand from evidence.
What still requires assembly is billing truth: trial expiry, failed payment, and plan-change triggers arrive through integrations and webhooks you map, not as native subscription objects. For many data-rich teams that is acceptable — the warehouse already knows the plan — but it must be owned and re-tested, not assumed.
Stage-by-stage, the practical advice is: instrument before you journey. A stage whose events are unreliable becomes a confident wrong branch, which is worse than a calendar send.
Stage rule: one journey owns one stage. When two journeys compete for the same moment — trial day five, say — decide with a goal and an exit, not with hope that frequency rules will sort it out.
Automation depth: what you can and cannot build
The honest inventory of a platform whose whole reason to exist is depth.
- Journeys branching on event history windows, computed attributes, relative dates, and profile properties.
- Entry from events, API calls, segment membership, changes in attributes, and scheduled campaigns.
- Warehouse-synced attributes as live journey inputs — your data team's models become branching truth.
- Multi-channel sends where configured, with per-journey goals, exits, and quiet rules.
- Server and client event ingestion with enough granularity for true behavioral sequences.
- Campaign experimentation and holdouts for judging journeys rather than guessing.
- Reusable journey components and naming conventions that keep large programs navigable.
- Quiet hours, frequency rules, and per-journey goals that keep depth from becoming noise.
Limits worth stating without hedging: billing triggers are integration-shaped rather than native — no subscription object with plan and payment state the platform reads by itself — so dunning correctness equals your webhook correctness. AI is assistive rather than the product: you will not get a governed agent fabricating entire lifecycle programs, and revenue attribution depends on the purchase data you pipe in rather than arriving pre-wired to your billing processor.
Equally: this is not a multichannel command center for SMS-first motions, nor an e-commerce merchandising suite. Its center of gravity is behavioral email journeys — everything else is adjacent.
The ceiling is also organizational. Every branch multiplies the maintenance surface; journeys drift when nobody owns taxonomy; and a team without lifecycle headcount inherits a system it cannot safely edit. The platform does not fail these teams — it mirrors them. Budget the operator alongside the subscription.
Depth check before buying: write the three journeys you believe only Customer.io can express. If each maps cleanly to real events you already emit, the depth is real. If they map to tags you plan to invent, you are buying complexity for its own sake.
Customer.io at a glance
Journey depthEvent-history branching for teams whose lifecycle logic has outgrown linear sequences — priced on profiles.
- Branching on event windows, computed attributes, and relative dates
- Warehouse-synced attributes as journey inputs
- Billing triggers assembled through integrations, not native
- Profile axis: tracked people and objects both meter
- Requires event-taxonomy ownership to stay explainable
Customer.io asks "what did this person do, and what does that mean for the next message?" — answered with journey depth few tools match. That event model is powerful when product telemetry, warehouse data, and messaging decisions need to meet in one canvas.
For a data-rich product with complex usage journeys and the staff to run them, Customer.io's branching power justifies the profile meter and the integration work — billing events can be mapped in, and the warehouse often holds plan truth already. For a product-led SaaS team whose sharpest pain is trial, dunning, and winback reacting to real subscription state without a data-engineering project, the billing-native consolidation usually wins on time-to-value.
The hybrid is legitimate too: some teams keep deep experimentation journeys here while subscription-critical flows live on billing-native rails — one audience strategy and one suppression list required either way.
Model the profile axis against volume pricing in our pricing snapshot before assuming depth must cost more.
Common mistakes when adopting Customer.io
Most adoption failures here are data-governance failures wearing a journey-design costume.
- Tracking everything forever with no identity sunset — profiles accumulate, the $0.009 meter never sleeps.
- Launching journeys before the event taxonomy is stable, then rewriting every branch when names change.
- Hand-assembling billing webhooks once and never re-testing after payment-provider changes.
- Designing five-branch journeys to solve problems a two-email sequence would have measured first.
- Skipping holdouts, so nobody can say which journey actually moved retention.
- Buying Essentials on a linear program "for later," then paying the profile meter a year before the depth is used.
- Leaving journey ownership unassigned after the original builder leaves — the canvas outlives the author.
The pattern behind almost all of them: the platform was adopted as a purchase when it is actually an operating practice. Assign owners for taxonomy, journeys, and meters before the first production journey goes live.
Re-run the list after every pricing review; profile policies and journey sprawl both worsen quietly between annual check-ins.
Pricing note and verdict
Essentials gives 5,000 profiles and a million emails as the working floor, with $0.009 and $0.12 overage rates that reward disciplined retention and punish track-everything defaults. Apply for the startup program if eligible, but model full price for the out-year.
Buy Customer.io when branching depth is the bottleneck and you have the headcount to own it; reconsider when your sharpest flows are subscription-state problems that a billing-native suite would read directly. Compare the axes in our verified pricing snapshot before the contract conversation.
Rollout plan
A 30-day rollout for your first Customer.io journeys
- Days 1–5 · Taxonomy before canvas. Write the event dictionary, verify ingestion for the top five events, and agree property naming with whoever owns the warehouse.
- Days 6–12 · One onboarding journey. Ship a single activation-journey with two branches and explicit exit goals — resist the urge to diagram the whole lifecycle.
- Days 13–18 · Billing mapping. Map trial and payment events through integration, test in a staging account, and document who re-tests them after provider changes.
- Days 19–24 · Meters and retention. Establish profile and email meter dashboards, set an identity sunset policy, and apply for the startup program if eligible.
- Days 25–30 · Holdout and review. Add a holdout to the onboarding journey, read it honestly, and prune any branch that changed no send decision.
FAQ
How does Customer.io pricing work?
Essentials includes 5,000 profiles and one million emails per month. Beyond that, overages are $0.009 per additional profile and $0.12 per additional 1,000 emails. Profiles are tracked people and objects — not only mailable contacts — so the profile meter follows your identity-resolution and retention choices as much as your subscriber count.
What are the free tier limits?
There is no large free production tier; entry is trial-led, with a startup program for eligible companies that changes the economics meaningfully. Plan your model at full Essentials pricing anyway — programs that outgrow a startup discount mid-contract discover the real axis at the worst moment.
How painful is migrating into Customer.io?
Contacts and properties port, but the real migration is event instrumentation: naming, verification, and backfill habits take longer than the list import. Bring journeys over one at a time — linear ones first — and run old and new paths in parallel for a cycle.
Who is Customer.io best fit for?
Data-rich product teams with dedicated lifecycle ownership: usage-based or multi-product SaaS, apps with long event histories, and companies that will actually run holdouts. If your warehouse is already the source of truth for behavior, this platform turns that investment into branching email.
When should I choose a different tool instead?
Choose Loops while your journeys are still linear. Choose Brevo if SMS and CRM breadth outrank branching depth. Choose Customer.io when event history and branching are the product requirement.
How do we keep the profile meter under control?
Set an identity sunset: purge or anonymize profiles that never activated or have been dead past your churn horizon, and review resolved anonymous identifiers quarterly. Every policy decision here is a pricing decision — $0.009 compounds across population, not across sends.