Your cold email setup probably costs more than you think. Not because any single tool is expensive, but because the bills are spread across five or six vendors, renew on different dates, and some of the biggest costs never show up on an invoice at all.
This guide walks you through auditing your own stack in about an hour. By the end you will have a monthly total, a cost per usable lead, and a short list of things to cut or merge.
Step 1: List every layer of the stack
Open a spreadsheet and make one row per layer. Most cold email setups have these, even if one tool covers several:
| Layer | What it does | Where to find the cost |
|---|---|---|
| Domains | Separate sending domains to protect your main one | Registrar renewals |
| Inboxes | Mailboxes you send from | Workspace or email host billing |
| Lead data | Finding businesses and contacts | Scraper or database subscription |
| Verification | Checking emails before sending | Per-check or credit packs |
| Sending and sequences | Campaigns, follow-ups, scheduling | Sending tool subscription |
| Warm-up or deliverability extras | Optional add-ons | Add-on line items |
| Inbox and replies | Reading and answering responses | Often bundled, sometimes separate |
| CRM or export targets | Where leads go next | CRM subscription |
Go through your card statements for the last three months. Search for each vendor name. You will often find a forgotten trial that converted or a second seat nobody uses.
Step 2: Convert everything to a monthly number
Domains bill yearly, credit packs bill when you top up, and subscriptions bill monthly. To compare them, turn each into a monthly figure:
- Yearly costs: divide by 12.
- Credit packs: total what you spent on top-ups over the last three months and divide by 3.
- Per-seat tools: multiply by the number of seats you actually pay for, not the number you use.
Write the monthly figure in a column next to each row. Add them up. That is your visible stack cost.
Step 3: Add the costs that never get invoiced
This is where most of the real money goes.
Your time moving data around. If you scrape in one tool, verify in another and upload to a third, time each step once. Exporting, cleaning column headers, deduplicating and re-importing can eat an hour per list. Multiply your hours per month by what your time is worth.
Wasted credits. Count how many leads you paid for but never contacted: duplicates, wrong categories, businesses outside your area, contacts with no email. Those credits are pure loss.
Bounces and burned domains. Sending to bad addresses hurts your sender reputation. If you have ever had to retire a domain and buy a new one, that cost belongs here. Our guide on catch-all emails helps you decide which risky addresses are worth sending to.
Add a row for each and estimate honestly. A rough number beats leaving it out.
Step 4: Calculate cost per usable lead
Total monthly cost tells you what you spend. Cost per usable lead tells you whether it is worth it.
- Take your full monthly total (visible plus hidden costs).
- Count the leads you actually emailed last month after cleaning and verification.
- Divide the first number by the second.
If you track replies, go one step further and divide by positive replies too. The campaign metrics tracker guide shows a simple way to record these each month so you can see trends instead of guessing.
A high cost per usable lead usually points to one of two problems: you are paying for data you throw away, or your list cleaning happens too late. Running through a lead list cleaning checklist before you pay to verify or send can cut both.
Step 5: Find overlap and cut
Look down your spreadsheet for layers where two tools do the same job. Common overlaps:
- A lead database and a scraper, both used a little.
- Verification bundled in your data tool and a separate verifier.
- A sending tool's inbox and checking each Gmail account separately.
- A CRM you pay for but only use as a contact list.
For each overlap, keep the one you use most and cancel the other at its next renewal. Note the renewal date in your sheet so you do not miss it.
Then ask a bigger question: would one tool covering several layers cost less once you include the hidden time costs from Step 3? This is the case GetClient is built for. You find leads with the Google Maps scraper, verify them, and send campaigns from your own Gmail, Outlook or SMTP mailboxes with follow-ups, all in one place, so there is no export step between tools. Replies land in one Inbox. It runs on credits, with 100 free credits for new accounts and no card needed, so you can test it against your current numbers. See plans and credits for current options.
Whatever you choose, compare total cost per usable lead, not sticker price.
Step 6: Set a monthly check
A stack audit only helps if you repeat it. Put a 20-minute reminder on the first of each month to:
- Update the monthly cost column.
- Record leads emailed and replies.
- Recalculate cost per usable lead.
- Check upcoming renewals.
If you run outreach for clients, this matters even more. Your margins depend on knowing what each campaign costs you. The agency outbound playbook covers how to price outreach work with these numbers in mind.
A quick worked example (no real figures)
Say your sheet shows six vendors. After Steps 2 and 3 you find:
- Two tools both provide lead data, and you use one far more.
- You spend around three hours a month exporting and re-importing CSVs.
- About a fifth of the leads you buy are duplicates or out of area (your own count, not a benchmark).
Your actions: cancel the lesser data tool at renewal, clean lists before verifying, and test whether a combined tool removes the export hours. Next month, compare the new cost per usable lead with this one. That comparison, not any vendor's marketing, tells you whether the change worked.