Identity Operations

Overview

The part of Simon that powers the business rules for an organization is called the Identity Service. Data in the form of Identity Events enters the Identity Service, is transformed according to your organization’s business rules, then is output into a unified view of your contacts.

Identity Events

Identity Events always contain two identifiers. When events enter the Identity Service, Simon looks for any existing contact profiles that already contain either or both of the identifiers on the event.

One of four things then happens:

Two Profiles Merge Into One

Let’s say an incoming event contains email and phone_number as identifiers, and there’s an existing profile in the customer table that contains the email from the event and a different profile contains the phone_number from the event. Simon will then merge those two separate profiles into one; the resulting profile now contains both email and phone_number.

Real-Life Example:

An existing user with historical browse activity on your website downloads your app and browses some more without signing in. The user then signs into their account, which triggers a merge of the website profile & the app profile.

An Existing Profile Is Updated

The same event enters the Identity Service, containing email and phone_number as identifiers. This time, an existing profile contains a matching phone_number, but a different email. In this case, the existing profile is updated with the new email.

Real-Life Example:

An existing contact logs into your app and their profile did not already contain a device_id. The device_id is now associated with that contact’s profile.

A New Profile Is Created

The same event enters the Identity Service, containing email and phone_number as identifiers. There is no existing profile that contains either of the identifiers, so a new profile is created with email and phone_number.

Real-Life Example:

A new user visits your website for the first time.

Nothing Happens

The same event enters the Identity Service, containing email and phone_number as identifiers. An existing profile already contains both of those identifiers. In this case, nothing happens because we already know those identifiers belong to that contact.