Contacts and imports
contacts · contact list · subscribers · customers · import CSV · import Excel · upload list · attributes · custom fields · tags · erase contact · right to erasure · data export · GDPR · RGPD
What it does and when to use it
Section titled “What it does and when to use it”Contacts is everyone Azimea knows: the people your emails go to. Each contact has an email address, their details, your own fields, tags, their orders and activity, and a consent status that decides what you may send them. Use this page when you bring an existing list into Azimea, when you want to know what Azimea keeps about a person, or when someone asks you to erase or hand over their data.
How it works
Section titled “How it works”Contacts arrive on their own from several places; you rarely add them by hand.
| Where they come from | What arrives | Consent it brings |
|---|---|---|
| Your shop’s customer list | Customers with an account, with their details | What the shop knows: subscribers stay subscribers |
| Your shop’s orders | Buyers, including guests without an account | A paid order makes them a paying customer |
| The shop plugin or app, as it happens | Someone typing their email at checkout, a newsletter sign-up, a new account | CheckoutStarted at checkout; Subscribed only with a ticked box |
| A file you import | Any list from a spreadsheet | What you choose for the whole file, with your confirmation |
| Your own systems, through the API | Contacts and their fields | What you send, with its proof |
A contact is one email address per store. The same person arriving again from another source is updated, never
duplicated: a newer name replaces an older one, an empty value never erases a known one, and consent only ever moves
up (from CheckoutStarted to Subscribed, never back down by an import).
Your own fields hold what you know beyond name and email: a plan, a customer level, a date. Create them in Settings › Contact fields (text, number, yes/no, date, date and time, list) or while importing. Tags are free labels, added by hand on a contact or by a flow’s Tag step; both can be used in segments.
Importing a file
Section titled “Importing a file”- Contacts › Import contacts, then choose a CSV or Excel file. The first row holds the column names. Up to 1,000,000 rows or 100 MB; a CSV is much smaller than the same list in Excel.
- Map each column: Email (required, exactly one column), First name, Last name, Phone, City, Country code, Language, Tags, one of your fields, a new field, or “Don’t import”.
- Say whether you may send them marketing, for the whole file:
- Not yet — kept as contacts, no campaigns until they subscribe or buy.
- They are our customers — they bought from you or use your service; you confirm it.
- They subscribed — they agreed explicitly, and you confirm you can show how and when each one did.
- Import. Large files run in the background: you can leave the page, and contacts appear in the list as they are saved. You can stop an import; the rows saved before it stopped are kept.
- Read the result: new contacts, updated, skipped, and the rows that were not imported, with the line and the problem, so you can fix them in the spreadsheet and import them again.
Only an owner or an admin can import.
What each status means and what to do
Section titled “What each status means and what to do”| Status or reason | What it means | What you do |
|---|---|---|
Unknown | Azimea has no basis to send this person marketing: imported or added without a consent. | Only service emails reach them. To send more, collect consent (a form, a checkbox) and import it with its proof. |
SoftOptIn | An existing customer, in a shop whose checkout tells buyers it may write to them about similar products. | Campaigns and flows reach them once your consent method is declared as notice at checkout. Every email carries an unsubscribe link. |
Subscribed | They ticked a box or signed up to hear from you; the proof is kept in their consent history. | Everything reaches them, once you have declared how you collect consent (Settings › Consent). |
CheckoutStarted | They typed their address while placing an order and did nothing more: no purchase yet, no tick. | Only the reminder about that cart, and service emails. They become a subscriber if they tick the newsletter box. |
PendingConfirmation | They asked to subscribe and have not clicked the confirmation link yet (double opt-in). | Nothing to do: the confirmation email is on its way. Cart reminders still reach them; marketing waits for the click. |
Unsubscribed | They said they do not want your marketing emails. | Nothing: only service emails about their own orders or account still reach them. |
Bounced | Their address permanently refused emails: it no longer exists or no longer accepts them. | Nothing: Azimea stops writing to it. A new, working address can be added as a new contact. |
Complained | They marked one of your emails as spam. | Nothing: they never receive anything again, because each complaint hurts the reputation of every email you send. |
Events involved
Section titled “Events involved”| Event | When it happens | What it does to contacts |
|---|---|---|
contact.identified |
Someone types their email at checkout | Adds them as CheckoutStarted |
subscriber.created |
A newsletter sign-up in your shop | Adds or raises them to Subscribed when they ticked a box |
customer.upserted |
An account is created or changed in your shop | Adds or updates the contact |
order.placed, order.updated |
Orders | Keep their orders and spending current; a paid order makes them a paying customer |
subscriber.removed |
They leave the shop’s own newsletter | Moves them to Unsubscribed |
contact.erasure_requested |
The shop forwards an erasure request | Erases them, as below |
All of them are in the events catalog.
Set it up in the dashboard
Section titled “Set it up in the dashboard”- See a contact: Contacts, then a row. The page shows their details, tags, orders, timeline and Consent basis: the current status, where it came from and since when, with the full consent history.
- Find people: the list filters by consent, tag and any field; a filter you want to keep becomes a segment.
- Export: Export CSV on the list exports the contacts that pass your filters (or the ticked ones); Export data on a contact gives everything Azimea keeps about that person, for a data access request.
- Erase on request (right to erasure, GDPR art. 17): on the contact, Erase data. The name, address and phone disappear, here and from their orders; the orders stay as figures without a person. It cannot be undone, and the next import will not bring them back. Their consent history is reduced to a single row with nothing personal in it.
Do it from your code
Section titled “Do it from your code”POST /contacts and POST /contacts/batch add and update contacts with your fields and their consent and proof;
GET /contacts reads them. See what you can build today.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Likely cause | Fix |
|---|---|---|
| A row was not imported | The line shows the problem: usually an invalid email address. | Fix the line in the spreadsheet and import again; the other rows are already in. |
| An imported contact receives no campaigns | The file was imported as Not yet, or the contact is CheckoutStarted. |
Import again with the right choice only if you hold their consent. |
| An import did not lower someone to Not yet | Imports only raise consent, never lower it. | Expected: a person’s “no” or a stronger basis is never overwritten by a file. |
| An erased person came back | They signed up or ordered again afterwards. | That is a new, voluntary contact, not the erased data. |