Skip to main content

Identity Engine

LiveRamp Enterprise Identity Engine is LiveRamp's first-party identity resolution tool, which uses your first-party data to develop and maintain customer identifiers that represent individual people. To continuously build your first-party graph, you can configure a customer data and identity resolution workflow, which is then run using automated Spark and BigQuery jobs on a specified schedule.

Each identity resolution workflow that you configure has the following stages:

  1. Data preparation: A data source is prepared, validated, transformed, or enriched to maximize identity resolution outcomes. In Identity Engine, this can include removing null or invalid values, normalizing, applying data hygiene, mapping to a common taxonomy, and enriching with deterministic signal and metadata from the LiveRamp Known Identity Graph (AKA "AbiliTec Graph"). For information, see "Configure a Data Preparation Process".

  2. Resolution: Records from source files are grouped into clusters representing a person, and then an Enterprise ID is associated with this cluster. In Identity Engine, the resolution process involves pairwise matching in which pairs of records are generated and compared using specified rules. These rules are reapplied each time the graph is run to evaluate whether pairs should remain tied to a persistent Enterprise ID or split or merge into a new ID cluster. The outcome of the resolution process will be a customer-specific first-party graph. For information, see "Configure a Resolution Process".

  3. Export: Elements of the first-party graph are extracted into a file for consumption by downstream clients of the identity graph. You can configure different exports in SQL that create different views of the output for systems that have distinct requirements or use cases. For information, see "Configure an Export Process".

Each workflow is grouped into processes that appear in the UI as boxes that can be visually tied together. You can configure each stage in the workflow and specify arguments to be run by the corresponding Spark jobs, which are run on your organization's dedicated BigQuery and Dataproc resources.

Frequently Asked Questions

Q. Is "Identity Engine" the same product as "Portrait Engine"?

A. Yes, Identity Engine is LiveRamp's new product name for Portrait Engine.

Q. Is "Enterprise ID" the same identifier as "Portrait ID"?

A. Yes, "Enterprise ID" is our new name for the identifier formerly known as "Portrait ID". The structure of the data still refers to "PortraitID", so you will have to reference this legacy name when writing SQL queries for Export processes.

Q. What is an Enterprise ID?

A. An enterprise identifier is a customer-specific identifier. The Enterprise ID is the view that LiveRamp clients apply to the data that they receive and organize through LiveRamp, around which that data is organized and maintained.

LiveRamp Enterprise Identity Engine generates and maintains Enterprise IDs, which represent a person, household, business, or some other entity that is relevant to your organization. Enterprise IDs are matched and deconflicted against RampIDs. Enterprise IDs enable you to organize and maintain your data within LiveRamp and provide a primary key when acquiring third-party attributes for your first-party data and matching impressions for measurement.

Q. What data should be sent to Identity Engine?

A. You should send any data that you would like to use for resolving records into an Enterprise ID. This typically means available PII such as Name, Address, Email, and Phone. It can also include other identifying information such as year of birth, name suffixes, gender, a middle initial, and so on.

Q. What do the match confidence levels mean?

A. Match confidence is a match metadata parameter that provides information about which data types yield the best results. The lower the match level, the higher the confidence. For example, if your input data includes Name + Address + ZIP, it has a match confidence of 1. If it only includes Email, it has a confidence level of 6.

For information, see "Match Metadata" and "Match Cascade"

Q. What match resolution logic is available?

A. Identity Engine resolution processes support the following match methods:

Logic

Description

First N Char

Match on the first N characters of the field. For example, "Robert" and "Rupert" match on the first 1 characters.

Fuzzy Score

Use fuzzy matching on a similarity score between strings and consider various transformations and substitutions.

For more information, see "approximate string matching".

Jaccard

Calculate the similarity of two strings based on the number of common characters divided by the total number of unique characters. The closer to 1, the more similar the two strings. For example, "Robert" and "Rupert" yield a Jaccard similarity of 0.5.

For more information, see "Jaccard index".

Jaro

Measure the similarity between two strings on a scale from 0 (no match) to 1 (identical), with an emphasis on matching prefixes and adjusting for common typos or variations. For example, "Robert" and "Rupert" yield a Jaro similarity of 0.778.

For more information, see "Jaro–Winkler distance".

Levenshtein

Calculate the minimum number of single-character edits (insertions, deletions, or substitutions) needed to change one word to another. For example, "Robert" and "Rupert" yield a Levenshtein distance of 2 (substitute u for o and p for b).

For more information, see "Levenshtein distance".

Soundex

Index names by sound, retain the first letter of the name and calculate a 3-digit numerical code for the remaining letters. For example, "Robert" and "Rupert" yield a Soundex code of R163.

For more information, see "Soundex".

Strict

Requires an exact match.

Q. What are some example rules?

A. You can specify a wide range of resolution processing rules such as the following examples:

Sample Rule

Description

cLink + matchConfidence ≤3

Consumer Link matches with a match confidence of 1, 2, or 3.

For more information, see "Using Consumer Links" and "Match Metadata".

Email + source=ecommerce + (Soundex of FirstName OR LastName OR StreetAddress OR Phone Match)

Email matches, the source is from the "ecommerce" database, and any of the additional matches.

Fuzzy First Name + Strict Last Name + Email

Use fuzzy matching of the First Name, an exact match of the last name, and a normalized email match.

Fuzzy First Name + Strict Last Name + Phone

Use fuzzy matching of the First Name, an exact match of the last name, and match one of the provided phone numbers (home, mobile, or work).

Strict Name + AddressLink

Require an exact match of the First Name and Last Name, and the AddressLink for the physical address.

For more information about AddressLink, see "AbiliTec Link Types".

Q. How does the besting logic work?

A. When specifying resolution rules, you can select the Determine best available attributes based on LiveRamp Graph option to have Identity Engine rank available PII or AbiliTec link information per Enterprise ID and find 1 best output for each touchpoint. For more information, see "Configure a Resolution Process" and "Determining Best Available Attributes".

Q. What normalization does Identity Engine apply during data preparation?

A. Identity Engine performs the following operations to validate and normalize your data:

Category

Operation

Description

Address

Normalization

  • Change all lowercase letters to uppercase.

  • Remove diacritic characters.

  • Replace nulls.

  • Trim leading and trailing spaces.

Email

Extract isotopes

For email addresses with a Google email domain, extract a list of Google isotopes:

  • Remove characters after a + character and before the @ character. For example, john+doe@gmail.com → john@gmail.com

  • Remove periods in the email prefix. For example, john.doe@gmail.com → johndoe@gmail.com

Gmail accounts can use @gmail and @googlemail, so Identity Engine will check both email domains when provided with one. For example, if john.doe@gmail.com is provided, john.doe@googlemail.com is also checked.

Normalization

  • Change all uppercase letters to lowercase.

  • Remove diacritic characters.

  • Replace nulls.

  • Trim leading and trailing spaces.

Suspected

Check for email addresses containing certain keywords, such as "no-reply" or "info".

Valid email

Validate email using the Apache EmailValidator library. For more information, see "EmailValidator".

People

Extract gender

Extract gender from names if not supplied.

Extract nicknames

Extract nicknames from the first name.

Extract suffix

Extract suffixes from names if not supplied.

Extract YOB

Extract year of birth from date of birth.

Normalization

  • Change all lowercase letters to uppercase.

  • Remove diacritic characters.

  • Replace nulls.

  • Trim leading and trailing spaces.

Valid DOB

Invalidate DOB if greater than 100 years old.

Phone

Extract internal number

Extract phone number in internal number format.

Extract international number

Extract phone number in international number format.

Extract phone type

Extract type of phone (mobile, landline, other).

Normalization

  • Regex to remove non-numeric characters and "+". Phone numbers should be normalized to a 10-digit string of numbers only, so dashes or a leading plus character are removed. If the number starts with a 0 or a 1, it can exceed 10 digits.

  • Trim leading and trailing spaces.

Valid phone

Validate phone number using Google's libphonenumber library. For more information, see "libphonenumber".

Q. How do I get technical support?

A. Create a "LiveRamp Data Hub" case in the LiveRamp Community portal or contact your LiveRamp representative.