Using Media Amplification

Welcome

This guide will walk you through how to use FullContact’s media amplification offering that is natively integrated within Snowflake.

If you run into any challenges working through this guide, please send an email to your FullContact customer success manager or to [email protected] for assistance.

Setup / Pre-requisites

There are a couple of pre-requisites before your organization will be ready to use this functionality.

Configuration

If you haven't already, you must first configuration the overall application that contains each of the individual functionalities.

View the Application Setup Documentation.

Provisioned

Access for your organization to this dataset will need to be provisioned for Snowflake. Your organization will need that access in order for this piece of functionality to function. If you believe there might be an issue with provisioning, reach out to your Customer Success Manager or send an email to [email protected].

Resolved Data

You will also need to have resolved your customer data prior to using this application. The application will expect to see a column in your table called PIDS that is appended after data is resolved. See more on Resolve.

Using the Media Amplification Application

To enrich your customer data with the Media Amplification dataset (HEMs, MAIDs) from FullContact, you will be interacting with a stored procedure called ENRICH that we offer as part of our application.

This is what that a call to that procedure looks like:

CALL FC_NATIVE_APP.APP_SCHEMA.ENRICH_WITH_API_KEY(
    '[YOUR_CUSTOMER_DATA]',-- Customer data table
    '[YOUR_API_KEY]', -- Your FullContact API key
     ARRAY_CONSTRUCT('HEM','MAID'),-- Tells the procedure what enrichment data you want
    '[YOUR_CUSTOMER_DATA_ENRICHED]',-- Your customer data table, copied with enrichment

Callouts

FC_NATIVE_APP - Is the name of the application that was created upon installation of our application. More on application setup & installation.

All results will go inside a table in FC_NATIVE_APP_IO.ENRICH_OUT.[YOUR_CUSTOMER_DATA_ENRICHED]

Procedure Arguments & Explanation

The ENRICH procedure takes (5) five inputs:

  • [YOUR_CUSTOMER_DATA] - Is a table of your customer data that you have already resolved and contains Person Ids that were generated using FullContact’s Resolve functionality. Learn more about that functionality as a part of this app.
  • [YOUR_API_KEY] - An API key you have created on platform.fullcontact.com. The API key is used to track your usage of this application only. Note: None of your customer data leaves the Snowflake environment.
  • ARRAY_CONSTRUCT('HEM','MAID') - This argument tells the procedure what data you want back. You do not need to modify this argument if you want both sets of data. But if you would only like HEM or MAID enrichment, you can include / exclude either of these values when you make the call. HEM and MAID are the only two supported values.
  • [YOUR_CUSTOMER_DATA_ENRICHED] - The procedure will always create a copy of your customer data into a new table. This argument accepts two possible inputs:
    • A custom table name for the table you create, located in FC_NATIVE_APP_IO.ENRICH_OUT.[YOUR_CUSTOMER_DATA_ENRICHED]
    • NULL which will take the name of the input table and append _ENRICH_RESULTS to the end of the name.

Understanding the Appended Results

A quick refresher on terminology:

  • MAID = Mobile Advertising ID
  • HEM = Hashed Email Address

Let’s do a brief overview of the appended data that you will receive.

In the resulting table, the application will append the following columns and will include the enrichment columns based on what you requested in ARRAY_CONSTRUCT:

  • PID - Person ID associated to that record
  • EMAIL - Containing a JSON object of HEMs and associated metadata for each record, if your request included HEM
  • MAIDS - Containing a JSON object of MAIDs and associated metadata for each record, if your request included MAID
  • ENRICH_RUN_ID - The specific ID for a single run, for each record. More on that in the FC_ENRICH_METRICS overview.

For each record where FullContact had previously resolved and appended a Person Id, and we have enrichment data for that record we will append a JSON object containing the amplification data to each record in the resulting table. Here is a short overview of what each of those pieces of data represent.

ColumnKeyDescription
EMAILSEmail First Observed Timestamp (”firstSeen”)For each of the HEMs we’ve supplied as matches, the first time (timestamp) we observed that HEM in our identity graph
Email Type (”label”)The type of email, possible values include ‘consumer’, ‘work’, or ‘other’
Email Last Observed Timestamp (”lastSeen”)For each of the HEMs we’ve supplied as matches, the most recent time (timestamp) we observed that HEM in our identity graph
Email MD5 Hashed (”md5”)Matching MD5 hashed emails linked to your supplied customer data
Email SHA1 Hashed (”sha1”)Matching SHA1 hashed emails linked to your supplied customer data
Email SHA256 Hashed (”sha256”)Matching SHA256 hashed emails linked to your supplied customer data
MAIDSMAID First Observed Timestamp (”firstSeen”)For each of the MAIDs we’ve supplied as matches, the first time (timestamp) we observed that MAID in our identity graph
MAID Last Observed Timestamp (”lastSeen”)For each of the MAIDs we’ve supplied as matches, the most recent time (timestamp) we observed that MAID in our identity graph
MAID (”maid”)All of the matching MAIDs linked to your supplied customer data
MAID Type (”maidType”)The MAID types (IDFA or AAID) for each of the MAIDs linked to your supplied customer data

Summary Metrics on your Appended Enrichment

For every successfully complete batch of records enriched through the app, we will provide a set of summary metrics about that batch in a metrics table in the application: FC_NATIVE_APP.METRICS.FC_RESOLVE_METRICS

This is what you’ll see in that table:

  • RUN_ID - The unique ID for the call, associated to each METRIC_NAME for reference / lightweight troubleshooting
  • DATE - The date of the call made to the procedure
  • METRIC_NAME - The metrics we record from each call, with descriptive names:
    • INPUT_ROW_COUNT - Number of records included in the call
    • DUPLICATED_RECORDS_COUNT - The number of duplicate customer records we found
    • TOTAL_HEM_RETURNED_COUNT - The number of HEM(s) returned
    • TOTAL_MAID_RETURNED_COUNT - The number of MAID(s) returned
    • TOTAL_ENRICHED_COUNT - Total number of unique records enriched
  • METRIC_VALUE - The measure for each metric e.g. we found 12 Duplicated Records

Closing

That is it, you are ready to start integrating FullContact’s media amplification enrichment data into other key business workflows.

We’re always looking for feedback on the products we develop for customers. Please send feedback on ways to enhance this application for your usage to [email protected].