You send five or six touches to every lead — a call, a text, an email, another call — and one of them is doing almost all the work. Most agents can’t say which one. Finance and insurance text messages get a 56.66% average response rate against 483,254 engaged contacts, per TextUs’ own December 2025 benchmark report, which means texting clearly works for this industry in aggregate. What it doesn’t tell you is whether your texts are the reason a specific lead booked, or whether that lead was always going to answer the third call regardless of what you texted first. Follow-up attribution is the practice of finding that out, touch by touch, instead of guessing.
Key takeaways
- Finance and insurance SMS averages a 56.66% response rate across 483,254 engaged contacts, but that's an industry aggregate, not proof any single agent's texts are converting (TextUs, December 2025).
- It typically takes about 8 touches to convert a new prospect into a meeting, and top performers average only 5 — meaning the touches in the middle of your sequence matter more than most tracking gives them credit for (RAIN Group, 2026).
- Sales professionals self-report social at 42% effectiveness, email at 26%, and phone at 23% — but that's a perception ranking, not measured data, which is exactly the kind of gap that gets agents guessing wrong (HubSpot, September 2025).
- TCPA statutory damages run $500 to $1,500 per violation, and one agency's undisciplined multi-channel outreach settled for $2.875 million in June 2026 — real stakes for keeping a channel running that you can't prove is converting anyone (47 U.S.C. § 227(b)(3); ClassAction.org, June 2026).
- Ambrose's campaign-metrics spoke measures opens, clicks, replies, and booked-call rates per touch with recipient identifiers stripped before any of it reaches the model — a confirmed, current capability, not a roadmap item (Ambrose docs, fetched August 2026).
This is not ad-platform attribution
This article is about your own outbound follow-up sequence — the calls, texts, and emails you send to a lead once it's already in your CRM. It is not about which Meta or Google ad brought that lead in originally; that's a different measurement problem with different tools. If you're trying to fix the ad side of the funnel, our guide to Google Ads health insurance certification and our breakdown of the lean agency tech stack cover that ground.
What follow-up attribution actually means
Attribution is the practice of assigning credit for a conversion to the touch, or touches, that actually caused it. In a follow-up sequence — the string of calls, texts, and emails an agent or a bot sends a lead after the first contact — there are four common ways to do that, and most agencies, without realizing it, default to the worst one.
Last-touch attribution gives 100% of the credit to whatever happened immediately before the lead said yes. It’s the default in most CRMs because it’s the easiest thing to calculate: whoever made the call that ended in “book me for Tuesday” gets the win. The problem is obvious once you say it out loud — it erases everything that happened before that call. If a lead ignored your first two calls, read your text, and only picked up the third call because the text primed them, last-touch attribution tells you the call worked and the text was noise. That’s backwards.
First-touch attribution does the opposite: whoever made first contact gets all the credit, regardless of how many touches it actually took to close. This overvalues initial contact and undervalues the follow-up sequence entirely, which is a strange thing to do on a site built around teaching agents to follow up better.
Linear attribution splits credit evenly across every touch in the sequence. It’s honest in the sense that it doesn’t pretend to know more than it does, and it’s the easiest model to build by hand in a spreadsheet, which is exactly why the manual method later in this article starts there.
Position-based attribution (sometimes called U-shaped) gives more weight to the first and last touches — commonly a 40/40/20 split, with the middle 20% divided across whatever happened in between — on the theory that the touch that got someone’s attention and the touch that closed them both matter more than the ones in the middle. It’s more accurate than last-touch alone, but it needs software that can actually do the math per lead; it’s not a realistic spreadsheet model at scale.
| Model | What it credits | The blind spot |
|---|---|---|
| Last-touch | The single touch immediately before conversion | Erases every touch that built the trust leading up to it |
| First-touch | The initial contact only | Ignores the entire follow-up sequence's contribution |
| Linear | Every touch, split evenly | Treats a throwaway email the same as the call that closed it |
| Position-based | First and last touch weighted heaviest (often 40/40/20) | Needs software to calculate per lead; not realistic by hand at scale |
Almost every agent defaults to last-touch, not because they chose it, but because it’s the only model their CRM’s activity log makes visible without extra work. That default is the actual subject of this article.
The pain: five touches, one number, zero idea which one worked
Here’s the version of this that plays out in a normal agency every week during a lead-gen push. A lead comes in from a Meta ad. Day one: an automated call. No answer. Day one, two hours later: a text. Day two: an email with a rate comparison. Day three: another call, this one answered — and the lead books an appointment. At the end of the month, the report says: 40 leads, 11 booked, 27.5% conversion. What it doesn’t say is whether the text on day one mattered at all, whether the email ever got opened, or whether that day-three call would have converted just as well without any of the three touches before it.
Multiply that by every lead source, every agent on the team, and every month, and you get an agency running a follow-up sequence it built once, has never re-tested, and can’t defend when someone asks “why do we still text on day one?” The honest answer, most of the time, is “because that’s how we set it up,” not “because we measured it and it works.”
This matters more than it sounds like it should, because the sequence isn’t free to run. Every text carries TCPA exposure if consent isn’t airtight. Every call is agent or AI-voice time. Every touch that isn’t converting anyone is pure cost with no return, and you can’t cut it if you don’t know it’s the one doing nothing.
Why this happens: your CRM counts leads, not touches
Most CRMs and dialers built for insurance agencies report at the lead level: contacted, qualified, booked, sold. That’s the right level for a pipeline report. It’s the wrong level for a channel decision, because “contacted” collapses five separate events — a call, a text, an email, another call, another text — into one status field that only ever shows the most recent one.
The mechanism is simple and almost nobody built it on purpose: your activity log timestamps each touch, but nothing downstream asks “which of these caused the outcome.” The report you actually look at every week is a rollup that already threw that information away by the time it reached your dashboard. You’d have to go back into the raw activity log, lead by lead, and reconstruct the sequence yourself to get the answer — which is exactly why almost nobody does it, and why last-touch becomes the default without anyone choosing it.

What it actually costs

Run the illustrative math, using the sourced numbers above as inputs rather than as a claim about your specific results. Say a hundred leads move through a standard four-touch sequence in a month, and the sequence converts at a typical rate for the industry. If you’re running last-touch attribution, every one of those conversions gets credited to whichever touch happened last — usually the call — and the text and email upstream of it show up in your reporting as “sent,” with no visibility into whether they moved anyone. If even a third of those conversions actually depended on the text landing first (a plausible read of TextUs’ 56.66% response figure, though not a claim this article is making about your specific sequence), you’d be crediting the wrong channel for a third of your wins, which means you’d also make the wrong call the next time someone asks “can we cut the text step to save on compliance risk?”
The self-reported HubSpot ranking makes the same point from a different angle: sales professionals rank social at 42% effectiveness, email at 26%, and phone at 23% (HubSpot, September 2025) — but that’s perception, not measurement. If your own team’s gut sense of “what’s working” is built the same way, on memory and vibes instead of a channel-by-channel breakdown, you’re one busy AEP season away from cutting the channel that was actually carrying your numbers.
Self-reported channel effectiveness, sales professionals
Perceived effectiveness, not measured conversion data — this is the gap attribution is supposed to close.
Source: HubSpot, 2025 State of Sales Report, September 2025. Self-reported by 1,000+ global sales professionals.
The channel you'd cut first to save on compliance risk is usually the one nobody's actually measured.
Mike MooreWhat most agencies run instead of measuring it
Last-touch by default
- The CRM shows one "contacted" status per lead
- Whoever made the final call gets the credit
- Nobody can say if the text on day one did anything
- Channel decisions get made on memory, not data
- Sequence hasn't changed in a year because no one can prove a change would help
1 rollup numberfor a 5-touch sequence
Touch-level attribution
- Every touch is tagged and timestamped in a shared log
- Opens, replies, and booked-call rates are tracked per touch
- You can see which specific step is doing nothing
- Channel decisions cite a number, not a hunch
- The sequence gets tested and changed on purpose
Per-touch datafor the same 5-touch sequence
A worked example: the same lead, four different credit assignments
Here’s why the model you pick isn’t academic. Take one hypothetical lead moving through a four-touch sequence: a call on day one (no answer), a text two hours later (no reply), an email on day two (opened, no click), and a call on day three that the lead answers and books an appointment on. This is an illustrative example built to show how the math changes, not a claim about any specific agency’s real numbers.
| Touch | Last-touch credit | First-touch credit | Linear credit | Position-based credit (40/40/20) |
|---|---|---|---|---|
| Day 1: Call (no answer) | 0% | 100% | 25% | 40% |
| Day 1: Text (no reply) | 0% | 0% | 25% | 10% |
| Day 2: Email (opened) | 0% | 0% | 25% | 10% |
| Day 3: Call (booked) | 100% | 0% | 25% | 40% |
Run that same math across a month of leads and the model you picked determines the story you tell yourself. Last-touch says “calls convert, texts don’t” — and if a manager reads that report literally, the text step gets cut next quarter. Linear says all four touches matter equally, which is probably too generous to the text that got zero measurable response, but it at least keeps the question open instead of closing it prematurely. Position-based credits the text and email least of all four, which is arguably the most defensible read of what actually happened here — the text sat unopened and the email got a look but no action, while the two calls did the visible work.
None of the four models is “correct” in some absolute sense. What matters is picking one, applying it consistently across your whole lead pool, and comparing sequences to each other under the same model — not switching models mid-analysis because one of them makes a channel look better.
How to build touch-level attribution by hand
This is the part we’re not holding back. You don’t need software to start measuring which touch converts — you need a habit and a shared log. Here’s the real process, in order, that works with a spreadsheet and whatever CRM you already have.
Log every touch with a channel and sequence position
For every lead, record each touch as its own row: lead ID, channel (call/text/email), sequence position (touch 1, 2, 3...), timestamp, and outcome (no response, opened, replied, booked). Most dialers and texting platforms already log this — the work is exporting it into one place instead of leaving it scattered across three tools.
Pick linear attribution to start
Don't try to build position-based weighting in a spreadsheet — it's not worth the formula complexity for a manual system. Split credit evenly across every touch a converted lead received. It's not perfect, but it's honest, and it's the fastest model to actually finish building.
Tag "booked" as its own event, separate from "contacted"
The single biggest fix most agencies need: stop treating "contacted" and "booked" as the same status. A lead can be contacted five times and booked once — that booked event needs its own timestamp and its own row, tied back to which touch immediately preceded it and which touches came before that.
Run a monthly rollup by channel and position
Once a month, pivot the log: how many touches at each sequence position (touch 1, 2, 3, 4) resulted in a reply or a booking, broken out by channel. This is where you actually see whether your day-one text is pulling weight or just adding TCPA exposure with nothing to show for it.
Test one change at a time
Once you have a baseline, change one variable — move the text from touch 1 to touch 2, or drop it entirely for a test cohort — and compare the rollup against your baseline the following month. Don't change the whole sequence at once; you'll be right back to not knowing which change did anything.
Keep the raw log, not just the rollup
Your monthly summary answers "what's working." The raw per-touch log is what lets you re-cut the analysis when someone asks a different question — by lead source, by agent, by time of day. Keep it, even after you've pulled the numbers you needed this month.
This works whether you're solo or on a team
A solo agent can run this in a Google Sheet with a pivot table and twenty minutes a month. A team needs a shared log everyone actually populates — which is the real bottleneck, not the math. The math is the easy part; getting five agents to consistently tag every touch is the part that determines whether this survives past week three.
Everything above works whether you join anything or not. Go run it by hand, or let Ambrose run it once you’re in.
Where the manual version breaks down at scale
The six steps above are complete, and they work for a solo agent or a small team running one or two lead sources. They get genuinely hard to sustain once you’re running multiple channels across multiple agents, because the bottleneck isn’t the math — it’s the tagging. Someone has to log every touch, every channel, every outcome, by hand, every single day, or the log has gaps by week two and the whole analysis is built on partial data.
There’s also a real privacy problem that gets worse with scale: the raw log has lead names, phone numbers, and email addresses sitting next to every touch. If anyone on your team is pasting chunks of that log into a general-purpose AI tool to help build the monthly rollup — which is a completely understandable shortcut when you’re staring down a few thousand rows — that’s lead PHI or PII going to a destination that almost certainly isn’t covered by a signed BAA.
How Ambrose’s campaign-metrics spoke automates this
Ambrose OS, the platform included with a Tech Savvy membership, has a spoke built for exactly this measurement problem. The campaign-metrics spoke provides analytics aggregation across email, SMS, and social channels, and exposes three tools: metrics_campaign_summary for topline performance on a given sequence, metrics_recipient_engagement for per-recipient opens, clicks, replies, and booked-call rates, and metrics_funnel_breakdown for performance across each stage of the funnel (Ambrose docs, campaign-metrics spoke, fetched August 2026). It tracks the exact metrics the manual method above is built to reconstruct by hand — opens, clicks, replies, and booked-call rates — automatically, per touch, as the sequence runs.
The privacy problem from the previous section is specifically what the spoke is built around: per-recipient identifiers are stripped before any of it reaches the model, and the aggregated metrics are what the AI actually sees — identifiers only return to a human when someone approves a specific action list (Ambrose docs, campaign-metrics spoke). That’s the difference between “pasting a spreadsheet full of phone numbers into a chat window” and “asking a question that only ever touches an aggregate.”
| Manual step | Ambrose equivalent |
|---|---|
| Log every touch with channel and sequence position | metrics_campaign_summary pulls topline performance for a campaign automatically |
| Tag opens, replies, and bookings per recipient | metrics_recipient_engagement reports opens, clicks, replies, and booked-call rates per recipient |
| Run a monthly rollup by channel and sequence position | metrics_funnel_breakdown analyzes performance across each stage of the funnel |
| Keep lead identifiers out of the analysis tool | Per-recipient identifiers are stripped before any LLM sees them; aggregated metrics only |
| Remember to re-run the rollup every month | A Routine — a scheduled prompt — can run the funnel breakdown on a schedule and post results to Slack (Ambrose docs, Routines) |
The sequence itself — the calls, texts, and emails campaign-metrics is measuring — typically runs through the same channel-bridge and reply-bot spokes covered in our guide to building an AI follow-up system. This spoke is the missing half of that story: building the sequence gets your touches out the door; campaign-metrics is what tells you which ones are worth keeping.
Ambrose’s campaign-metrics already does this — one seat comes with the membership, and that’s the fastest way to stop guessing which touch is carrying your numbers.
Attribution doesn't fix a sequence that isn't converting at all
Knowing which touch is working assumes something in the sequence is working. If your overall conversion rate is low across every channel, the fix isn't better attribution — it's a harder look at your offer, your speed to first contact, and your script. Our guide to speed-to-lead covers the first-contact-speed half of that problem specifically.
Compliance: measuring the sequence doesn’t change what governs it
Attribution is an internal analytics practice. It doesn’t loosen, and it doesn’t need to reference, any of the consent or documentation rules that already apply to your follow-up sequence — those stay exactly as strict either way.
TCPA consent still governs every automated call and text. Prior express written consent requires a signature — physical or electronic — tied to a clear disclosure of what the consumer is agreeing to receive and at what number, and a called party can revoke that consent by any reasonable method, honored within a reasonable time not to exceed ten business days (47 C.F.R. § 64.1200(a)(2)-(3) and (a)(10), via Cornell Law’s eCFR mirror). The stakes for getting this wrong are not abstract: statutory damages run $500 per violation, up to $1,500 for a willful or knowing one (47 U.S.C. § 227(b)(3)), and in June 2026, a Missouri circuit court case against an independent Farmers Insurance agency — over calls and texts made to numbers on the National Do-Not-Call Registry — settled for $2.875 million across roughly 8,039 class members (ClassAction.org, June 26, 2026). See our full TCPA rules breakdown for the complete consent and revocation framework — this article assumes you already have that in place and is only about what happens after.
Medicare marketing calls still have to be recorded, in full, regardless of what your attribution shows. CMS requires TPMOs to record all marketing, sales, and enrollment calls in their entirety (42 C.F.R. § 422.2274(g)(2)(ii), via govinfo.gov) — an obligation that exists independently of whether that call turns out to be the one your attribution data credits with the conversion.
“Chain of enrollment” is a related but separate idea from attribution. CMS defines it as “the steps taken by a beneficiary from becoming aware of an MA plan or plans to making an enrollment decision” (42 C.F.R. § 422.2260, via govinfo.gov). That’s a beneficiary-protection and audit requirement — CMS wants to be able to reconstruct how someone got enrolled if a complaint comes in. It’s not a performance metric, and building good attribution doesn’t satisfy it on its own; you still need the documentation trail CMS actually asks for, covered in CMS’s own Medicare Communications and Marketing Guidelines.
If you’re using AI to draft or run any part of the sequence, the NAIC’s AI Model Bulletin expectations apply: a written policy on how the tool is used, human review before anything goes to a client, and documentation you can produce if a regulator or carrier asks (NAIC, AI Model Bulletin & AI Principles).
Never paste a raw lead log into a general AI tool
A follow-up attribution log is a spreadsheet of names, phone numbers, and outcomes tied to real people who may be prospective Medicare or ACA clients. Don't paste it into a consumer chatbot to "help build the pivot table." Ambrose's PHI Rail aliases identifying information into placeholders before a prompt reaches any destination that isn't covered by a signed BAA, then restores the real values on the way back, with every scrub event logged ([Ambrose docs, PHI Rail architecture](https://app.hiambrose.com/docs/arch-phi-rail), fetched August 2026) — described as HIPAA-aware by default, not HIPAA certified.
What you get by joining
One Ambrose seat, including the campaign-metrics spoke, comes with a Tech Savvy Insurance membership: $97 a month, billed monthly, cancel anytime, founding rate locked in while the membership stays active. Alongside the seat: weekly Zoom calls with open Q&A and build-with-you sessions, 30+ hours of recorded training, Meta Ads and marketing training built for this industry, pre-built AI templates and bot deployments, and a free annual in-person member workshop — plus an explicit no-recruiting rule, so you can ask a real question about your follow-up numbers without ending up on someone’s downline pitch list.
Ambrose usage is separate from the $97 seat
The membership includes one Ambrose seat; usage inside Ambrose runs through its own credit ledger with spend caps, so cost stays visible instead of showing up as a surprise. See the full Spokes catalog for what else is available beyond campaign-metrics.
The close
Everything above — the four attribution models, the six-step manual log, the monthly rollup — works whether you ever join anything or not. That’s the point of writing it out completely. This is the kind of thing we work through on a Tuesday with Ambrose open on the screen: pulling up metrics_funnel_breakdown on a live sequence and actually deciding, with numbers instead of a hunch, whether that day-one text stays in the cadence. $97 a month, cancel anytime, and nobody will pitch you a downline: https://techsavvyinsurance.com/.
Before you change anything about your follow-up sequence
Tech Savvy Insurance is a training and software community, not an insurance company, agency, or law firm, and does not provide insurance, legal, tax, or compliance advice. You are responsible for your own licensure and for complying with all applicable CMS, HIPAA, TCPA, state, and carrier regulations, including consent, disclosure, and recording requirements for any automated call or text. AI-generated outputs may contain errors — always verify. Results may vary.
Frequently asked questions
Sources
- RAIN Group — Top Performance in Sales Prospecting (touchpoints to convert) — rainsalestraining.com
- RAIN Group — Sales Prospecting Research methodology — rainsalestraining.com
- HubSpot — 2025 State of Cold Calling Report — blog.hubspot.com
- HubSpot — 2025 State of Sales Report (channel effectiveness ranking) — blog.hubspot.com
- TextUs — SMS Benchmarks for Finance and Insurance — textus.com
- 47 CFR 64.1200 — TCPA prior express written consent and revocation (Cornell Law eCFR mirror) — law.cornell.edu
- 47 U.S.C. 227(b)(3) — TCPA statutory damages (govinfo.gov) — govinfo.gov
- ClassAction.org — $2.87M Farmers Insurance TCPA Settlement (June 26, 2026) — classaction.org
- 42 CFR 422.2260 — Chain of enrollment / TPMO definitions (govinfo.gov) — govinfo.gov
- 42 CFR 422.2274(g)(2)(ii) — Medicare marketing call recording requirement (govinfo.gov) — govinfo.gov
- CMS — Medicare Communications and Marketing Guidelines — cms.gov
- NAIC — Artificial Intelligence (Model Bulletin & AI principles) — content.naic.org
- Ambrose docs — campaign-metrics spoke — app.hiambrose.com
- Ambrose docs — Routines — app.hiambrose.com
- Ambrose docs — PHI Rail architecture — app.hiambrose.com
Ready to put this into practice?
Join a private community of Health & Life insurance professionals using AI, Meta Ads, and automation to grow — without draining their bank account.
Join Tech Savvy — $97/month