Understanding unified contacts
Unified contacts allows contacts to have multiple communication channel identifiers stored against it, as well as any data you need to store. A unified contact can be created with either an email address, mobile number or both.
How to reference a contact
When you create a contact in Dotdigital we pass back a unique, immutable contactId which you should retain in your system. This contactId is the most reliable way to refer to a contact, because it doesn’t change. This allows you to update any other identifiers associated with the contact.
Our contacts service offers a flexible method of referencing a contact. You can refer to a contact using anyone of the following identifiers but you must specify which one you are using in the API call to match on:
- Contact ID
- Mobile number ( In international format E.164 )
- Custom identifiers

Referencing a contact using an identifier type and value
Channel subscription behavior
Dotdigital is designed for CXDP functionality and therefore allows the updating of contact data independent of any channel's status, as no assumptions are made on how or why you are storing the contact's data.
This means that we do allow a contact's data fields to be updated even where they are suppressed, without the necessity of changing the contact's channel status(es) - we do not reject any updates because they are suppressed. Updating a suppressed contact will succeed and the contacts channel statuses will remain unchanged unless otherwise stated in the update.
How to update a channel subscription status
Our contact API's support updating a contact's subscription for one or more channels in the various update calls using the channelProperties field. We recommend using Import contact collection for bulk updates and Import a single contact for individual updates.
Using lists with contacts
Address books are now listsTo align with wider industry terminology, and to reflect the greater variety of data you can store, address books have been renamed to lists. The functionality for lists is identical to address books. Any of your existing address books are automatically available as lists, with the same names and unique numeric IDs.
Adding contacts to lists
You need to use the Contacts API to add contacts to lists; we recommend using Import a single contact for individual updates and Import contact collection for bulk operations. The lists field can be used to specify up to 100 list IDs to add a contact to.
Finding contacts in lists and segments
Since Dotdigital contacts can be identified using any associated identifier, such as email, mobile number, contact ID and so on, it is important to use the Contacts API for interacting with any contacts. You should use the Get contacts based on your criteria call with the ~listId filter to find contacts in a list, and the ~segmentId can be used for segments.
Finding modified contacts in a list or segment
We recommend using the Get contacts based on your criteria with the ~modified filter used in conjunction with either the ~listId filter or the ~segmentId to find contacts modified after a specific date-time in a list or segment.
Contact deletion
In order to afford customers the opportunity to restore contacts that they have been engaging with, we run a staged removal of contacts and their related data.
Deletion stage 1 - Soft delete and binned
Whenever a contact is deleted in app or through the API, the contact is put into the recycle bin and the contact status is updated to binned.
The handling of binned contacts differs depending on the contacts channel subscription status:
Contacts subscribed on at least one channel
Are stored in the recycle bin for up to 30 days at which point they move to deletion stage 2 to be hard deleted and anonymized.
Suppressed contacts, no subscriptions on any channel
Immediately move to deletion stage 2 to be hard deleted and anonymised.
Emptying the recycle binIf the recycle bin is emptied in app, or through the API using Empty recycle bin, then all binned contacts immediately proceed to deletion stage 2 for hard deletion and anonymization.
Deletion stage 2 - Hard delete and anonymization
At this stage a contact is hard deleted and any data we cannot delete is anonymized.
Data that is hard deleted includes:
- all data on the contact's record
- data fields
- channel data
- all contact-scoped Insight data
We retain any suppressed/unsubscribed channel identifiers to ensure that the unsubscribe is retained.
The contact's channel identifiers and engagement statistics are anonymized.
Hard deleted contacts cannot be recoveredOnce contacts have left the recycle bin and proceeded to be hard deleted and anonymized they cannot be recovered.
Contact restoration
If a contact is in the recycle bin (status binned) they can be restored in app manually or by importing a contact through the API with at least one identifier with the same value as the binned contact.
