The Match app enables businesses to cleanse, match, and resolve customer data without revealing personal information.
Standardize individual data, such as name and address, optionally including email and/or phone, to postal standards, and establish a persistent ID for the individual, household, and address.
This guide provides comprehensive instructions on utilizing the app. It includes steps to:
- Submit data for processing
- Check the status of the job
- Find the output
Submit data to the app
To submit data to the application, you will first populate the INPUT table, then the REQUESTS table, as described below.
Populate the INPUT table
The first step is to fill in the input table with the PII you would like the app to process. An example of what a user would typically populate is denoted below.
The Match App primarily uses Name and Postal Address data for matching, with Phone as an optional parameter. Only populate the Email if the confidence in its accuracy is high.
Please review the complete list of attributes.
| Column | Description | Must be populated |
|---|---|---|
|
This field should be populated with a unique id for your batch run. All records in the batch set should have the same value. You will use this ID later to retrieve your output. | YES |
|
This field should be populated with a unique id for the record within your batch run. This field will be returned to you on output and will be what you can use to tie a specific output record(s) back to a specific input record. | YES |
|
Populate this with US for all records. The app only supports US data. All other records will be discarded. | YES |
|
Populate with first and last name of individual respectively. Note that you can also optionally populate the FULL_NAME field if you do not have already parsed names on your data |
|
|
|
Populate these fields if you have the address for the individual on your data. Example:
|
|
|
Populate if you have a phone number for the individual |
|
|
Populate if you have an email address for the individual |
|
Here is an example of inserting data into the input table, populating the fields above, and creating a REQUEST_ID of ‘TESTJOB01’:
INSERT INTO <APPLICATION_NAME>.APP_PUBLIC.INPUT
(REQUEST_ID, RECORD_ID, COUNTRY_CODE,
FIRST_NAME, LAST_NAME, ADDRESS_LINE_1, ADDRESS_LINE_2,
CITY, STATE_PROVINCE_CODE, POSTAL_CODE, PHONE, EMAIL_ADDRESS)
SELECT
'TESTJOB01' as REQUEST_ID, RECORD_ID, 'US' as COUNTRY_CODE,
FIRST_NAME, LAST_NAME, ADDRESS_LINE_1, ADDRESS_LINE_2,
CITY, STATE_PROVINCE_CODE, POSTAL_CODE, PHONE, EMAIL_ADDRESS
from SAMPLE_INPUT_DATASET;Populate the REQUESTS table
Once the INPUT table has been populated, the next step to submitting a job is to add a row to the REQUESTS table. This table is monitored by the app and triggers processing when a new row is detected. Below are the columns you will want to populate on this table.
For additional information, refer to the reference documentation.
| Column | Description |
|---|---|
REQUEST_ID |
Populate with the REQUEST_ID of the job you are submitting |
REQUEST_OPTIONS |
JSON string specifying runtime options |
DATE_CREATED |
Date/Time you are submitting the job. Typically this is the system current time |
Here is an example of submitting a job with default options:
INSERT INTO <APPLICATION_NAME>.APP_PUBLIC .REQUESTS (REQUEST_ID,REQUEST_OPTIONS,DATE_CREATED)
SELECT 'TESTJOB01' as REQUEST_ID,
null as REQUEST_OPTIONS,
CURRENT_TIMESTAMP() as DATE_CREATED;Here is an example of submitting a job with a few runtime parameters turned on:
INSERT INTO <APPLICATION_NAME>.APP_PUBLIC .REQUESTS (REQUEST_ID,REQUEST_OPTIONS,DATE_CREATED)
SELECT 'TESTJOB01' as REQUEST_ID,
OBJECT_CONSTRUCT('DSF2','Y','NCOA','Y') as REQUEST_OPTIONS,
CURRENT_TIMESTAMP() as DATE_CREATED;Monitor the status of a request
After submitting data to the app, verify that the job has been accepted. To do this, locate the app's output view.
For a detailed description of request monitoring status, please refer to the reference documentation.
Monitor the REQUEST_STATUS view
This view provides the status of the job processing in the app. To retrieve the status, query the job records. Below is a sample query:
SELECT * FROM <APPLICATION_NAME>.APP_PUBLIC .REQUEST_STATUS
WHERE REQUEST_ID='TESTJOB01';After the system detects your job and begins processing, you should see rows and their statuses, including:
-
REJECTED: If you encounter a STATUS of REJECTED, refer to the
STATUS_MESSAGEto identify the issue. Correct the issue and resubmit the REQUEST. -
ACCEPTED: Once a job is accepted, it enters the processing phase. Depending on the data volume, processing can take several hours. Regularly check the
REQUEST_STATUSview to monitor job completion or failure. -
PROCESSING: As your job progresses through various states, the
DATE_UPDATEDcolumn will reflect that it is still processing. - COMPLETED: This means your output is ready to consume. Please refer to the following section on retrieving your output.
- FAILED: Please contact Support to inquire about the cause of this batch job failure.
Retrieve output
After your job is complete, you can extract the output from the provided tables/views. In the APP_PUBLIC schema within the app, you will find the following, containing the output for your REQUEST_ID. These tables/views contain outputs from the current and previous requests. Use the REQUEST_ID column to retrieve the output for your specific job.
For a detailed description of these outputs, please refer to the reference documentation.
Retrieve your data from the following locations
<APPLICATION_NAME>.APP_PUBLIC.MATCH_OUTPUT
This table/view will contain the output of the matching process to the dentsu.ID Universe and provide you with IDs for the INDIVIDUAL, HOUSEHOLD, and ADDRESS levels.
<APPLICATION_NAME>.APP_PUBLIC.HYGIENE_OUTPUT
This table/view will contain the USPS standardized version of the PII. Note that if you requested NCOA, you may receive two records in the output for a single record in the input, representing both the input and output addresses.
<APPLICATION_NAME>.APP_PUBLIC.HYGIENE_REPORT
This table/view will contain the USPS Hygiene reports, including CASS and NCOA.
To copy the output to a table within your own database, you can use a query similar to the example provided below.
CREATE TABLE mydb.myschema.JOB_TESTJOB01_MATCH_OUTPUT
as SELECT * from <APPLICATION_NAME>.APP_PUBLIC .MATCH_OUTPUT
where REQUEST_ID='TESTJOB01';