Growth · Customer.io · year to date 2026
A verified read on the always-on lifecycle and the monthly offer machine, triangulated across Customer.io, PostHog and the workspace-conversion cohort, then independently re-derived and stress-tested. Analysis and strategy only.
Executive verdict
Your deliverability worry is correct and fixable now, and it is an execution problem, not a sign that offers fail. The evidence does not support cutting offers, and on two checks it leans the other way: the customers the offer brings in retain, and its true footprint may be much larger than it looks. So the sound sequence is to fix the execution now, measure the offer's real lift with a holdout, and only then decide on volume. Do not cut a possibly healthy lever on evidence that cannot yet separate cause from coincidence.
Section 1
Signups and new-paying conversions by month. Read the per-signup rate carefully, it is not flat.
| Month | Workspace signups | New-paying (PostHog) | create | upgrade | New-paying / signup |
|---|---|---|---|---|---|
| January | 3,073 | 321 | 195 | 126 | 10.4% |
| February | 3,102 | 304 | 171 | 133 | 9.8% |
| March | 4,089 | 372 | 222 | 150 | 9.1% |
| April | 4,794 | 411 | 234 | 177 | 8.6% |
| May (partial) | 3,708 | 369 | 226 | 143 | 10.0% |
New-paying volume rises with signups, which makes growth a top-of-funnel story. The per-signup rate, though, fell from 10.4 percent in January to 8.6 percent in April before a partial-May rebound to 10.0 percent, so conversion efficiency was softening, not holding flat.
The honest limit: the one-dollar offer ran in every month of this window, so there is no period to compare against. A stable-ish conversion rate under an always-on offer is consistent with the offer helping or not helping. We cannot read "growth is signup-led" as "offers do not matter" from this data. Two more confounds sit on top: new-paying in any month is dominated by earlier cohorts converting late (median time to paid is 28 days, p90 near 90 days), and May is partial, so its rebound is mostly older cohorts maturing. Source: Excel Time to convert sheet; PostHog combined events.
Section 2
Judged on human engagement (machine opens stripped out), conversion credit, deliverability and reach. Lifecycle campaigns and offer broadcasts assessed separately.
Expected and relevant mail engages. Repeated promotional blasts do not. Human click rate (a person deliberately acting) separates the two pillars sharply.
Purple = lifecycle campaign. Violet = offer or one-off broadcast. Human clicks divided by delivered. Source: CIO campaign and newsletter metrics (ws 199348). SMS offers sit higher on clicks (13 to 14 percent) but only when delivered, see Section 3.
Working. Onboarding (campaign 1) reaches essentially every signup, runs at 21.1 percent human open and 1.84 percent human click, and is credited with 1,082 conversions. Sales-outreach (3) runs at 28.9 percent open and 3.10 percent click. Onboarding-outreach (32) is the best-engaging email at 40.5 percent open and 4.87 percent click. Reverse-trial in-app (50) is credited with 126, 249 and 160 conversions in March, April and May.
Not working. Post-trial v2 (73) opens at just 2.3 percent human, a deliverability or segment red flag worth investigating. The sunset post-trial series (9) sits at 10 percent. Sales-outreach (3) has no conversion goal set, so its conversions are invisible in Customer.io. Onboarding, outreach and reverse-trial all fire on the same new signup, so one user can sit in three journeys at once.
Source: CIO GET /campaigns/{1,3,9,32,50,73}/metrics.
Working, narrowly but on signals that matter. In-app offers cost zero sending reputation and convert the people who see them (notification 105: 50 conversions from 576 in-app views). SMS converts well when it lands (13 to 14 percent human click). And the converts retain (Section 4), so the offer is not bringing in throwaway customers.
Not working. The discount blasts engage weakly on opens and clicks (6 to 21 percent open, 0.3 to 0.8 percent click), the one-dollar offer is no longer novel to the active free base. The cold winback opened at 7.8 percent and clicked at 0.15 percent. In-app reach is capped near 5 to 6 percent of the eligible audience, because the dormant base does not log in, so in-app alone cannot reach the people who convert late.
Source: CIO GET /newsletters/{90,91,92,94,95,96,97,105,108,109,110,111}/metrics.
Section 3
Three measured execution problems. Each is fixable without deciding whether offers work, and fixing them is exactly what protects deliverability.
The 48-hour and 24-hour one-dollar reminders went to the same audience of roughly 6,900 people one day apart. The second send did less than half the work of the first.
| One-dollar reminder | Delivered | Human open | Human click | Conversions |
|---|---|---|---|---|
| 48 hours to go (109) | 6,968 | 17.9% | 0.76% | 36 |
| 24 hours to go (110) | 6,799 | 7.9% | 0.34% | 19 |
| Change | down 2% | down 56% | down 55% | down 47% |
Source: CIO newsletters 109 and 110, sent 29 and 30 May.
Every send shares one sending reputation. The May dormant winback was a single 189,749-email cold blast that bounced at 9 percent, and on its own it took the month's blended bounce rate from a healthy 1.62 percent to 7.02 percent. A 9 percent bounce event on six figures of volume is the kind of signal that makes inbox providers throttle and divert mail, which would also hit the onboarding mail that carries the real conversions.
One cold send was 73 percent of all 260,115 emails sent in May, for 24 conversions. Source: CIO newsletter and campaign metrics, May bucket.
Human open percent, campaign 1. The decline is steady from January, so the May winback is not its main cause. The fuller cross-journey picture is below.
Human open rate fell over the same window on every always-on journey, and across different audiences. Onboarding and Sales-outreach hit new signups, Post-trial hits trial-ended users. A shared decline across different audiences points to a shared cause, the sending domain's inbox placement, more than to any one audience's quality.
| Journey (audience) | Jan | Feb | Mar | Apr | May |
|---|---|---|---|---|---|
| Onboarding (new signups) | 25.6% | 25.3% | 21.2% | 18.4% | 16.9% |
| Sales-outreach (new signups) | 41.7% | 37.1% | 21.8% | 15.1% | 21.5% |
| Post-trial (trial ended) | n/a | 13.5% | 10.2% | 8.7% | 7.2% |
| Onboarding-outreach | n/a | 65.9% | 45.0% | 39.8% | 36.1% |
The "pick a plan" SMS failed or bounced on about 58 percent of 3,436 sends (2,009 of them), while a cleaner cloned send delivered at 94 percent. SMS clicks at 13 to 14 percent when it lands, so the channel works, the targeting does not.
Section 4
Customer.io credits a conversion when someone enters the paying segment within 7 days of receiving a message. That is timing, not cause, and the same person is counted by every journey and send that touched them.
Summing Customer.io conversion credit across all journeys and broadcasts, then comparing to the real number of new-paying workspaces from PostHog, shows the overlap directly. As more journeys and sends piled on, credit grew past the real total.
| Month | Campaign credit | Broadcast credit | Total CIO credit | Real new-paying | Inflation |
|---|---|---|---|---|---|
| January | 195 | 0 | 195 | 321 | 0.61x |
| February | 255 | 0 | 255 | 304 | 0.84x |
| March | 427 | 0 | 427 | 372 | 1.15x |
| April | 540 | 0 | 540 | 411 | 1.31x |
| May | 355 | 402 | 757 | 369 | ~2.05x |
How to read this, and how not to. In April two lifecycle journeys alone (onboarding 189 plus reverse-trial 249, total 438) credit more than the 411 real conversions, so overlap is certain. The takeaway is narrow and important: do not trust Customer.io per-message conversion credit for anything, lifecycle or offer. This finding discredits the credit, not the offer. It does not by itself say offers underperform, those are separate questions, and the rising ratio also tracks how many journeys had conversion goals turned on over the year, not offer intensity.
The cleanest direct signal is the one-dollar promo code recorded on the subscription event. It is a floor because the code is recorded on at most about a third of new subscriptions, and was not recorded on trial conversions at all before May.
| Month | Conversions with a $1 code (approx) | Share of real new-paying | Code coverage on new subs |
|---|---|---|---|
| January | 0 | 0.0% | 9.2% |
| February | ~12 | 3.9% | 12.3% |
| March | ~39 | 10.5% | 20.3% |
| April | ~58 | 14.1% | 28.2% |
| May | 95 | 25.7% | 32.3% |
For a 98-percent-off offer, the number that decides everything is whether those customers survive past the discounted period. A read on current subscription status and the explicit cancel event says they hold up.
| Cohort (first conversion) | Group | N | Still subscribed now | Cancelled since |
|---|---|---|---|---|
| Feb to Apr 2026 | $1-code converts | 109 | 91.7% | 6.4% |
| Feb to Apr 2026 | Full-price / no code | 951 | ~92% | ~15% |
| Source | What it measures | Use it for |
|---|---|---|
| PostHog events | create plus upgrade subscription, all of them | Authoritative monthly new-paying flow |
| Excel cohort | Workspaces still paying today, by signup month | Mature paying rate, survivorship-limited |
| Excel new-paying weekly | First Stripe payments, excludes in-trial workspaces | Revenue and average first payment |
| CIO conversion | Entered paying within 7 days of receiving | Direction only, inflated about 2x by overlap |
Section 5
Sequenced to measure before cutting. Fix the low-regret execution faults now, learn the offer's true lift, then size the offer on evidence. Strategy only, nothing here is built or sent.
Do now, low regret (these solve the deliverability worry on their own)
Stop sending six figures of cold email in one shot. Suppress the ever-bounced and 60-day dormant before any large send, and re-engage cold contacts only in small, recently-active-first batches with a hard stop if bounce passes 2 percent. Cap offer reminders at one. Gate SMS on a validated mobile number and exclude the failed-SMS segment. Keep the dormant re-engagement, just do it clean, because those reactivations look genuinely incremental.
Onboarding, sales-outreach and reverse-trial all start on roughly every signup, so a new user can be in three journeys at once. Add a per-person message cap, with onboarding and trial as priority and exempt. Separately, scrub junk and disposable-email signups, since onboarding fires on every signup and some of the bounce and open-rate decline may be signup quality, not reputation.
Measure before deciding offer size
Withhold the offer from a random, representative slice of the eligible base, importantly including dormant and non-logging-in users, for one or two cycles, and compare new-paying conversion in treatment against control. Keep the current cadence running as the control arm so the measurement is clean. This is the only way to learn the offer's true net lift, and it gates the volume decision below.
Populate the promo code on every subscription (coverage is under a third today), pipe Customer.io send and delivery events into PostHog so recipiency and incrementality become queryable, add a conversion goal to Sales-outreach so its contribution is visible, and pull a fixed day-90 retention cut on offer cohorts once May upgrade data matures.
Decide after the holdout reads
If lift is small, shrink the offer and reinvest the volume. If lift is positive, move from a calendar blast to triggers at trial end and at day 30, 60 and 90, deliver in-app first for logged-in users, and keep a cleaned email and SMS path for the dormant tail, since in-app reaches only 5 to 6 percent and cannot touch the late converters who matter most. Segment the decision by geo and persona, the offer may be load-bearing in price-sensitive emerging markets and dead weight in ANZ.
Workspaces that reach 16-plus contacts in 14 days convert at 51.9 percent, those stuck at 3 to 5 contacts (78 percent of signups) at 2.5 percent. Reaching many contacts is partly a marker of an already-committed practice, not only a cause, so run it as an experiment: nudge a random set of stalled workspaces and measure whether conversion actually moves, before sizing it.