ZapBounce and Campaign Monitor

You can verify a Campaign Monitor list with ZapBounce four ways: upload the list export as a CSV, call the ZapBounce API before you add a subscriber, catch our batch.completed webhook when a bulk run ends, or add a check to a Zap. Each address comes back valid, invalid, catch_all or unknown, and 1,000 checks cost $5.

Campaign Monitor is built around agencies. One login holds many client accounts, and each client keeps its own lists. That makes list quality a per-client job, and it makes verification a cost you can pass through on each client's invoice.

Start with the export and import route below. For new sign-ups between campaigns, the Zapier page covers the real-time check.

One client's stale list can put your agency login at risk

A new client often hands over a list with no history attached. Some rows are years old, some came from a trade show, and nobody knows which. Your first campaign for that client is where the dead ones bounce.

Campaign Monitor marks a hard-bounced subscriber as bounced and stops sending to it. That keeps the next send cleaner, but the bounce already counted against the account that sent it.

On an agency login, every client sends under the same roof. A single bad import from one client can draw a review that slows sending for all of them. Checking the file before the import is the cheap way to keep that from happening. Our Campaign Monitor bounce-rate guide shows where to read each client's numbers.

How the data moves

  1. Export each client's list on its own

    Inside the client, open Lists and subscribers, pick the list and export it. Keep one file per client so the results, and the cost, stay tied to that client.

  2. Verify the file or post it to the API

    Drop the CSV on the bulk page or send it to POST /v1/files. Your custom field columns come back untouched, with the verdict, the role and disposable flags, and a billed column added.

  3. Import the results into a Verdict custom field

    Add a Verdict custom field to the list, then import the results file. Campaign Monitor matches on email address within the list, so each subscriber updates in place.

  4. Check sign-ups before they reach the list

    Your form handler calls POST /v1/verify and adds the subscriber through the Campaign Monitor API only when the result is valid or catch_all. A Zap does the same job without code.

Setting it up

  1. Pick one client and export the list from Lists and subscribers as a CSV.
  2. Upload it on the bulk page or through the file upload endpoint.
  3. Create a Verdict custom field on the list before you re-import anything.
  4. Import the results file so each subscriber gets its verdict.
  5. Build a segment where Verdict is valid and send the next campaign to it.
  6. Send to catch_all subscribers as a separate, smaller segment and remove the ones that never open.
  7. Repeat per client, and add the verification cost to that client's invoice.

Campaign Monitor: common questions

How do I verify a Campaign Monitor list?

Export the list as a CSV, verify it with ZapBounce, and import the results into a Verdict custom field. Then send to a segment where Verdict is valid. A 10,000-subscriber list costs $25, and unknown results are free.

Can an agency verify each client's list separately?

Yes. Export and verify one file per client, and each results file carries its own billed column. That gives you an exact per-client cost to pass through on the invoice.

Does ZapBounce email my Campaign Monitor subscribers?

No. ZapBounce opens a connection to the receiving mail server, asks about the mailbox, and closes the connection before any message is sent. Your subscribers never see a thing.

Should I import catch_all subscribers?

Yes, as their own segment. A catch-all domain accepts every address, so the mailbox can't be confirmed by any verifier. Send to that segment on its own and prune the addresses that never open.

Check a Campaign Monitor export today

100 free checks a month, no card. Unknown results and duplicates are never billed.