Most guides to call tracking explain how to track a call. This one assumes you already know that and answers the harder question: how do you run it across a whole client roster without it becoming a second job. After years of doing this for home-services, legal, and local clients, here is the system I use.
Start with sub-accounts, not numbers
The first decision sets up everything else. Each client should live in its own sub-account, fully separate from every other client. Separate numbers, separate recordings, separate logins. This matters for two reasons. A client should never see another client's data, and you should be able to hand a client read-only access to their own account without exposing your whole operation. Pick a platform that treats sub-accounts as a first-class idea and does not charge you per client to create one. That single choice keeps your cost flat as the roster grows.
The agency workflow
Clients → numbers → reportingBuild one template, then clone it
The biggest time sink in multi-client call tracking is doing setup from scratch every time. The fix is a template. Build your ideal client setup once, for a representative client, then clone it for each new one. Your template covers the standard number sources most clients share, a routing pattern with business hours and voicemail fallback, recording and transcription settings, and a report layout. Once the template exists, onboarding a new client is a ten-minute checklist instead of an afternoon.
The per-client setup checklist
What I run for every new client, in order. Ten minutes once you have a template.
- Create a sub-account for the client so their data and login stay separate from every other client.
- Provision tracking numbers for each source the client spends on: Google Ads, organic, Google Business Profile, social, print.
- Turn on dynamic number insertion on the client site so the right number shows per visitor source.
- Set call routing to the client's real line, with business hours and a voicemail fallback.
- Add call recording and transcription if the client's vertical and state allow it.
- Build the white-label report once, then schedule it to email the client monthly.
Map numbers to sources the client actually spends on
A common mistake is provisioning either too few numbers or too many. Too few and you cannot tell which source drove a call. Too many and you are paying for numbers no source feeds. The right approach is to give each client one tracking number per real marketing source: Google Ads, organic search, their Google Business Profile, social, and any offline source like print or a referral partner. Dynamic number insertion handles the website side, showing the right number to each visitor based on how they arrived. This is the part where a cheap per-number rate pays off, because covering every source becomes a rounding error instead of a budget line. The background on dynamic number insertion is worth a read if it is new to you.
Make the monthly report run itself
The report is what the client pays attention to, so it deserves real thought, but it should not cost you time every month. Build a report once per client that shows the numbers they care about: total calls, calls by source, call duration, and first-time versus repeat callers. Then schedule it to email automatically on a monthly cadence. White-label it so it carries your agency's brand, not the tool's. A client who gets a clean, branded report every month without asking is a client who renews. If your clients run Google Ads, the Google Ads call assets documentation explains how call data ties back into campaign reporting.
Handle recording and consent per client, per state
Call recording is useful for quality and for proving value, but consent rules vary by state and by vertical. Some states require all parties to consent to a recording. Healthcare and legal clients carry extra obligations. Do not apply one recording policy across your whole roster. Set it per client based on their location and vertical, and when in doubt, get the client's sign-off in writing on the recording approach. This is a place where doing it right protects both you and the client.
Give clients scoped access, not the keys
Some clients want to log in and look at their own calls, and that is healthy. Give them read-only access scoped to their own sub-account. They see their data and nothing else, and they cannot change settings that would break the tracking. A platform with unlimited users makes this free; one that charges per seat makes you choose between transparency and cost, which is a bad trade.
Review the roster quarterly
Set a recurring reminder to review the whole roster every quarter. Are there numbers nobody is feeding traffic to that you can release. Are there clients whose source mix changed and need a number added. Is the per-client cost still where you expect. A roster drifts if you never look at it, and ten minutes a quarter keeps it tight.
Pick a platform that scales with you
Everything above is easier on a platform built for agencies. You want unlimited sub-accounts so adding a client is a setup task, not a billing decision. You want a low per-number rate so covering every source is cheap. You want white-label so the report carries your name. For my roster, CallScaler hits all three, which is why it tops the ranking on this site. Whatever you choose, run it on one real client first and confirm the workflow holds before you migrate the rest.
Set up your first client on the top pick
Try CallScaler free$0/month Pay As You Go · No credit card required
Sources: Wikipedia: dynamic number insertion · Google Ads call assets documentation