LiveRamp RampID matching

LiveRamp RampID matching enables you to leverage RampIDs as a join key between your advertising data and Google’s advertising data. Joining your data via RampIDs can provide a greater accuracy and a higher match rate than conventional cookie-based matching.


LiveRamp matching is only for measurement and can’t be used in audience queries.

Additionally, in order for a user to be matched, they must have:

  • Interacted with your ads, and have a corresponding LiveRamp ID.
  • Interacted with Google’s ads, and have a corresponding Google ID.
  • Previously interacted with an ad campaign that you want to measure using Ads Data Hub.

How LiveRamp matching works

Matching LiveRamp data using Ads Data Hub depends on the use of cookies. To start, Google and LiveRamp build a match table, which associates LiveRamp RampIDs with Google IDs. This match table is used to translate between Google and LiveRamp’s ID spaces.

Once the match table is complete, you can join Ads Data Hub and LiveRamp data by matching hashed LiveRamp RampIDs with Google campaign data.


LiveRamp manages the majority of the implementation process. To begin the process, contact your Google account representative to communicate your interest in LiveRamp matching. They’ll discuss your goals and give you more information on fulfilling the requirements for setting up a match table.


Before getting set up with LiveRamp matching, you have active LiveRamp, Google Cloud, and Ads Data Hub accounts. Additionally, you must have enabled LiveRamp File Based Recognition.

Match table setup

  1. Grant your Ads Data Hub service account BigQuery Data Editor (roles/bigquery.dataEditor) access to the BigQuery project that you want your queries written to.
  2. Grant LiveRamp’s service account BigQuery Data Editor (roles/bigquery.dataEditor) access to your BigQuery project.
  3. Work with LiveRamp to set up file delivery and communicate which data feed maps to each project, dataset, and table.

Querying the match tables

After your data finishes importing to LiveRamp, you can query it. Each table in the Ads Data Hub schema containing a user_id field is accompanied by a *_match table. For example, for the adh.google_ads_impressions table, Ads Data Hub also generates a match table called adh.google_ads_impressions_match containing your user IDs. These tables contain a subset of the rows available in the original tables, where there is a match on the LiveRamp RampIDs.

The match tables contain an additional column:

  • external_cookie: Your hashed LiveRamp IDL, stored as bytes.

Your queries should join your data with a *_match table on external_cookie. Results are written to the BigQuery project you specified.


The following code sample counts the number of matched users.

SELECT count(1) as matched
FROM adh.cm_dt_impressions_match as adh
INNER JOIN `project_name.dataset_name.table_name_LR_table` as LR
ON LOWER(TO_HEX(adh.external_cookie)) = LR.ADH_Bridge_ID


Why am I not getting any matches?

If your query doesn’t return any matches, it could be due to any of the following issues:

  1. No matches exist between *_match table and dataset in BiqQuery. To confirm that this is the issue, count the number of entries in each table separately. Neither table is empty, contact LiveRamp to troubleshoot.
  2. Matches exist but don’t pass Ads Data Hub’s aggregation requirements. The data that is exported to BigQuery is subject to Ads Data Hub’s privacy checks. If a row doesn’t contain a large enough cohort, it won’t appear in the BigQuery project’s output. If so, contact Ads Data Hub support.
  3. The default ID space preference (signed-in/out), based on impression volume, is causing no matches. If so, your Google representative can change your ID space preference.

How do I join data from BigQuery with Ads Data Hub?

The following sample query joins data from BigQuery and Ads Data Hub

SELECT event.campaign_ID,count(*)
FROM adh.cm_dt_impressions_match as a
JOIN `my_project.my_dataset.my_table` as b
ON LOWER(TO_HEX(a.external_cookie)) = b.my_match
WHERE b.filter_field = @filter

How many BigQuery projects can be linked to an Ads Data Hub account for input data?

For input data, multiple BigQuery projects can be connected to a single Ads Data Hub instance.

How many BigQuery projects can be linked to an Ads Data Hub account output data?

For output data, 1 BigQuery project must be connected to 1 Ads Data Hub account.

What if my dataset or table don’t appear in the Ads Data Hub UI when running a query?

Ensure that the dataset and table that you want to write to are in the BigQuery project linked to your Ads Data Hub account for output.