Contact Identifiers and Matching

Contact identifiers are used to recognize and track each user uniquely across various touchpoints. Matching these identifiers ensures that all user data is accurately consolidated into a single profile, allowing seamless communication, precise targeting, and effective campaign execution.

Proper identification of your users prevents the creation of duplicate profiles. You can be sure that your message will be received by the exact user it is intended for, even when they log in from different devices.

Let’s look at the contact identification and matching process in Reteno.

Duplicates are not merged at send time. Records with different contact IDs are separate contacts for the platform, so a campaign goes to both even when the address is the same, and there is no mechanism that merges them during a send.

The account does not keep a contact change history. The profile shows only the current values and the last update date; it does not show which request or field changed them.

Contact Identifiers in Reteno

Reteno allows the following contact identification:

Contact profile screen with the internal ID and External ID fields highlighted in red boxes
  1. External contact ID is a unique identifier assigned to a contact (or user) within your internal data management system (your User ID). You have complete control over it, and this is the most important contact identifier for Reteno. If you go a little bit more technical, it serves as a primary key in your contact database. So we guarantee that you will never have two users with the same External ID.
    External ID connects in the contact profile all available contact identifiers listed below.
Diagram showing Device ID, Contact ID, Channel IDs, and Cookies all connecting to External ID

See use cases in the link to better understand how to optimize contact identification.

  1. Device ID is the mobile app user's device identifier, which is automatically tracked by SDK. For iOS, it is identifierForVendor , and for Android, it is Android ID . We also allow you to set custom Device IDs; you may use this option when integrating with the Amplitude analytical platform.
    Device IDs are used to send In-App and App Inbox messages.

When bulk uploading contacts, there is no need to transfer Device IDs and push tokens — when users open your app, Reteno gets them through the SDK.

The Device ID is also the unique key of events sent from the mobile SDK, on iOS and on Android alike. The External ID identifies the contact, but it is not the key you search SDK events by: to find a contact's mobile events in Automation → Event history, look them up by Device ID.

  1. Дontact ID. It is a unique internal contact ID in Reteno, automatically provided to each contact when imported into the system or created via SDK/API.
  2. Channel IDs:
    • Email, Mobile phone number (you must send it to Reteno via API/SDK),
    • Mobile and Web push tokens (collected automatically if the corresponding functionality is enabled).
  3. Cookies. Those are small files containing blocks of data created and used by web servers to store stateful information on the user's device or to track their browsing activity.

Before receiving unique External IDs, users must be identified:

An identified user is someone who provides identifiable information, such as email or phone number. Identifying occurs through an event like signing up, logging in, or providing personal details. An identified user must have an External ID + email/phone number.

An anonymous user is a person who uses a mobile app or interacts with a website without providing identifiable personal information, such as a name, email address, or phone number. They are tracked using device IDs or web cookies.

In this documentation , you will find detailed information on how to set the user ID.

Contact Lifecycle

There are three ways of creating contacts:

When a user opens your app for the first time, SDK creates the anonymous contact with the Device ID. When the user logs in to the app, you must send the updateUserAttributes request with the External ID. This request creates a user profile or updates it if such an External ID already exists in Reteno.

Flowchart of user actions and system responses matching device ID, token, email, and external ID to create or update a contact profile
šŸ“˜

What can belong to only one contact

A Device ID and a mobile token may belong only to one contact. When user data is updated through the SDK by External ID and the system finds the Device ID and the mobile token belonging to another contact, they migrate to the updated one. A single contact can have several Device IDs and mobile tokens.

A media channel — an email address or a phone number — can belong to only one contact. If the channel already belongs to another contact, active or deleted, it isn't added during an update or when submitted through a subscription form or widget. This protects the base from duplicate profiles: to reuse such a channel, first remove it from the contact it currently belongs to.

The profile also keeps no history of address changes. Past addresses show up only in the campaign reports: open a report by contact ID and you see the addresses messages were actually sent to. If nothing was sent, there is no trace.


Did this page help you?