Joinable fields in Ads Data Hub

Generally, fields with the same category and ID name can be joined together across tables. For example adh.google_ads_impressions.query_id can be joined with adh.google_ads_clicks.query_id. In this example google_ads is the common category, query_id is the common field, and impressions and clicks are the two different tables.

Complexities exist that can make it difficult to join data across product categories. Different Google products use different user IDs, and user IDs can vary within a single product based on sign-in state.

Use the following list as a guideline for joining across products. Joins within each product category will generally work, whereas joins between product categories generally won't.

  • Google Display Ads (i.e. Google Video Network)
  • Google Marketing Platform (i.e. Data Transfer, Campaign Manager, Google Ad Manager)
  • YouTube Google sold (i.e. Google Ads, YouTube Reserve, and Display and Video 360 YouTube)
  • YouTube Partner sold (i.e. Google Ad Manager or FreeWheel)

Join rules

  • RDID can only be joined on RDID.
  • All tables can be joined on RDID.
  • All tables can be joined on external IDs.
  • Data Transfer tables can be joined using:

    • user_id
    • external_cookie
    • RDID
  • YouTube Google Ads, YouTube Display and Video 360, and YouTube Reserve can be joined using:

    • user_id
    • external_cookie
    • RDID
  • Google Ads Display Network can be joined with Data Transfer and Campaign Manager tables using:

    • user_id
    • external_cookie
    • RDID

Additional fields that can be joined

  • To join a Campaign Manager Pixel with a Google Ads creative:

adh.cm_dt_impressions.event.placement_id joins with adh.google_ads_creative.beacon_url[offset(0)].placement_id

  • To join a third-party Campaign Manager creative with a Google Ads creative:

adh.cm_dt_impressions.event.placement_id joins with adh.google_ads_creative.snippet_url[offset(0)].placement_id