General information about contacts
Contacts includes people you interact with through emails, push notifications, and pop-ups. If your rate depends on the volume of contacts in your account, then on the main screen you can view summary information on the size of your base, as well as details on adding and removing contacts. The table groups the statistics by month, and within each month displays the days and the add or delete processes that were used on those days. Within a day, processes are grouped by the way changes were made.
If, within a day, user 1 made import 1 of 10 contacts and import 2 of 20 contacts, we will group these additions into one row with a total value of “User 1 import of 30 contacts”. By the same logic, we will group all additions from the same popup or ip address. Contact updates are not considered additions, and do not affect billing.
The cost of the account depends on the maximum number of contacts per calendar month. The table will highlight the row with the highest excess for the month, according to which the payment will be calculated.
Updating existing contacts via import or API is not equal to adding contacts and will not be displayed and counted in the statistics table.
Restoring contacts is equal to adding contacts, but, for example, successive deletion and addition of the same contact does not increase the total volume of the database, as it is counted as +1, -1, +1, -1, etc.
You can understand the logic most clearly by example:
Initially we have an empty account
1.01 Import of 1000 contacts
Maximum volume: 1000 Actual volume: 1000
3.01 Import of 2000 contacts, of which 500 are existing contacts
Maximum volume: 2500 Actual volume: 2500
4.01 Deletion of 800 contacts
Maximum volume: 2500 Actual volume: 1700
10.01 Added 4000 contacts from pop-up window
Maximal volume: 5700 Actual volume: 5700
25.01 Restore 800 contacts deleted 4.01
Maximum volume: 6500 Actual volume: 6500
31.01 Deleting contacts in the amount of 6400
Maximum volume: 6500 Actual volume: 100
For January, 6500 contacts will be charged even though there are only 100 contacts in the account as of 31.01.
The maximum volume on 01 February is equal to the actual volume - 100 contacts, the process is repeated.
Ways to add contacts to the platform:
- Import - manual or automatic import of contacts in the service
- API - methods for adding a single contact or several contacts
- Pop-up - contacts received from the collecting pop-up on the site
- Subscription to Web-Push notifications - permission to send push notifications on the site
- Subscribe to Mobile-Push notifications - permission to send push notifications in the application
- Tracking - adding contacts from web forms on the site, adding when ordering and other tracking methods that are set on the site
- Test sending - in case a contact has not been added to the account before
- Transaction - sending a message via API without previously adding a contact to the service
- Receiving an incoming message via WhatsApp channel
We consider a contact to be a user for whom we know at least one identifier:
- Email
- Phone
- Web Push-Token
- Mobile Push-Token
Since it is with the presence of one of these channels that we can send messages to a person.
Ways to delete contacts:
- Manually - from the contact card
- Import - by uploading a .csv file
It is unacceptable to delete and import contacts at the same time. This may result in incorrect display of the total volume of the database, which will affect billing. The system will not allow you to run both processes in parallel.
If you do not want to exceed your current limit, but are worried that you may accidentally upload too large a file or not control the addition via API, then in the settings activate the restriction on importing contacts.
The list of contacts is available in the enKod menu tab.
To add a contact to the platform by import or via API, it is necessary to specify at least one of the identifiers - email or phone number. In this case, the format of the email address record should correspond to the structure, and the format of the phone number record should correspond to the structure. this structure, and the format of the phone number record - to the standard.
On the Contacts page you can find users through a quick search by email or phone number.
The list of contacts is sorted by default by update date.
The “Channels” column displays for each contact the fact that it has one or another identifier and the fact that it subscribes to a mailing group for this channel. There are three options for displaying the channel:
- Empty - the contact has never been subscribed to any mailing group for this channel;
- Inactive channel - the contact has been subscribed to a mailing group for this channel, but is currently unsubscribed from all groups of this channel;
- Active channel - the contact is subscribed to at least one mailing group on this channel.
If you click on a contact, the contact card will open. Here you can see all the data known about the user: name, phone number, registration date, traffic source, interaction channels, activity and others. In addition, if activity tracking is enabled, the contact card will display the events that the user has performed on the site: page views, interaction with products, orders, and more. Read more about tracking in this section of the knowledge base.
In addition, if user activity tracking is enabled, the contact card will display the events that the user has performed on the site: page views, interaction with products, orders, and more. Read more about tracking in this section of the knowledge base.
In the contact card you can also view all mailing groups attached to the contact, unattach unwanted ones or add new ones.
When you manually attach a mailing group with a DOI to a contact, a confirmation email will be sent to that contact.
Importing contacts
You can import contacts into your account using manual or automatic import.
Manual import
Use files for manual import:
- .csv format (or .zip with a .csv file inside)
- up to 150 MB
- UTF-8 encoded
- comma or semicolon as separators
A file template for importing contacts can be downloaded from this link.
After uploading the file, you must match the columns in the file to the custom fields in your account. By default, the platform will define custom fields by column names, but if the names are not specified or the matching is not possible, it must be done manually.
If any of the custom fields are not created in advance, you can create them directly from the import settings window by clicking on the plus sign on the right.
In the next step of the import, you can assign one or more distribution groups to your contacts. This is an optional step. If you do not select any mailing groups, the import will still be successful.
If there are no available mailing groups in your account or no mailing groups are selected, subscribers are imported into Contacts immediately when you press the Import button. Sending messages to contacts without a mailing group is not possible.
At the same step you can specify whether you want to assign distribution groups to unsubscribes. Possible options when importing:
- Assign a mailing group to all contacts. If a contact has previously unsubscribed from one or all mailing groups, they will still be imported and assigned to the selected groups.
- Assign a distribution group to all contacts except those who unsubscribed from the selected distribution group. If a contact has previously unsubscribed from a selected mailing group, he/she will be imported into Contacts, but will not be assigned the selected mailing group.
- Assign a mailing group to everyone except those who have unsubscribed from all mailing groups. If a contact has unsubscribed from all mailing groups at once, the contact is imported into Contacts, but no mailing group is assigned to it.
Removing a contact causes it to unsubscribe from all mailing groups, but since unsubscribing in this case is only a technical necessity, these contacts will not be defined as unsubscribers from their groups when importing them (and, consequently, restoring them from the removed ones). At this step we will check unsubscribes from messages via a contact card, segment or scenario.
After clicking on the “Start reconciliation” button, you can find your file ready for import in the Imports section. If you hover over the import line, the “Start import” button will appear.
It is not recommended to do reconciliation and import at the same time. Reconciliation will show the result, while import will add new contacts, so the reconciliation result may be displayed incorrectly.
In the import settings window, you can choose what to do with new contacts and with contacts that are already in the platform. A successful import has the status “Import completed” in the list of imports.
You can see the import history in the list of imports by hovering the cursor over the required line and pressing the “Open history” button
When importing contacts in any way, we reject:
- incorrect in structure and syntax
- email addresses for which no MX record exists
Removing import
Autoimport and manual import can be removed. Depending on what buttons appear when you hover over the import line, you can remove either in the import line using the remove button, or in a modal window that appears by clicking on “Open history”
Automatic import (Autoimport)
If your database is not stored locally, you can set up automatic transfer of contacts to enKod from a specified URL. We will import contacts on a schedule, or you can run the import via API. You will only need to configure it once.
Create an automatic import in the Data ➔ Imports ➔ Create Import ➔ Automatic ➔ Auto Import Contacts.
There are four steps to set up an import:
In the first, specify:
- Import name (will be displayed in the list of auto-imports in the interface)
- URL - link (http/https) to the file with contacts, acceptable formats YML or archives (with YML file inside)
- Login and password - fill in if access to the file is restricted
The next step repeats the manual import of contacts - match columns in the file with custom fields in enKod, configure the import method for new and existing contacts.
At the “Select mailing groups” step, specify which groups to subscribe contacts to during import and by which rule to subscribe.
On the last step you should choose how to run automatic import - API (from your internal system or from a third-party service). by API (from your internal system or a third-party service) or on a schedule (for example, every hour or once a day at a specified time).
The created auto import will be stored in the list of auto imports. By clicking on “Open history” you can view the last 4 runs in detail (how many contacts were added, how many were updated, how many we considered invalid), check for errors (we will disable auto-import if we can't get the file by the link three times in a row). In the same window you can force auto-import, edit or delete.
You can create an unlimited number of imports that will work independently.
Adding contacts manually
You can add contacts one by one manually via Contacts ➔ Actions ➔ Add Contact. For each contact added in this way, the data is entered in a pop-up modal window:
By clicking on “Add” the contact appears in the platform.
Exporting contacts
You can export contacts from a list or from a segment. When exporting, you can select the contact fields that are required in the export.
Removing contacts
You can remove a contact by going to the card and pressing the corresponding button.
To mass remove, upload a .csv file with a list of contacts with a maximum size of 50MB in UTF-8 encoding. Available file structure: the first column must contain e-mail addresses or phone numbers. After uploading, the number of contacts available to remove that could be found in the platform will be displayed.
In addition to uploading a file, you can remove several contacts at once via a segment. Set the required conditions, recalculate the segment and remove the found contacts. By removing segments you can clean the database from, for example, contacts with only tokens without emails.
You can restore contacts from the list of removed contacts by pressing the corresponding button.
When a removed contact is re-imported or restored, all communication history, custom fields, order history, sessions and other information, except for subscriptions to mailing groups, will be displayed for that contact. All message statistics associated with this contact will be saved.
Contact merging
Import, tracking methods (script), API methods (not including sessions)
When adding a contact using import, tracking method, API methods, the following rules apply:
- create a contact if it does not exist
- update a contact if it exists
- restore a contact from deleted, with history and custom field values preserved, transferred custom fields are overwritten with those transferred in the request, non-transferred ones are not changed, but their values are restored.
- if a contact's e-mail and phone number are passed and both identifiers are not in the contacts base - create a new contact with e-mail and phone number.
- if a contact's e-mail and phone number are passed, and there is already a passed e-mail in the contacts base - create a new contact with e-mail and phone number:
- if mainChannel = email, the phone will be added to the existing contact with email
- if mainChannel = phone, a new contact will be created with phone only, the e-mail will be retained for the existing contact.
- if a contact's email and phone are passed, and there is already a passed phone in the contacts base, then:
- if mainChannel = phone, the email will be added to the existing contact with phone number
- if mainChannel = email, a new contact will be created with email only, the phone number will be retained for the existing contact.
- if email and phone of a contact are passed and the contacts base already has both identifiers, but for different contacts, then, depending on the value of mainChannel parameter, the passed main contact fields, custom fields, mailing groups and tags will be assigned to the contact whose identifier is equal to the value of mainChannel.
Pop-Ups
In the case of adding a contact from pop-up mainChannel defaults to email, so the following rules apply:
* create a contact if it does not exist
- update a contact if it exists
- restore a contact from the deleted, with history and custom field values preserved, name overwritten with what was transferred from the pop-up, non-transmitted fields are not changed, but their values are restored.
- if a contact's e-mail and phone number are passed and both identifiers are not in the contacts base - create a new contact with e-mail and phone number.
- if a contact's e-mail and phone number are passed, and there is already a passed e-mail in the contacts base - create a new contact with e-mail and phone number:
- if the sessions of the existing and new contact coincide, the phone will be added to the contact with e-mail
- if the sessions of the existing and new contact do not match, a new contact will be created with the phone only, the e-mail will be saved for the existing contact.
- if a contact's e-mail and phone number are transferred, and there is already a transferred phone number in the contacts base, then:
- if the sessions of the existing and new contact match, the e-mail will be added to the contact with the phone number
- if the sessions of the existing and new contact do not match, a new contact will be created with e-mail only, the phone number will remain with the existing contact.
- if e-mail, phone number and session are transferred, and the database already has both identifiers but different contacts, the phone number and session will be assigned to the existing contact with e-mail (if the existing contact already had a session and it is different from the new one, the contact will have two sessions).
- if the e-mail and phone number of a contact are passed, and both identifiers already exist in the contacts base, but for different contacts, the passed main fields of the contact and mailing groups will be assigned to the contact with the e-mail address
Working with session (outside pop-ups)
The following rules apply when working with sessions outside of pop-ups:
- create a contact if it does not exist
- update a contact if it exists
- restore a contact from the deleted, with history and custom field values preserved, name overwritten by what was transferred from the pop-up, non-transferred fields are not changed, but their values are restored.
- if a contact's e-mail and phone number are passed and both identifiers are not in the contacts base - create a new contact with e-mail and phone number.
- if a contact's e-mail and phone number are passed, and there is already a passed e-mail in the contacts base - create a new contact with e-mail and phone number:
- if the sessions of the existing and new contact coincide, the phone will be added to the contact with e-mail
- if the sessions of the existing and new contact do not match, a new contact will be created with the phone only, the e-mail will be saved for the existing contact.
- if a contact's e-mail and phone number are transferred, and there is already a transferred phone number in the contacts base, then:
- if the sessions of the existing and new contact match, the e-mail will be added to the contact with the phone number
- if the sessions of the existing and new contact do not match, a new contact will be created with e-mail only, the phone number will remain with the existing contact.