Skip to main content

Perform Identity Resolution Through ADX

LiveRamp’s Identity Resolution in the Amazon Data Exchange (ADX) allows you to resolve personally-identifiable information (PII) or device identifiers to RampIDs, LiveRamp’s persistent pseudonymous identifier for persons and households. Identity resolution allows you to have a more holistic view of your data at an individual or household level.

Note

You can also input an individual-based RampID and get back any household-based RampID that might be associated with that individual.

You can access LiveRamp Identity Resolution within the AWS Marketplace, meaning identity resolution can be performed within AWS. For more information on LiveRamp Identity in ADX, see “LiveRamp Identity in the ADX Marketplace”.

This service leverages LiveRamp’s Identity Graph, connecting fragmented consumer touchpoints to a person or household-based view.

The following identifiers can be resolved:

  • Names

  • Postal addresses

  • Email addresses

  • Phone numbers

  • Cookies

  • MAIDs (mobile device IDs)

  • CTV IDs (Connected TV Device IDs)

  • CIDs (custom identifiers)

  • Person-based, maintained RampIDs (for resolution to household RampIDs)

Based on the type of identifier you’re resolving, you might receive one RampID per identifier or multiple RampIDs per identifier:

  • For PII touchpoints (in PII or email resolution), you can choose to receive from 1 to10 RampIDs (if available).

  • Typically for cookie and mobile device ID resolution, one RampID is returned, given that the devices are not normally shared.

  • For CTV identifiers it is common to receive multiple individual RampIDs per identifier.

  • For CIDs, the number of RampIDs will vary.

  • When resolving individual RampIDs to household RampIDs, only one household RampID is returned.

Overall Steps

Before you can perform identity resolution, you must perform the steps to enable LiveRamp Identity in the ADX Marketplace. For information on performing these steps, see “LiveRamp Identity in the ADX Marketplace”.

After you’ve performed the steps to enable LiveRamp Identity in ADX, perform the following steps to perform identity resolution:

Note

To avoid errors, you might want to verify that your native app setup has been performed correctly before performing the operation. For more information, see the "Checklist to Verify Your Setup for LiveRamp Identity in ADX" section below.

  1. Format the appropriate input data file and load it into your AWS S3 input location.

  2. Initiate identity resolution by calling the LiveRamp Workflows API endpoint.

  3. Initiate output file delivery by calling the LiveRamp Polling API endpoint.

After you initiate file delivery, LiveRamp delivers the resolved output file(s) to the specified S3 output location and associated usage metrics are reported to AWS for billing.

See the sections below for more information on performing these steps.

Checklist to Verify Your Setup for LiveRamp Identity in ADX

To avoid errors, use the checklists in the sections below to verify that all the necessary native app setup steps have been successfully performed before executing an operation.

AWS Region Alignment

  • Region in Contract: Confirm that the AWS region you provided to LiveRamp during contract execution is consistent with your actual AWS services.

  • AWS CLI Region Check: Run aws configure get region to verify the AWS region for the IAM user or profile you're using.

IAM User and Permissioning

  • IAM User for ADX: Confirm that there is an IAM user configured specifically for ADX operations.

  • ADX Permissioning: Confirm that the IAM user has the required permissions for starting and polling jobs in ADX.

  • S3 Bucket Permissioning: Confirm that the IAM user has been granted read and write permissions for both the input and output S3 buckets.

S3 Bucket Setup

  • Input Bucket Configuration: Confirm that there is an S3 bucket exclusively dedicated for input files for LiveRamp processing.

  • Output Bucket Configuration: Confirm that there is a separate S3 bucket dedicated for output files from LiveRamp processing.

  • Bucket Policy Verification: Confirm that the bucket policies for the input and output buckets are aligned with LiveRamp's required permissions.

  • Bucket Accessibility Test: Execute aws s3 ls s3://<input-bucket-name> and aws s3 ls s3://<output-bucket-name> to verify IAM user access to the buckets.

Format the Input Data File

See the sections below for information on formatting the input data file.

Input File Formatting Guidelines

Identity resolution input data files should be formatted as CSV files. When creating input data files, follow these additional guidelines:

  • Include a header row in the first line of every file. Files cannot be processed without headers.

  • Include only one of the following allowed identifier types per file:

    • PII

      • Names

      • Postal addresses

      • Plaintext email addresses

      • Phone numbers

    • SHA-256 hashed email addresses

    • Cookies

    • Mobile device IDs (MAIDs)

    • CTV IDs

    • CIDs (custom identifiers)

    • Individual maintained RampIDs

      Note

      If the input file contains individual RampIDs, the RampIDs will be resolved to household RampIDs.

  • You can name your columns however you want, but every column name must be unique in a table.

  • Column names must be alphanumeric (other than underscores) and start with a letter.

  • Do not use spaces in column names. Use underscores.

  • The first column(s) in the input file must be the column(s) that contain the identifiers to be resolved.

  • When performing identity resolution on multiple files in one job, make sure the identifier column headers are the same in every file and that they match the value given for the “target_column” parameter in the call to initiate identity resolution.

  • Only one identity resolution operation is permitted per file, so only include one identifier type per file.

  • Try not to include additional columns. Having extra columns slows down processing.

    Note

    For device or CID resolution, additional columns (such as attribute data columns) can be included in the input file, but only the input identifiers and RampIDs will be returned in the output file. For PII or email resolution, any additional columns will be returned in the output file, but the identifiers will be removed and the row order randomized.

  • Formatting device identifiers:

    • Cookies: Do not modify (for example, by changing casing) cookie values.

    • Mobile device IDs:

      • Mobile device IDs should be downcased and hyphenated. For example: 1f4d256c-1f08-41f6-a108-bbe511de9497

      • Plaintext AAID and IDFA can be included together. LiveRamp can match off of both IDs at the same time as long as they are in plaintext.

File Format for PII Resolution

The PII resolution process passes the data through a privacy filter which removes the PII and reswizzles the table. Because of this, any attributes you need to keep associated with the identifier need to be included in the input table. For more information, see the "Privacy Filter" section below.

These column names cannot be used in the input file for PII resolution:

  • RampID

  • __lr_rank

  • __lr_filter_ name

See the table below for a list of the suggested input file columns and descriptions for PII resolution.

Suggested Column Name

Example

Notes

first_name

John

You can include separate First Name and Last Name columns or you can combine first name and last name in one column (such as “Name”).

last_name

Doe

You can include separate First Name and Last Name columns or you can combine first name and last name in one column (such as “Name”).

address_1

123 Main St

address_2

Apt 1

You can include separate Address 1 and Address 2 columns or you can combine all street address information in one column (such as “Address”).

city

Smalltown

When matching on address, City is optional.

state

CA

  • When matching on address, State is optional.

  • If including State, must be a two-character, capitalized abbreviation ("CA", not "California" or "Ca").

zip

12345

  • Required when matching on addresses.

  • Can be in 5-digit format or 9-digit format (ZIP+4).

email

john@email.com

  • Plaintext emails only.

  • Only one email per input row is permitted. Other emails must be dropped or included in an additional row. If you include an additional row, repeat the values for the name fields for the best match rates.

  • All emails must meet these requirements:

    • Have characters before and after the “@” sign

    • Contain a period character (“.”)

    • Have characters after the period character

  •  

phone

555-123-4567

  • Plain text phone numbers only.

  • Only one phone number per input row is permitted. Other phone numbers must be dropped or included in an additional row. If you include an additional row, repeat the values for the name fields for the best match rates.

  • All phone numbers must meet these requirements:

    • Can be more than 10 characters if leading numbers over 10 characters are “0” or “1”

    • If no leading numbers are used, must be 10 characters long

    • Can contain hyphens (“-”), parentheses (“(“ or “)”), plus signs (“+”), and periods (“.”)

  • Examples of valid phone numbers include:

    • 8668533267

    • 866.853.3267

    • (866) 853-3267

    • 8668533267

    • +1 (866) 853-3267

    • +18668533267

    • 18668533267

    • 1111111118668533267

    • 08668533267

  • Examples of invalid phone numbers include:

    • 987654321 (fewer than 10 characters)

    • 98765432109 (more than 10 characters)

    • 1234567890 (after removing the leading “1”, less than 10 characters remain)

    • 0987654321 (after removing the leading “0”, less than 10 characters remain)

attribute_1

Gender

For PII resolution, you can include columns with attribute data. These columns will be returned in the output file (for more information, see the "Output File for PII Resolution" section below).

File Format for Email-Only Resolution

The email-only resolution process operates similarly to PII resolution. Any attributes you need to keep associated with the identifier need to be included in the input table. For more information, see the "Privacy Filter" section below.

Note

  • When resolving email data only, using email-only resolution can provide higher throughput compared to full PII resolution. Talk with your LiveRamp team to determine the best approach for your use case.

  • To perform identity resolution across additional PII touchpoints, see the “File Format for PII Resolution” section above.

See the table below for a list of the suggested input table columns and descriptions for email-only resolution.

Suggested Column Name

Example

Description

hashed_email

8c9775a5999b5f0088008c0b26d7fe8549d5c80b0047784996a26946abac0cef

  • SHA-256 hashed emails only.

  • Email addresses should be uppercased and UTF-8 encoded prior to hashing.

  • After hashing, convert the resulting hash into lowercase hexadecimal representation.

attribute_1

Male

For email address resolution, you can include columns with attribute data. These columns will be returned in the output table (for more information, see the "Privacy Filter" section below).

File Format for Device ID Resolution

The device ID resolution operation can be used for the following purposes:

  • To translate device identifiers (cookies, MAIDs, and CTV IDs) into individual RampIDs

  • To translate individual RampIDs into their associated household RampIDs

See the tables below for a list of the suggested input file columns and descriptions for these device ID resolution options.

Note

  • Each device ID resolution input file should contain only one identifier column (either a device identifier or a maintained RampID).

  • You can include columns with attribute data, but these columns will not be returned in the output file.

See the table below for a list of the suggested input file columns and descriptions for translating device identifiers.

Suggested Column Name

Example

Description

device_identifier

1f4d256c-1f08-41f6-a108-bbe511de9497

Can be one of the following identifiers:

  • Cookie

  • MAID

  • CTV ID

See the table below for a list of the suggested input table columns and descriptions for translating individual RampIDs into their associated household RampIDs.

Suggested Column Name

Example

Description

RampID

XYT999wXyWPB1SgpMUKlpzA013UaLEz2lg0wFAr1PWK7FMhsd

  • The RampID for translation to a Household RampID.

  • Must be a maintained RampID (to have an associated with a Household RampID).

File Format for CID Resolution

See the table below for a list of the suggested input file columns and descriptions for CID resolution.

Note

You can include columns with attribute data, but these columns will not be returned in the output file.

Suggested Column Name

Example

Description

cid

b916clarib la1;blNj10gtQjQ3QUEwMTNEMTcaktboEc0g9022cxoiaklr20185

The CID for translation to a RampID

Initiate Identity Resolution

Once your data files have been prepared and placed into your S3 bucket, initiate the identity resolution process. This is done by making a call to the LiveRamp Workflows ADX API that follows the format of the example curl commands shown below. Alternatively, the AWS CLI can also be used (see the examples below).

Note

  • For information on the parameters to include in the call, see the “API Parameters” section below.

  • Only include the match_limit parameter for PII or email resolution, where you want to specify the maximum number of RampID results returned per input identifier (default is “1”).

  • Only include the input_columns parameter for email or PII resolution. This is where you will specify which columns are the target_column(s) and any attribute columns you wish to pass through to the output table.

  • Only include the target_columns parameter for PII resolution. Use this parameter to specify the target PII columns to use for identity resolution. When using the target_columns parameter, do not include the target_column parameter.

  • For information on troubleshooting errors that might occur when performing calls, see "Troubleshoot Calls in ADX".

Once you've received a successful response, make a poll job request to initiate the delivery of the output file to the output S3 bucket (for more information, see the "Initiate Output File Delivery" section below).

Initiate Resolution with an Https Curl Call

See below for the format of an https curl call used to initiate identity resolution:

curl --location --request POST 
'https://<data-exchange-url>/adx/job/start' \
--header 'Content-Type: application/json' \
--header 'x-amzn-dataexchange-data-set-id: <data-set-id>' \
--header 'x-amzn-dataexchange-revision-id: <revision-id>' \
--header 'x-amzn-dataexchange-asset-id: <asset-id>' \
--header 'x-amzn-dataexchange-http-method: POST' \
--data-raw '{
        "httpMethod": "POST",
        "input_s3": "<Input S3 bucket>",
        "file_format": "csv",
        "file_pattern": "<Regex pattern for input files>",
        "workflow_type": "<Resolution type>",
        "workflow_sub_type": "<Resolution sub type>",
        "target_column": <Identifier column header>,
        "client_id": "<Client ID>",
        "client_secret": "<Client Secret>",
        "cross_region": “true”
        "match_limit": "<# of RampIDs returned>"

}'

See below for example of what populated https curl calls to initiate identity resolution might look like.

Example PII resolution call:

curl -X POST "https://<data-exchange-url>/adx/job/start" \
     -H "Content-Type: application/json" \
     -d '{
         "input_s3": "s3://input_bucket",
         "aws_key_id": "",
         "aws_secret_key": "",
         "file_format": "csv",
         "file_pattern": "fake_pii_input.csv",
         "workflow_type": "resolution",
         "workflow_sub_type": "pii",
         "client_id": "<client-id>",
         "client_secret": "<client-secret>",
         "cross_region": "true",
         "input_columns": {
             "name": "text",
             "streetAddress": "text",
             "zipCode": "text",
             "phone": "text",
             "email": "text",
             "likes_dogs": "text"
         },
         "target_columns": {
             "name": ["name"],
             "streetAddress": ["address"],
             "zipCode": "zip",
             "phone": "phone",
             "email": "email"
         }
    }'

Example email resolution call:

curl -X POST "https://<data-exchange-url>/adx/job/start" \
     -H "Content-Type: application/json" \
     -d '{
        "input_s3": "s3://input_bucket",
        "file_format": "csv",
        "file_pattern": "input/fake_email_input.csv",
        "workflow_type": "resolution",
        "workflow_sub_type": "email",
        "target_column": "HASHED_EMAIL",
        "client_id": "<client-id>",
        "client_secret": "<client-secret>",
        "cross_region": "true",
        "input_columns": {
            "hashed_email": "text",
            "likes_dogs": "text" 
        }
    }'

Example CTV ID resolution call:

curl --location --request POST 
'https://<data-exchange-url>/adx/job/start' \
--header 'Content-Type: application/json' \
--header 'x-amzn-dataexchange-data-set-id: <data-set-id>' \
--header 'x-amzn-dataexchange-revision-id: <revision-id>' \
--header 'x-amzn-dataexchange-asset-id: <asset-id>' \
--header 'x-amzn-dataexchange-http-method: POST' \
--data-raw '{
        "httpMethod": "POST",
        "input_s3": "s3://my-input-bucket-name<Input S3 bucket>",
        "file_format": "csv",
        "file_pattern": "resolution_input_2.*[.]csv",
        "workflow_type": "resolution",
        "workflow_sub_type": "CTV",
        "target_column": "DEVICE_ID",
        "client_id": "my-client-id",
        "client_secret": "my-client-secret",
        "cross_region": “true”

}'

Initiate Resolution with an AWS CLI Call

See below for the format of an AWS CLI call to initiate identity resolution:

aws dataexchange send-api-asset \
  --data-set-id <data-set-id> \
  --revision-id <revision-id> \
  --asset-id <asset-id> \
  --request-headers ‘x-api-key=XXXX-XXXX-XXXX-XXX-<client_id>’ \
  --method POST \
  --path "/adx/job/start" \
  --body "{\"input_s3\": \"<Input S3 bucket>", \"file_format\": \"csv\", \"file_pattern\": \"<Regex pattern for input files>*[.]csv\", \"workflow_type\": \"device_resolution\", \"workflow_sub_type\": \"<Resolution Sub type>\", \"target_column\": \"<Identifier column header>", \"client_id\": \"<Client ID>", \"client_secret\": \"<Client_sectret>", \”input_columns\”: {<Target Column and Passthroughs>} \"cross_region\": \"true\" }"

See below for an example of what a populated AWS CLI call to initiate identity resolution might look like:

aws dataexchange send-api-asset \
  --data-set-id <data-set-id> \
  --revision-id <revision-id> \
  --asset-id <asset-id> \
  --method POST \
 --request-headers ‘x-api-key=XXXX-XXXX-XXXX-XXX-<client_id>’ \  
--path "/adx/job/start" \
  --body "{\"input_s3\": \"s3://my-input-bucket-name\", \"file_format\": \"csv\", \"file_pattern\": \"resolution_input_2.*[.]csv\", \"workflow_type\": \"resolution\", \"workflow_sub_type\": \"email\", \"target_column\": \"hashed_email\", \"client_id\": \"my-client-id\", \"client_secret\": \"my-client-secret\", \”input_columns\”: {\”hashed_email\”: \”text\”, \”gender\”: \”text\”} \"cross_region\": \"true\", \"match_limit\": \"1\" }"

Example Responses for Calls to Initiate Resolution

The following is an example of a response for a successful job submission for a call to initiate identity resolution:

{
   "Job ID": "9863C6588358503285051D4F0BC83_AWS_US_EAST_1",
   "Status": "ADX Start job submitted"
}

Use the Job ID in the poll job request to initiate the delivery of the output file (for more information, see the "Initiate Output File Delivery" section below).

Note

For information on troubleshooting errors that might occur when performing calls, see "Troubleshoot Calls in ADX".

Initiate Output File Delivery

Once you’ve initiated the identity resolution process, you must make a poll job request to initiate the delivery of the output file to the output S3 bucket after processing is complete. One of the parameters you'll need to make that call is the Job ID that was included in the response to the call to initiate identity resolution.

This call should follow the format of the example curl command shown below:

Note

  • For information on the parameters to include in the call, see the “API Parameters” section below.

  • It is recommended that polling be done programmatically at recurring intervals until the processing is complete and the output file has been delivered.

  • For information on troubleshooting errors that might occur when performing calls, see "Troubleshoot Calls in ADX".

Initiate Delivery with an Https Curl Call

See below for the format of an https curl call used to initiate output file delivery:

curl --location --request POST 
'https://<data-exchange-url>/adx/job/poll' \
--header 'Content-Type: application/json' \
--header 'x-amzn-dataexchange-data-set-id: <data-set-id>' \
--header 'x-amzn-dataexchange-revision-id: <revision-id>' \
--header 'x-amzn-dataexchange-asset-id: <asset-id>' \
--header 'x-amzn-dataexchange-http-method: POST' \
--data-raw '{
        "httpMethod": "POST",
        "job_id": "<Job ID>",
        "output_s3": "<Output S3 bucket>",
        "file_format": "csv",
        "client_id": "<Client ID>",
        "client_secret": "<Client Secret>"
}'

See below for an example of what a populated https curl call used to initiate output file delivery might look like:

curl --location --request POST 
'https://<data-exchange-url>/adx/job/poll' \
--header 'Content-Type: application/json' \
--header 'x-amzn-dataexchange-data-set-id: <data-set-id>' \
--header 'x-amzn-dataexchange-revision-id: <revision-id>' \
--header 'x-amzn-dataexchange-asset-id: <asset-id>' \
--header 'x-amzn-dataexchange-http-method: POST' \
--data-raw '{
        "httpMethod": "POST",
        "job_id": "JOB_ID_123",
        "output_s3": "s3://<my-output-bucket-name>\",
        "aws_key_id": "<AWS Key ID>",
        "aws_secret_key": "<AWS Secret Key>",
        "file_format": "csv",
        "client_id": "<my-client-id>",
        "client_secret": "<my-client-secret>"
}'

Initiate Delivery with an AWS CLI Call

See below for the format of an AWS CLI call used to initiate output file delivery:

aws dataexchange send-api-asset \             
 --data-set-id <data-set-id> \
 --revision-id <revision-id> \
 --asset-id <asset-id> \
 --method POST \
 --request-headers ‘x-api-key=XXXX-XXXX-XXXX-XXX-<client_id>’ \
 --path "/adx/job/poll" \
 --body "{\"job_id\": \"<Job ID>", \"output_s3\": \"<Output S3 bucket", \"file_format\": \"csv\", \"client_id\": \"<Client ID\>", \"client_secret\": \"<Client Secret>", \"cross_region\": \"true\" }"

See below for an example of what a populated AWS CLI call used to initiate output file delivery might look like:

aws dataexchange send-api-asset \             
 --data-set-id <data-set-id> \
 --revision-id <revision-id> \
 --asset-id <asset-id> \
 --method POST \
--request-headers ‘x-api-key=XXXX-XXXX-XXXX-XXX-<client_id>’ \
 --path "/adx/job/poll" \
 --body "{\"job_id\": \"JOB_ID_123\", \"output_s3\": \"s3://<my-output-bucket-name>\", \"file_format\": \"csv\", \"client_id\": \"<my-client-id>\", \"client_secret\": \"<my-client-secret>\", \"cross_region\": \"true\" }"

Example Responses for Calls to Initiate Delivery

The following is an example of a response when processing is complete:

{
   "Job ID": "9863C6588358503285051D4F0BC83_AWS_US_EAST_1",
   "Status": "Output results uploaded to AWS S3 bucket"
}

In addition to the response received when processing is complete, you might get one of the following responses in the status parameter:

  • 'DONE': 'ADX Poll job started for delivering output results. Re-poll later for updated status'

  • 'DELIVERING': 'Upload to AWS S3 in progress. Re-poll later or wait for the delivery notification'

Note

For information on troubleshooting errors that might occur when performing calls, see "Troubleshoot Calls in ADX".

API Parameters

See the tables below for a list of the API header parameters and request parameters.

Authorization Parameters

Authorization Parameter

Data Type

Description

AccessKey

string

IAM Access Key of the subscribed AWS account.

SecretKey

string

IAM Secret Key of the subscribed AWS account.

AWS Region

string

AWS region where the product was subscribed.

Service Name

string

"dataexchange"

Session Token

string

Session token of the subscribed AWS account

Header Parameters

Header Parameter

Data Type

Description

data-exchange-url

string

Your AWS-provided data exchange URL.

data-set-id

string

Your AWS-provided Data set ID.

revision-id

string

Your AWS-provided Revision ID.

asset-id

string

Your AWS-provided Asset ID.

aws-authorization

string

For information on finding the AWS-provided parameters, see this AWS article.

Request Parameters

Request Parameter

Description

client_id

Either an existing LiveRamp client ID (if you already have Identity API credentials) or a new one provided by LiveRamp

client_secret

Password / secret for the LiveRamp client_ID (either an existing password / secret (if you already have Identity API credentials) or a new one provided by LiveRamp)

workflow_type

“resolution” for all identity resolution processes

workflow_sub_type

The type of identifiers being resolved. Options include:

  • PII

  • Email

  • Cookies

  • MAID

  • CTV

  • CID (provided to you by LiveRamp and specific to the mapping created)

  • HHLink (to resolve individual RampIDs into household RampIDs)

Note

Each identifier type has to be separated into its own input table (including CID types) and only one option above can be chosen for each operation.

input_s3

S3 directory for input files.

output_s3

S3 directory for output files.

file_format

Specifies the format for input files. Accepted file format is "csv".

file_pattern

Regex pattern for input files.

For example, the pattern ‘input_2.*[.]csv’ would result in the processing of the following files:

input_20.csv

input_221.csv

input_225.csv

target_column

The column header name for the input field which contains the IDs to be resolved. Ex: “DEVICE_ID”

Note

For PII resolution, leave this parameter out.

input_columns

For PII or email workflows, this includes the target column and any attribute columns you want to pass through into the output table. For example:

"input_columns": {
    "hashed_email": "text",
    "gender": "text",
    "last_car": "text"
}

Note

For PII resolution, these column names cannot be used in the input table:

  • RampID

  • __lr_rank

  • __lr_filter_ name

target_columns

A subset of input_columns used in PII resolution jobs. These are the PII elements that will be resolved to create the output RampIDs.

"target_columns": {
"name": ["name"],
"streetAddress": ["address"],
"zipCode": "zip",
"phone": "phone",
"email": "email"
}

Note

Do not include the name of attribute columns you want to pass through in this parameter. Use the input_columns parameter to include those attribute columns.

cross_region

“true” or “false”. If “true”, then workloads are processed in the default region (us-east-1) if the target region is unavailable. If “false”, then workloads are not processed in the default region if the target region is unavailable and a status message to enable cross region is returned to the caller.

match_limit

For PII or email resolution only, specify an integer between 1 and 10 to specify the maximum number of RampID results returned per input identifier (to return only the “best match”, returning 1 RampID is sufficient). The default is “1”.

job_id

For polling requests, enter the Job ID returned in the response for the call to initiate identity resolution. The Job ID consists of a unique ID plus your AWS region name.

View Identity Resolution Output

The output file(s) from the identity resolution process will be compressed and then written to the specified S3 bucket provided in the poll job request.

The file naming convention for the output file will be "<JOB_ID>_0_0_0.csv.gz"

The Job ID will be a unique ID plus your AWS region name.

Ex: 17697C67E98D4702BEB4ED7B3B0FA_AWS_US_EAST_1_0_0_0.csv.gz

Output File for PII Resolution

The PII resolution process passes the input table through a privacy filter which removes the PII and reswizzles the table (in addition to other operations). Because of this, any attributes you need to keep associated with the identifier need to be included in the input table. For more information, see the "Privacy Filter" section below.

Identity resolution of PII provides supplemental match metadata for additional insight into customer data that can provide powerful signals for making decisions based on RampIDs.

For PII resolution, the output table includes the fields shown in the table below.

Column

Sample

Description

RampID

XYT999wXyWPB1SgpMUKlpzA013UaLEz2lg0wFAr1PWK7FMhsd

Returns the resolved RampID in your domain encoding.

attribute_1

Male

Any attribute columns passed through the service are returned.

__lr_rank

1

Provides insight on the match cascade level associated with the identifiers.

If no maintained RampID is found, this value will be "null".

__lr_filter_name

name_phone

Returns the filter name where the match occurred, which will be one of the following options:

  • name_address_zip

  • name_email

  • name_phone

  • partial_name_email

  • partial_name_phone

  • strict_name (name + zip)

  • email

  • phone

  • last_name_address

If no maintained RampID is found, this value will be "null".

Output File for Email Address Resolution

The email-only resolution process operates similarly to PII resolution. Any attributes you need to keep associated with the identifier need to be included in the input table. For more information, see the "Privacy Filter" section below.

For email-only resolution, the results end up in the output table in the same database, with the following fields (as shown below):

  • RampID (resolved email data)

  • attributes (based on other data passed through the service).

For email resolution, the output table includes the fields shown in the table below.

Column

Example

Description

RampID

XYT999RkQ3MEY1RUYtNUIyMi00QjJGLUFDNjgtQjQ3QUEwMTNEMTA1CgMjVBMkNEMTktRD

The RampID associated with the email address.

Note

If multiple RampIDs are associated with an email address, multiple lines will be created in the output file.

attribute_1

Male

The original attribute columns included in the input file.

Output File for Device ID Resolution

The output file for device ID resolution will follow the format shown in the table below.

Column

Example

Description

device_identifier OR RampID

1f4d256c-1f08-41f6-a108-bbe511de9497

The original identifier included in the input file.

RampID or hhlink

XYT999RkQ3MEY1RUYtNUIyMi00QjJGLUFDNjgtQjQ3QUEwMTNEMTA1CgMjVBMkNEMTktRD

For input files containing device identifiers,the RampID associated with the device identifier.

For input files containing individual RampIDs, the household RampIDs associated with those individual RampIDs.

Note: If multiple RampIDs are associated with a device identifier, multiple lines will be created in the output file.

Output File for CID Resolution

The output file for CID resolution will follow the format shown in the table below.

Column

Example

Description

cid

93abc799-a0a5-40b5-80dd-d2ab61d4d072

The original identifier included in the input file.

RampID

XYT999RkQ3MEY1RUYtNUIyMi00QjJGLUFDNjgtQjQ3QUEwMTNEMTA1CgMjVBMkNEMTktRD

The resolved RampID in your domain encoding.

Privacy Filter

To minimize the risk of re-identification (the ability to tie PII directly to a RampID), the service includes the following processes when resolving PII identifiers (PII resolution or email-only resolution):

  • Column Values: The process evaluates the combination of all the column values on a per row basis for unique values. If a particular combination of column values occurs 3 or fewer times, the rows containing those column values will not be matchable and will not be returned in the output table.

  • >5% of the table unmatchable: If, based on column value uniqueness, >5% of the file rows are unmatchable, the job will fail.

  • Number of Unique RampIDs: If fewer than 100 unique RampIDs would be returned, the job will fail.

  • Reswizzle full table: Upon completion, the full table will be reswizzled to return the rows RampID | attribute_1 | attribute_2 | attribute_n in a different order than what was submitted in the input table.