Turn messy client mailing lists into a billable monthly line item
Small agencies can turn address cleanup into a recurring billable service for direct mail clients, without hiring anyone or learning GIS tools.
Every direct mail client sends you their list the same way: a spreadsheet somebody exported from a CRM three years ago, half-updated since, full of typos, duplicate rows, apartment numbers in the wrong field, and a handful of addresses that were probably wrong the day they were entered. You know this list. You've opened it a hundred times, from a hundred different clients, and it always looks the same.
Right now, when that list arrives, one of three things happens. You send it to print as-is and eat the returned mail cost. You spend an afternoon eyeballing rows for anything obviously broken, which catches maybe half the problems. Or you quietly absorb the cost of a bounced campaign and hope the client doesn't ask why the response rate was low.
None of those are good options, and all three are avoidable — with something small enough that it can become a normal, billable part of how you run client campaigns every month, rather than a one-off scramble before a mailing deadline.
The real cost of a dirty client list
Say you run direct mail for eight to ten clients, each sending a list of a few thousand addresses a few times a year. A typical client list, uncleaned, has somewhere between 5% and 15% of rows that are wrong in a way that matters: a street that doesn't exist, a city-state mismatch, a suite number that got mangled during export, an address that's actually in a different county than the client thinks.
At even a modest print-and-postage cost per piece, that's real money walking out the door on mail that never lands. It's also a client-relationship cost — when a campaign underperforms and the reason turns out to be "some of the addresses were wrong," that's a conversation you don't want to have twice.
The current fix — a junior team member manually scanning a spreadsheet — doesn't scale. It's slow, it's inconsistent between people, and it catches typos, not geography. A row can look perfectly formatted and still refer to a place that doesn't exist, or a place in a completely different part of the country than the client thinks. Eyeballing a spreadsheet won't catch that. Checking every address against real geography will.
What "checking against real geography" actually means
This isn't complicated to understand even if you've never touched a mapping tool. You have a list of addresses. Each one should correspond to an actual, physical place. A geocoding service takes each address and tells you: does this place exist, where exactly is it, and how confident is the match.
That last part matters more than people expect. A good address check doesn't just say "yes" or "no" — it tells you how sure it is. An address that matches perfectly gets flagged as solid. An address that's close but slightly off — wrong zip, missing unit number — gets flagged as questionable, so a human can take one more look before it goes to print. An address that doesn't match anything real gets flagged as broken, so it never makes it into the mailer at all.
Once you can sort a client's list into "good," "needs a second look," and "not usable," the cleanup stops being guesswork and becomes a five-minute review of a small handful of rows, instead of a slow read-through of the whole file.
Turning this into a monthly service, not a one-off favour
The reason this fits so naturally as a recurring line item is that the problem itself is recurring. Client lists don't get dirty once — they get dirty continuously, as people move, businesses close, and new records get bolted onto an old CRM export. A list you cleaned in March is not the same list in July.
That means the cleanup work has natural, repeatable value every time a client is about to run a campaign. Instead of treating it as unpaid overhead you absorb before every mailing, you can package it as a standing part of the retainer: "we verify and clean your mailing list before every send." Clients who've been burned by a bad response rate before will understand exactly why that's worth paying for.
For an agency handling a handful of clients with a few thousand addresses each per campaign, a subscription built for this kind of recurring, moderate-volume work is the Pro plan at $99 a month, which covers up to 110,000 US addresses or around 62,857 international addresses a month. That's enough headroom to clean multiple client lists every single month without watching a meter, and it's a fixed cost you can build straight into a client's monthly retainer rather than re-quoting every time. If your volume is lighter — say two or three clients with smaller lists — the Plus plan at $29 a month (32,000 US rows) or Starter at $49 a month (50,000 US rows) may cover you instead; the point is picking the tier that matches what you actually send each month, not overpaying for headroom you won't use. Full details are on the pricing page at csv2geo.com/pricing.
Compared to paying per row with no subscription, a monthly plan saves up to 30% for agencies doing this work regularly — which, if you're running mail campaigns for multiple clients, you are.
How it works, month to month
There's no software to install and nothing that requires a developer. It works the same way every time, and once you've done it once, you can hand the process to anyone on your team.
Step 1: Export the client's list
Pull the mailing list out of whatever the client uses — a CRM, a spreadsheet they emailed you, an export from an old campaign tool. It just needs to be a standard spreadsheet file with addresses in it.
Step 2: Upload the file
Upload that spreadsheet to your CSV2GEO account. You don't need to reformat it, rename columns, or clean anything by hand first — that's the part being done for you.
Step 3: Let it run
The service checks every address in the file against real-world location data, matching each one to an actual place and noting how confident that match is.
Step 4: Download the finished spreadsheet
You get back the same spreadsheet, with the location details and match confidence added as new columns. Nothing is removed or reformatted — your original data is all still there, plus the verification.
Step 5: Sort and send
Filter the file by match confidence. The solid matches go straight to print. The questionable ones get a quick manual glance. The ones that didn't match anything get pulled out and either fixed or dropped, before they cost you postage on mail that was never going to arrive.
Step 6: Repeat next month
Because it's a subscription, the process is already set up the next time a client sends a fresh list. There's no re-onboarding, no new tool to learn — just upload, download, review.
That's the whole workflow. No technical skill is required at any step beyond using a spreadsheet, which you're already doing.
Pitching it to clients
The easiest way to introduce this as a line item isn't to lead with the tool — it's to lead with the outcome: fewer wasted mailers, better response rates, and a paper trail showing the list was verified before every send. Clients who've had a bad campaign before will understand the value of that immediately. For clients who haven't, framing it as quality control on their spend — "we don't mail addresses that don't exist" — tends to land well without needing to explain any of the mechanics behind it.
If you want a longer view of how agencies talk about this kind of cost internally, pitching geocoding spend to your CFO covers how to frame a small recurring tool cost as a client-facing quality guarantee rather than an internal expense to justify.
FAQ
Is this hard to set up if I'm not techy at all? No. If you can attach a file to an email, you can use this. There's no software to install and no code involved anywhere in the process.
What happens to addresses that are messy or incomplete? They get flagged rather than silently dropped or silently accepted. You'll see which ones matched cleanly, which ones matched with lower confidence and are worth a second look, and which ones didn't match anything real. Nothing gets guessed at without you knowing.
Can I use this for more than one client at a time? Yes. There's no per-client setup — you're simply uploading a different spreadsheet each time. The Pro plan's 110,000 US row allowance is designed for exactly this: covering several client lists across a single month.
What if one month I don't need to clean any lists? It's a monthly subscription with no lock-in, so you only pay for the months you use it. If a quiet month means no lists to clean, you can pause or downgrade rather than paying for volume you don't need.
Is my clients' data safe? Your files are used only to perform the check you're asking for — matching addresses to locations — and nothing is sold on or shared. You're uploading a spreadsheet and getting the same spreadsheet back with extra columns added.
How is this different from just using a free address checker online? Free single-address tools work fine for checking one address at a time, but they're not built for a spreadsheet of a few thousand rows every month. This is designed specifically for bulk lists, on a recurring schedule, which is what a mailing list workflow actually needs.
Can I cancel if a client relationship ends? Yes, any time, with no penalty. Since it's billed monthly, you can scale the plan up or down as your client roster changes.
Do I need to clean the file myself before uploading it? No — that's the point of the service. Upload it as it comes from the client's export, typos and all, and the verification step is what identifies the problems for you.
Related articles
- Monthly book of business exposure refresh
- The real cost of running your own geocoder
- Geocoding without engineers: an ops guide
- Run geocoding for every client under one team plan
- Pitching geocoding spend to your CFO
--- *I.A. / CSV2GEO Creator*
Use our batch geocoding tool to convert thousands of addresses to coordinates in minutes. Start with 100 free addresses.
Try Batch Geocoding Free →