The warm transfer billing question sounds simple: when does a lead become billable? But the answer has five different checkpoints, and getting any of them wrong means paying for calls that never actually connected — or disputing credits you're entitled to without realizing it.
What and Why
Warm-transfer billing defines the exact moment a phone call triggers payment in a warm-transfer routing scenario. It's not "when the phone rings." It's not "when the buyer picks up." It's when the buyer actively accepts the transfer and bridges with the caller.
Why does this distinction matter? Because warm transfers add a step between routing and connection — the whisper-and-accept flow. That step creates a gap where the buyer is on the line but not yet committed to the call. Whether that gap is billable or non-billable changes your effective CPL, and the effect grows with your reject rate.
It's easy to assume "buyer answered" means "billable." It doesn't. Not in a properly configured warm-transfer flow. The DTMF handshake — buyer presses 1 to accept — is the trigger. Everything before that is pre-bill.
This post is specifically about billing — when the money moves.
Core Concepts
Four things you need to understand before we trace the billable moment.
Whisper Time. The seconds between when the buyer answers and when they press accept. During whisper, the buyer hears lead context — for example, HVAC emergency from Phoenix, press 1 to accept. The caller hears hold music. In standard contracts, whisper time is non-billable. The clock hasn't started yet. Think of it as the handshake period — the buyer is deciding, not committed.
Accept Handshake. The DTMF input that confirms intent. Usually pressing 1. This is the billing trigger in warm-transfer flows. Before accept, the buyer can reject with no payout obligation. After accept, the clock starts. The accept isn't just routing logic — it's a financial commitment. Some operators treat it casually. It's not casual. It's the line where money starts moving.
Bridge Moment. The instant after accept when hold music cuts out and caller and buyer connect. Technically, this is when billable duration begins — not when the buyer says "hello," but when the platform bridges the audio channels. The difference is usually sub-second, but timestamps matter for threshold calculations.
Duration Threshold. Warm transfers don't change threshold mechanics. A 90-second threshold still means 90 seconds of billable time (post-bridge) before the call qualifies for payout. The warm-transfer layer just defines when that 90-second clock starts ticking.
The Warm-Transfer Billing Flow: Step by Step
Here's the exact sequence from dial to billable event.
Step 1: Call Arrives and Qualifies
Caller dials your tracking number. IVR runs. Caller presses through the menu — "press 1 for service." Geographic filter confirms they're in the buyer's area. The platform selects a buyer pool.
Nothing billable yet. This is pre-routing. The caller has demonstrated intent, but no buyer is involved.
Step 2: Caller Goes on Hold
The platform places the caller on hold with music or a "please hold" message. This is where warm transfer diverges from cold transfer. In cold transfer, the call would ring straight through to the buyer. In warm transfer, the caller is parked while the platform handles the buyer side.
Still nothing billable. The caller is waiting. The buyer hasn't even been contacted yet.
Step 3: Platform Dials Buyer and Plays Whisper
The platform dials buyer #1 in the priority chain. Buyer's phone rings. They answer.
Now they hear the whisper — something like Plumbing emergency from Austin. Press 1 to accept, 2 to reject.
The whisper typically runs 5-8 seconds. During this time:
- Buyer is on the line
- Caller is still on hold
- Billable clock is NOT running
This is the pre-accept window. The buyer is hearing context, not talking to the caller. Standard contracts don't bill whisper time. If yours does, flag it — that's margin bleeding.
Step 4: Buyer Decides
The buyer gets a short window to respond via DTMF — often only a few seconds, depending on the timeout setting.
If they press 1 (accept):
- Hold music cuts out
- Caller and buyer bridge
- Billable clock starts NOW
- The call is "live" and duration begins counting toward threshold
If they press 2 (reject):
- Call routes to buyer #2 in the fallback chain
- Buyer #1 hangs up
- No billable event for buyer #1
- The caller keeps hearing hold music — they don't know anything happened
If they timeout (no response):
- Most platforms treat timeout as reject
- Call routes to next buyer
- No billable event for the non-responding buyer
- Some platforms have "timeout = accept" settings (check yours)
Step 5: Bridge Completes
Assuming buyer accepts: hold audio cuts, both parties connect, conversation begins.
This is the bridge moment. From this second forward, billable duration accumulates. The platform logs the bridge timestamp. This becomes your reference point for threshold calculations. A 90-second threshold means 90 seconds from bridge, not from dial, not from IVR, not from whisper start.
Step 6: Duration Threshold Check
The call continues. Platform monitors elapsed time. When the call crosses the threshold — let's say 90 seconds from bridge — the status flips from "pending" to "qualified."
But qualified doesn't mean billed yet. The call is still live. The final billable calculation happens after hangup.
Step 7: Call Ends and Billable Classification
Caller or buyer hangs up. Total duration locks.
The platform calculates:
- Total call duration: dial to hangup (e.g., 4 minutes 30 seconds)
- Billable duration: bridge to hangup (e.g., 3 minutes 45 seconds — excludes IVR and whisper)
- Threshold cleared? Yes (3:45 > 90 seconds)
- Duplicate check passed? Yes (first call from this ANI in 30 days)
- Geographic match? Yes
All gates pass → billable event created. Buyer owes payout.
Step 8: Fallback Chain Billing
What if buyer #1 rejects and buyer #2 accepts?
Simple: buyer #2's accept triggers billing. Buyer #1 has no billable event — they rejected. The call routes, buyer #2 hears their whisper, presses accept, bridges, and the clock starts from that bridge.
Fallback routing doesn't accumulate billable time. Each buyer in the chain is independent. The billable clock resets at each new attempt. A 6-second whisper to buyer #1 (rejected) plus a 6-second whisper to buyer #2 (accepted) doesn't mean 12 seconds of non-billable time subtracted from something. It means buyer #2's bridge starts a fresh clock.
Where Money Gets Lost
Three common billing traps in warm-transfer campaigns.
Trap 1: Whisper time billed as talk time. Misconfigured platforms or legacy contracts sometimes start the clock when the buyer answers (to hear the whisper), not when they accept. With a high reject rate, those phantom billable seconds add up fast. Check your IO. Check your timestamps. If the billable start time on your reports matches the buyer-answer time instead of the accept time, or rejected calls show any billable seconds at all, your clock is starting too early.
Trap 2: Timeout-as-accept settings. Some platforms can be set to "if buyer doesn't respond, connect anyway." This means a buyer who ignores the whisper gets connected to the caller — and billed for the duration — even though they never accepted. Terrible UX. Worse economics. The buyer didn't want the call. They're going to dispute. And you've wasted a lead on a distracted agent. Set timeout to reject, not accept.
Trap 3: Threshold calculated from call-start, not bridge. Some networks measure the 90-second threshold from when the caller dialed, not from when the buyer bridged. That means IVR time and hold time count toward threshold. A call with only 25 seconds of conversation can clear a 90-second threshold because the caller spent 45 seconds in IVR and 20 seconds on hold. You're billing based on caller experience, not agent experience. It works in the publisher's favor, not the buyer's. Negotiate threshold from bridge, not from call-start.
For how pay-per-call campaigns run end to end in one vertical, see the home-services pay-per-call playbook.
Advanced Tips
Log buyer-answer vs. buyer-accept separately. Your platform should give you both timestamps for every warm transfer. Answer time is when they picked up to hear the whisper. Accept time is when they pressed 1. The gap is whisper duration. If the gap is consistently 0 seconds on your reports, something's misconfigured. This data matters for audits — especially for TCPA compliance where timestamp accuracy is non-negotiable.
Track reject-after-whisper rates by traffic source. Some publishers send leads that look good in IVR but die at the whisper. Buyers hear "Camp Lejeune intake from... Florida?" and reject because the geo doesn't match the bid. That's a sourcing problem. But you can't diagnose it without tracking whisper-level rejection rates. For attribution, JustAnalytics ties web sessions to call events.
Make whispers specific. Vague whispers ("Press 1 to accept this call") don't give buyers enough context. Specific whispers ("HVAC emergency from Austin, $45 payout, press 1") let buyers decide instantly. Faster decisions mean shorter hold time for callers and fewer timeouts.
Common Mistakes
Assuming rejection means no cost. The call didn't bill to buyer #1, but you still paid for the traffic that generated it. Publisher CPL, ad spend, phone charges — those costs accrued before the buyer ever heard the whisper. Warm-transfer rejection avoids buyer billing, not campaign cost. If 40% of warm transfers end with no buyer accepting, you're burning 40% of your traffic acquisition cost before a conversation starts.
That's a sourcing problem. Fix it upstream. A reject rate isn't fine just because "nothing billed." It billed somewhere.
Ignoring hold-time impact. Each whisper attempt adds 10-15 seconds of hold time. Three-buyer fallback chains mean 30-45 seconds on hold before connection. Callers bail. Cap your fallback chain at 2-3 attempts. After that, route to voicemail with callback promise.
Not disputing whisper-time billing. If your contract says billable duration starts at accept and your invoice shows billable seconds that include whisper time, dispute it. Pull the call. Check timestamps.
Conflating platform billing with buyer payout. VeloCalls bills per-minute — 4¢/min on Managed Carriers at Starter tier, 2¢/min on BYOC at Starter (drops to 2¢ and 0.5¢ respectively at Enterprise). But buyer payouts are usually per-call or per-qualified-call. Platform fees and buyer payouts are separate economics — keep them in separate lines of your margin model.
If your campaigns include paid search upstream, ClickzProtect catches invalid clicks before they become wasted calls.
Frequently Asked Questions
Does whisper time count toward billable duration in a warm transfer?
No. Standard contracts exclude whisper time from billable duration. The clock starts when the buyer presses accept and the caller bridges — not when the buyer answers and hears the whisper prompt. A 6-second whisper followed by a 95-second conversation is 95 seconds of billable time. If your contract includes whisper time in billable duration, negotiate that out — it's padding.
What happens if a buyer never presses accept and the call times out?
The call routes to the next buyer in the fallback chain. The caller stays on hold. No billable event triggers for the first buyer — they never accepted. The call only becomes billable when a buyer actively presses accept and bridges. Timeout isn't accept. Silence isn't accept. The DTMF handshake is the trigger.
Can a call be billable if the buyer accepts but the caller hangs up before threshold?
No. Billable duration is counted from the moment of bridge (after accept) until the call ends. If the caller hangs up 40 seconds after bridge and your threshold is 90 seconds, the call doesn't bill. The accept handshake starts the clock — but the duration still needs to clear the threshold gate.
Is the accept-to-bill model standard across all pay-per-call platforms?
It's the norm for warm-transfer routing, but not universal. Some older contracts or networks start the clock at buyer-answer (when they pick up to hear the whisper), not at buyer-accept. Read your IO. If you're paying for whisper time on calls that get rejected, that's margin you're giving away. Modern platforms use accept-to-bill as the default.
Try VeloCalls for Your Vertical
Pay-per-call platform built for HVAC, plumbing, roofing, PI lawyers, Medicare brokers, and insurance. Smart routing, real-time bidding, visual IVR builder, AI conversation intelligence (AI sales agents on the roadmap). Per-minute pricing — Managed starts at 4¢/min, BYOC at 2¢/min, both drop as you scale.