Join first-party data

You can use Ads Data Hub to execute queries that join Google data with first-party data you’ve uploaded to BigQuery. This allows you to get a more complete representation of how your users engage with your platform, and can contribute to better attribution.

Your data must be keyed to an identifier that Ads Data Hub tracks. This join key is used as the shared attribute between your data and Google’s, allowing you to link both datasets. Ads Data Hub supports joining on the following keys:

  • Resettable device IDs (RDIDs) [not available for vendors]
  • Custom Floodlight variables
  • Cookies
  • LiveRamp RampIDs (currently in beta)

While some join keys may work better for specific use cases, choosing one depends more on how your data is set up (i.e. app-based vs. offline), rather than your use case. For example, both RDIDs and cookies can be joined for customer segmentation, but advertisers whose traffic comes primarily from apps (such as ridesharing companies) get more value from joining using RDIDs than advertisers whose sales are driven elsewhere.

At a high level, the use cases across the various matching options remain the same: joining your data with Google’s allows you to answer more meaningful advertising questions and build better audiences. However, each matching option gives access to different data, comes with different limitations, and requires a different level of investment in setup and maintenance.

Overview of available join keys

Use the following overview to learn more about the differences between the available join keys.

It’s unlikely that you’ll be able to match all of your Google ad data. Match rates are subject to a number of factors, and vary by use case and client-side setup. Match rates are often lower than users expect.


RDIDs are a unique identifier used exclusively for native apps on mobile devices. As such, RDID matching is ideal for advertisers whose data comes primarily from mobile apps, or deliver a large number of impressions on mobile. RDID matching requires the smallest investment in setup.

Learn more about RDID matching

Custom Floodlight variables

Custom Floodlight variables are URL parameters attached to Floodlight tags, which capture information during a conversion event. Because Floodlight tags are exclusive to Google Marketing Platform (GMP) properties, matching is limited to GMP IDs. Custom Floodlight variable matching requires a small investment in setup.

Learn more about custom Floodlight variable matching


Cookie matching associates an advertiser’s cookies with Google’s. Cookie matching requires investment to set up, and requires a variable amount of time for the match tables to populate.

Key point: Users are only eligible for cookie matching if they've interacted with your domain and your ads.

Learn more about cookie matching

LiveRamp RampIDs

Learn more about LiveRamp matching

Which join key is right for you?

As mentioned previously, choosing the right join key depends primarily on how users engage with your platform. That being said, some use cases won’t work with certain join keys. Use the supported use cases table to learn which key(s) support your use case, then determine what type of data you’ll need.

Supported use cases

The following list provides example use cases alongside first-party data that could be used to accomplish the use case. This list is by no means exhaustive. Additionally, as previously mentioned, many of the use cases can be accomplished with any join key. (Although some use cases which are specific to platform or device type, may be better suited to a specific join key.)

Use case Touchpoints (i.e. mobile, web, social) Customer segment data (i.e. affinity category) Conversion data (i.e. transactions, offline conversions)
Campaign lift. Measure the impact of an ad or campaign on conversions using A/B testing.
Mobile YouTube performance. Track YouTube impressions that occur in-app on mobile.
In-app-conversions. Measure conversions that occur in-app.
Join purchase history to post-campaign data. Review the effectiveness of your campaign while contextualizing purchase history.
Customer segmentation. Improve audiences and perform measurement by joining differentiators that you track with Google ad data.
Target shopping cart abandoners. Use “add to cart”-type conversion events to build audiences of shopping cart abandoners.
Telemetry. Enrich audiences and gather insights based on actions that you track using your app, such as browsing and not converting.
Target using conversion value metrics. Build audiences based on the historical value of a conversion.


The specific implementation details differ between each matching option. Generally, you’ll need to:

  1. Upload your data into BigQuery.
  2. Grant the Ads Data Hub service account read access to those datasets, and write access to the tables containing your results.

However, both LiveRamp and cookie matching require additional setup beyond these 2 steps.

Upload your data

Upload your data to at least one dataset in BigQuery (e.g. YourData). Create another dataset for the output of joins that you make between Google data and your data (e.g. OutputData).

Permission the Ads Data Hub service account

You must grant the Ads Data Hub service account the “BigQuery Data Viewer” (roles/bigquery.dataViewer) role for all the datasets containing uploaded data you plan on using.

The service account also requires the “BigQuery Data Editor” (roles/bigquery.dataEditor) role for the dataset containing the outputs of your joins.

Learn more about roles in BigQuery