Connecting a Dialer to Your Attribution Stack
How to connect a dialer to your attribution stack so setter dials and bookings tie back to the campaigns behind each lead, without inflating lead counts.
For businesses with setter teams, the dialer is where a huge share of the work between “lead” and “booked call” actually happens. Setters call new opt-ins within minutes, chase applicants who didn’t book, and rescue no-shows. Yet in most marketing stacks the dialer is an island. Ad data lives in Meta and Google, leads and bookings live in the CRM, revenue lives in Stripe, and the thousands of dials that turn leads into calls sit in a dialer nobody in marketing ever opens. Connecting a dialer to your attribution stack closes that gap, and it changes how you judge your campaigns.
The payoff is straightforward. Once dials are tied to the leads they were made to, and leads are tied to the ads that produced them, you can see which campaigns produce leads that are cheap to book and which produce leads that eat setter hours. That’s a real cost most cost-per-lead reports ignore. This post covers what dial data to capture, the three common ways to connect it, the matching and data-hygiene problems that trip teams up, and what to report once it’s flowing.
Why dial data belongs in attribution
Picture two Meta campaigns. Campaign A delivers leads at $40, campaign B at $65. On a cost-per-lead report, A wins easily.
Now add the dialer. Setters need an average of nine dials to reach an A lead and book about 15% of them. B leads pick up after three dials and book at 35%. Per 100 leads:
| Campaign A | Campaign B | |
|---|---|---|
| Lead cost | $4,000 | $6,500 |
| Dials made | 900 | 300 |
| Booked calls | 15 | 35 |
| Ad cost per booked call | $267 | $186 |
Campaign B is cheaper per booked call on ad spend alone, before you count the setter time burned on 600 extra dials. These numbers are illustrative, but the pattern is common: lead forms that are too easy to submit, or hooks that attract curiosity rather than intent, produce leads that look cheap and book expensively. You can only see it when dials and bookings are joined to the lead’s source. For the broader principle, see how to tie ad spend to closed-won revenue.
What dial data you actually need
You don’t need everything the dialer records. You need enough to answer three questions: who was called, what happened, and who called them.
- Phone number dialed, in a consistent format (more on this below).
- Timestamp of the dial.
- Rep or setter who made it.
- Direction: outbound or inbound.
- Outcome or disposition: no answer, voicemail, connected, booked, not interested, wrong number.
- Duration, which helps separate real conversations from quick hang-ups.
- Recording or transcript for answered calls, if you want to analyze what was said.
Texts are worth capturing too, if your setters text leads, because they’re part of the same journey.
Three ways to connect a dialer
1. A native integration
The best option when it exists. A native integration pulls dials from the dialer’s API, maps fields correctly, and keeps working when either side changes. Ask your attribution or CRM vendor which dialers they integrate with directly.
Callix has native integrations for several dialers used by setter teams, including Aloware, Allo, Dialer.io, Close, GoHighLevel, SendBlue, YourAtlas and Project Blue. If you’re still choosing a dialer, our comparison of Aloware, Allo and Dialer.io covers how they differ for setter floors.
2. A custom webhook
Most dialers can send a webhook when a call ends. You point it at your attribution tool or CRM and map the fields: phone, rep, outcome, duration, recording URL. This works well as long as someone owns the mapping and checks it after dialer updates. For a primer, see webhooks explained for marketers who aren’t engineers.
In Callix, a dialer without a built-in integration can send each dial to a custom webhook set to Analyze Dial. The dial counts in your dial metrics, shows under Deal Analysis → Dials, and its recording is transcribed and analyzed with your dial analysis settings. Dials nobody talked on are saved without analysis.
3. Through the CRM
Many dialers log calls to the CRM (GoHighLevel, HubSpot, Close), and your attribution tool reads calls from there. It’s the least effort if the CRM integration already exists. The downside is that you depend on two hops working, and some CRMs store call activity in ways that lose the outcome, duration or recording.
If you’re weighing these approaches more generally, see choosing between native integrations, Zapier and custom webhooks.
Matching dials to leads: the phone number problem
A dial is only useful for attribution if it’s matched to the right lead, and the match is almost always on phone number. That sounds simple until you see what phone numbers look like across a real stack. The form captured “(365) 292-1234”. The CRM stored “+1 365-292-1234”. The dialer sends “13652921234”. To a naive match, those are three different people.
Rules that prevent most matching failures:
- Normalize every number to full international format (E.164, like +13652921234) at every entry point: forms, CRM imports, webhooks and API calls.
- Require the country code on forms, or default it based on the market you sell into.
- Reject obviously invalid numbers instead of saving them. A seven-digit number will never match a dial.
- Match on every phone field. Contacts often have both a phone and a mobile field filled differently.
Decide what happens to unknown numbers
This is the decision teams most often get wrong. Setters don’t only call leads from your funnel. They call purchased lists, referrals, old databases, numbers a closer passed on, and sometimes wrong numbers. If every dial to an unknown number creates a new lead record, your lead counts inflate, cost per lead falls for no reason, and “unknown source” grows into one of your biggest channels.
You want two things at once: dials to unknown numbers still recorded (so setter activity and conversation analysis are complete), and no fake leads created in the process.
In Callix, the settings pages for dialers including Close, GHL, SendBlue, Aloware, YourAtlas and Project Blue have a Create prospects from dials switch. Turn it off and a call to a number that isn’t in Callix is still recorded and analyzed, without adding a new prospect. New connections start with it off. Leave it off if setters work lists outside your funnel; turn it on only if every number they dial genuinely is a lead you want counted.
Keep setter activity from corrupting attribution
Two more setter-specific problems are worth heading off.
Setters booking from their own browser. When a setter books a call for a lead using the booking page in their own browser, a tracking pixel can mistake the setter’s visit for the lead’s, and attach the setter’s landing page, campaign or old ad click to every lead they book. Make sure your tracking separates the person booking from the person booked. Callix handles this case: leads a setter books from their own browser are still added as prospects, but no longer inherit the setter’s landing page, campaign, ad click or location.
Setter calls vs. closer calls. A no-show on a 15-minute setter triage call is not the same as a no-show on a closer’s strategy call. Label calls by type, so show rates, close rates and analysis compare like with like.
What to report once dials are flowing
With dials joined to leads and leads joined to ads, a new set of metrics becomes available:
- Dials per booked call, by campaign and ad. The single most useful new number. It prices in lead quality from the setter’s side.
- Speed to first dial. Minutes from opt-in to first dial, by setter and by hour of day. Slow first dials on evening leads are a common, fixable leak.
- Connect rate by source. Low connect rates on one source can mean fake numbers, bot submissions or a form that doesn’t validate phones.
- Booking rate per connect, by setter. Separates setter skill from lead quality.
- Setter cost per booked call. Setter hours (or dials) multiplied by cost, allocated back to the campaigns that produced the leads.
For dials with recordings, conversation analysis adds a qualitative layer: why leads from one campaign say no to booking, what questions they ask, which setters’ openers work. Callix’s Deal Analysis has a Dials tab that lists every analyzed dial with its outcome, lead score, duration and date, filterable by outcome or rep, with voicemails hidden by default.
A rollout checklist
- Inventory your dialers. Many teams run more than one: a power dialer for setters, a CRM phone for closers, a texting tool.
- Choose a connection method for each: native first, webhook second, CRM third.
- Normalize phone numbers at every entry point before you connect anything.
- Decide the unknown-number policy and set it on every connection.
- Fix setter booking attribution so setters’ browsers don’t pollute lead sources.
- Run a one-week test. Pick 20 known leads, find their dials in the attribution tool, and confirm each matched the right contact with the right outcome.
- Add dials-per-booking to your campaign reports and review it alongside cost per lead.
The dialer holds the most granular record of what it takes to turn a lead into a conversation. Once it’s connected, cost per lead stops being the number that decides your budget, and cost per booked call, priced honestly, takes its place. For how dial and call data fit into end-to-end tracking, see our tracking overview.
