Skip to content

Contacts

One person, one record, however many times they sign up.

Contacts are identified by email address and merged rather than duplicated. What you store about them beyond that is yours to define.

The ZevCampaign web app on a phone

Your own fields

Define the attributes you actually use: city, plan, signup source, last order date. They are filterable, and every one of them can be used as a merge tag, because the tag list is generated from the schema rather than written by hand.

Import without losing what you had

Map your CSV columns, choose how conflicts resolve, and see what will happen before it happens. The default keeps a value you already have when the incoming one is blank, so an export with a missing column does not quietly erase half your names.

  • Keep existing, overwrite, or decide per field
  • A report of what merged, what was added and what was skipped
  • Unsubscribed contacts are refused rather than revived

What changed, and when

Every change to a contact is recorded with its source. When somebody asks why an address is suppressed or where a name came from, the answer is on the record instead of in somebody’s memory.

Getting data out

Export

Your contacts and their attributes, as CSV, whenever you want. Including while your account is read-only.

API
GET /v1/contacts

Read and write contacts from your own systems, with cursor paging that stays correct while the list changes.

Webhooks

Hear about subscribes and unsubscribes as they happen, so your CRM does not drift.

Try ZevCampaign for 14 days

No card to start. Pick a plan before the trial ends and nothing pauses; your contacts, campaigns and reports carry straight on.

[object Object]