Email ROI Baseline
$36
Return per $1 spent when the system is built correctly
SMS vs Email CTR
7x
Higher click-through rate from SMS compared to standard email campaigns
Automation Revenue Share
15%
Minimum revenue contribution from the three core flows, running without manual input
Dead Metrics (Post-iOS 15)
Open Rate
Open-Based Segmentation
Open-Triggered Flows
Deliverability Scored on Opens
Live Metrics (Optimize For These)
Click Rate
Conversion Rate
Revenue Per Recipient
Reply Rate
Why unified platforms matter: when Email and SMS run on separate tools, each platform's attribution model claims credit for the same conversion. A subscriber gets an email on Tuesday and an SMS on Wednesday, converts on Thursday, and both platforms report it as their win. The numbers look great but the data is useless for making spend decisions. A unified platform eliminates this by attributing the conversion to the last-touch channel within a single view.
Step 1: Single-Source Truth
Run Email and SMS through a single unified platform wherever possible to eliminate attribution conflicts between channels
Tools like Klaviyo, ActiveCampaign, and Omnisend handle both channels natively and apply a single attribution model across both. When you use separate tools (Mailchimp for email, Postscript for SMS), you cannot trust the revenue numbers either platform reports because there is no shared last-touch model between them. Unified platforms also allow you to build cross-channel flows: send an email first, wait 24 hours, check for a click, and if there is no click send an SMS follow-up. This orchestration is impossible when the channels operate independently. If migration to a unified platform is not immediately feasible, at minimum disable revenue attribution on the secondary platform so you are not doubling revenue counts.
Unified PlatformAttribution
▾
Step 2: Attribution Shift
Remove open rate from all reporting dashboards and performance reviews. Optimize strictly for click rate, conversion rate, and bottom-line revenue per send.
iOS 15's Mail Privacy Protection pre-fetches email content for Apple Mail users, which artificially inflates open rates by 20-60% for lists with significant Apple device penetration. If your email platform reports "48% open rate," the actual engaged-open figure could be closer to 20%. Any flow or campaign that triggers based on opens (re-engagement sequences, sunset flows, engagement-based suppression) is now acting on ghost data. Replace open-based triggers with click-based triggers throughout every automation. Replace open rate in your weekly reporting with click-to-open rate (CTOR), which is more reliable because it measures clicks among actual openers rather than inflated totals.
Click RateCTORRevenue Per Send
▾
Step 3: SMS Integration
Integrate SMS as a primary channel, not a backup. It produces 4x higher conversion rates and 7x higher click rates than email.
SMS is not email with a different delivery method. It operates on a fundamentally different attention dynamic. Most people read a text within three minutes of receiving it. Most people read an email within 24-48 hours, if at all. This time-to-read difference makes SMS the superior channel for time-sensitive campaigns: abandoned cart recovery, limited-time offers, appointment reminders, and re-engagement. The compliance requirements are stricter (explicit SMS opt-in is legally required in most jurisdictions), but the performance data across virtually every industry that has tested it supports the same conclusion: SMS outperforms email on urgency-driven sends. Build the opt-in mechanism into your existing email capture flow.
SMS opt-in placement
Primary: Step 2 of a multi-step popup after email capture
Secondary: Post-purchase confirmation page
Tertiary: Welcome email with SMS opt-in CTA
SMS Primary4x Conversion
▾
The data hierarchy: third-party data (purchased audiences, browser tracking) is dying under GDPR, iOS privacy updates, and cookie deprecation. First-party data (purchase history, site behavior) is useful but tells you what someone did, not why. Zero-party data tells you what they want, what problem they are trying to solve, and what outcome they are optimizing for. It is the highest-quality input you can feed into a personalization system.
1
Capture via survey, popup, or intake form immediately after opt-in
Ask one or two high-signal questions. "What is your biggest challenge with X?" or "What outcome are you most focused on?"
2
Store the response as a custom property on the contact record
Tag each answer category so it can be used as a conditional trigger in your automation flows.
3
Route into personalized automation path based on their response
Each problem category gets its own content track, case studies, and offer sequence. No generic welcome flow.
4
Push segments into Facebook and Google ad accounts for matched creative
Retargeting creative is informed by what the subscriber told you they want, not what the algorithm guesses based on behavior.
Step 1: Collection Engine
Deploy a multi-step popup, onboarding survey, or intake form immediately after capture to ask prospects what specific problem they need solved
The capture moment is when intent is highest. Someone just opted in, which means they have an active problem they believe you can help solve. Asking one or two qualification questions at this exact moment produces response rates of 30-60%, compared to 5-10% if the same questions are asked three emails later when intent has cooled. Keep the questions binary or multiple-choice where possible. Open-text responses are harder to route into automation triggers than tagged categorical answers. Examples: "Which best describes your situation?" with three answer options, or "What is your primary goal right now?" with four options. The answer tags the contact immediately and routes them into the correct flow.
Post-Capture SurveyIntent Moment
▾
Step 2: Automation Split
Use zero-party data to create conditional splits in your automations. Route each prospect down a personalized path matching the problem they named.
A generic welcome sequence sends every subscriber the same content in the same order regardless of why they opted in. This produces average results at best. A conditional split means Subscriber A, who said their problem is lead generation, receives a sequence of emails about lead generation case studies, frameworks, and tools. Subscriber B, who said their problem is client retention, receives a completely different sequence. Both sequences can exist inside a single automation using conditional branching. The open rate difference between generic and segmented sequences is typically 20-40% higher click rates for the segmented version. More importantly, the conversion rate on offers embedded in these sequences is 2-4x higher because the offer matches the stated problem.
Conditional split structure
Tag: lead_gen then Branch A sequence (lead gen content track)
Tag: retention then Branch B sequence (retention content track)
Tag: other then Branch C sequence (broad value content)
PersonalizationConditional Splits
▾
Step 3: Omnichannel Sync
Push newly identified segments directly into Facebook and Google ad accounts to align retargeting creative with the problem each segment declared
Most advertisers run the same retargeting creative to everyone who visited their site or opted into their list. The result is irrelevant ads shown to people who have already told you exactly what they want. The fix is a direct sync between your email platform's segment tags and your ad account custom audiences. In Klaviyo, this is done through the Meta integration. Tag a subscriber as "lead_gen_interested" and that tag syncs to a Facebook custom audience. The retargeting creative for that audience shows lead generation social proof and angles, not generic brand ads. This is the most underused conversion lever available in any marketing stack that has both email and paid channels running simultaneously.
Audience SyncRetargeting
▾
👋
Welcome and Onboarding
Delivers what was promised immediately, establishes authority, builds the brand narrative, and routes into a personalized content track based on zero-party data.
Always Running
↩️
Abandoned Intent Recovery
Triggers on abandoned checkout, dropped application, or incomplete VSL form. Deploys an email plus SMS sequence to recover high-intent users before they go cold.
Highest ROI
🚀
Post-Conversion Ascension
The journey does not end at the sale. Reduces buyer's remorse, drives product consumption, and triggers the next logical offer in the customer journey.
LTV Builder
The 10-15% floor: these three flows combined should account for a minimum of 10-15% of total email and SMS attributed revenue without any manual campaign activity. If your flows are below this threshold, the issue is almost always one of two things: either the flows are too short (under 7 emails) or the conditional splits from Phase 2 have not been implemented and everyone is receiving the same generic sequence.
Flow 1: Welcome and Onboarding
Deliver the lead magnet or promised content immediately, then build authority and route into the personalized track based on their zero-party data tag
The welcome flow starts from the second someone opts in and the first email must send within five minutes. Every minute of delay between opt-in and first contact is a measurable drop in engagement. Email one delivers what was promised. Email two establishes who you are and what you have done for people in the same situation as this subscriber. Emails three through seven deliver specific value that matches the problem they declared in the capture survey. The first offer or CTA should appear no earlier than email three. Introducing a hard pitch in email one or two before trust is established produces high unsubscribes and low conversion rates.
5-Min First Send7+ Emails
▾
Flow 2: Abandoned Intent Recovery
Trigger immediately on any high-intent abandonment event: checkout drop, incomplete application, unfinished VSL form. Include an SMS touchpoint in the sequence.
Abandoned intent flows are the highest-ROI automation in virtually every account because the trigger audience is the most qualified pool available. These are people who were actively in the process of converting and stopped for a reason. That reason is almost never "I decided I don't want this." It is usually friction (technical issue, distraction, need for more information, price concern). The recovery sequence addresses those friction points directly. Email one sends within one hour: "Here is a direct link to continue where you left off." Email two at the 24-hour mark addresses the most common objection. SMS goes out 48 hours after abandonment for anyone who has not clicked either email. The SMS is short and direct: no more than two sentences with a link.
Abandoned intent sequence
Hour 1: Email, direct re-entry link
Hour 24: Email, objection handling
Hour 48: SMS, 2 sentences + link (if no click on emails)
Day 5: Email, social proof from similar profile
1-Hour TriggerSMS at 48hrs
▾
Flow 3: Post-Conversion Ascension
Trigger immediately after any conversion event to reduce buyer's remorse, drive product consumption, and introduce the next logical offer in the customer journey
The moment immediately after a purchase or booking is the highest-trust window in the entire customer relationship. The customer just made a decision that required overcoming skepticism and committing money or time. This window is also the moment when buyer's remorse is most likely to emerge. The post-conversion flow has three jobs in sequence. First, validate the decision (reinforce why this was the right move). Second, drive consumption (give them the fastest possible path to experiencing value). Third, introduce the next offer (only after they have experienced a win). The sequence that skips jobs one and two and goes straight to upselling generates high refund rates and low ascension rates because the customer has not yet experienced the value they paid for.
Decision ValidationDrive ConsumptionThen Upsell
▾
Why the 20% value content matters: a list that only receives promotional emails trains its subscribers to tune out every send because they know every message is going to ask something of them. The 20% pure-value sends (no CTA, no link to a booking page, no offer) maintain the relationship's credibility and keep open and click rates healthy across the entire list, which improves deliverability for the 80% of sends that do have a promotional objective.
Step 1: Frequency Formula
Maintain a consistent send rhythm: approximately 2 email campaigns per week and 2 to 4 SMS campaigns per month
Consistency in send frequency trains your subscribers' expectations and improves inbox placement because mailbox providers reward senders with consistent sending patterns. Going dark for two weeks and then sending five emails in three days is one of the most reliable ways to trigger spam filters and spike unsubscribes simultaneously. The 2x weekly email cadence is a baseline, not a ceiling. High-engagement lists can support 3-4 sends per week without deliverability degradation. The SMS cadence of 2-4 per month is deliberately conservative because SMS subscribers are harder to re-acquire than email subscribers once they unsubscribe, and tolerance for unsolicited text messages is lower than tolerance for email.
2x Email/Week2-4x SMS/Month
▾
Step 2: The 80/20 Rule
80% of broadcasts should drive a direct action or conversion. 20% must be pure value delivery with zero conversion pressure.
The 80% promotional sends drive bookings, purchases, and applications. These are straightforward direct-response emails with a clear CTA and a specific desired action. The 20% value sends are structurally different: no CTA, no link to an offer page, no "PS" with a pitch. They exist purely to give the subscriber something useful without asking for anything in return. This could be a tactical breakdown, a case study shared as a learning rather than a sales vehicle, a resource recommendation, or a perspective piece. The 80/20 balance is a minimum standard for the value component, not a maximum. Some of the highest-performing lists run closer to 70/30 or 60/40 depending on how premium the audience is.
80% Promotional20% Pure Value
▾
Step 3: Exclusion Protocol
Never blast your entire list. Always exclude recent converters, active welcome flow recipients, and anyone who recently exited an abandoned intent flow.
Sending a promotional campaign about an offer to someone who purchased that offer yesterday is not just inefficient. It actively damages trust and produces unsubscribes from your highest-value segment. Sending a "we miss you" reactivation campaign to someone who opted in three days ago and is in the middle of their welcome flow creates a confusing, fragmented experience. The exclusion segments to build and apply to every campaign are: purchased in the last 30 days, currently in welcome flow, currently in abandoned intent flow, and hard-bounced or complained in the last 60 days. These exclusions protect your deliverability, reduce unsubscribes, and ensure your campaigns reach the contacts they are actually designed for.
Standard exclusion list for every campaign send
Exclude: Purchased within 30 days
Exclude: Currently in welcome or onboarding flow
Exclude: Exited abandoned intent flow within 7 days
Exclude: Hard bounce or spam complaint in last 60 days
Segment ExclusionsDeliverability Protection
▾
Want my team to build your Omnichannel Machine?
You can try to navigate the post-iOS 15 tracking environment and build out zero-party data infrastructure yourself, or you can have my team install this exact architecture directly into your CRM. Attribution unified, flows built, segments mapped, exclusions configured.