Sample queries

  • This page provides SQL code snippets for querying various Google Ads data, such as campaigns, ad groups, and keywords.

  • These snippets can be used as-is or customized to build your own queries for extracting specific data points.

  • The queries primarily focus on performance metrics (clicks, impressions, cost, etc.) and attributes of different Google Ads components.

  • Examples are provided for retrieving data for specific date ranges and filtering by status, like campaigns or ad groups that are not removed.

  • The page also includes guidance on querying geographical data using location and geo target constant resources.

This page collects some SQL code snippets that show how to use the different fields, metrics, segments and resources. You can use these queries as is or as starting points on for constructing your own customized queries.

Campaign

  SELECT 
  
 campaign 
 . 
 name 
 , 
  
 campaign_budget 
 . 
 amount_micros 
 , 
  
 campaign 
 . 
 status 
 , 
  
 campaign 
 . 
 advertising_channel_type 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 ctr 
 , 
  
 metrics 
 . 
 average_cpc 
 , 
  
 metrics 
 . 
 cost_micros 
 , 
  
 campaign 
 . 
 bidding_strategy_type 
 FROM 
  
 campaign 
 WHERE 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_7_DAYS 
  
 AND 
  
 campaign 
 . 
 status 
  
 != 
  
 'REMOVED' 
 

Ad Group

  SELECT 
  
 ad_group 
 . 
 name 
 , 
  
 campaign 
 . 
 name 
 , 
  
 ad_group 
 . 
 status 
 , 
  
 ad_group 
 . 
 type 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 ctr 
 , 
  
 metrics 
 . 
 average_cpc 
 , 
  
 metrics 
 . 
 cost_micros 
 FROM 
  
 ad_group 
 WHERE 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_7_DAYS 
  
 AND 
  
 ad_group 
 . 
 status 
  
 != 
  
 'REMOVED' 
 

Ad Group Ad

  SELECT 
  
 ad_group_ad 
 . 
 ad 
 . 
 expanded_text_ad 
 . 
 headline 
 , 
  
 ad_group_ad 
 . 
 ad 
 . 
 expanded_text_ad 
 . 
 headline2 
 , 
  
 ad_group_ad 
 . 
 ad 
 . 
 expanded_text_ad 
 . 
 headline3 
 , 
  
 ad_group_ad 
 . 
 ad 
 . 
 final_urls 
 , 
  
 ad_group_ad 
 . 
 ad 
 . 
 expanded_text_ad 
 . 
 description1 
 , 
  
 ad_group_ad 
 . 
 ad 
 . 
 expanded_text_ad 
 . 
 description2 
 , 
  
 campaign 
 . 
 name 
 , 
  
 ad_group 
 . 
 name 
 , 
  
 ad_group_ad 
 . 
 ad 
 . 
 type 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 ctr 
 , 
  
 metrics 
 . 
 average_cpc 
 , 
  
 metrics 
 . 
 cost_micros 
 FROM 
  
 ad_group_ad 
 WHERE 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_7_DAYS 
  
 AND 
  
 ad_group_ad 
 . 
 status 
  
 != 
  
 'REMOVED' 
 

Keywords

  SELECT 
  
 ad_group_criterion 
 . 
 keyword 
 . 
 text 
 , 
  
 campaign 
 . 
 name 
 , 
  
 ad_group 
 . 
 name 
 , 
  
 ad_group_criterion 
 . 
 keyword 
 . 
 match_type 
 , 
  
 ad_group_criterion 
 . 
 final_urls 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 ctr 
 , 
  
 metrics 
 . 
 average_cpc 
 , 
  
 metrics 
 . 
 cost_micros 
 FROM 
  
 keyword_view 
 WHERE 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_7_DAYS 
  
 AND 
  
 ad_group_criterion 
 . 
 status 
  
 != 
  
 'REMOVED' 
 

Age (Demographics)

  SELECT 
  
 ad_group_criterion 
 . 
 age_range 
 . 
 type 
 , 
  
 campaign 
 . 
 name 
 , 
  
 ad_group 
 . 
 name 
 , 
  
 ad_group_criterion 
 . 
 bid_modifier 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 ctr 
 , 
  
 metrics 
 . 
 average_cpc 
 , 
  
 metrics 
 . 
 cost_micros 
 , 
  
 campaign 
 . 
 advertising_channel_type 
 FROM 
  
 age_range_view 
 WHERE 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_7_DAYS 
 

Gender (Demographics)

  SELECT 
  
 ad_group_criterion 
 . 
 gender 
 . 
 type 
 , 
  
 campaign 
 . 
 name 
 , 
  
 ad_group 
 . 
 name 
 , 
  
 ad_group_criterion 
 . 
 bid_modifier 
 , 
  
 metrics 
 . 
 clicks 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 ctr 
 , 
  
 metrics 
 . 
 average_cpc 
 , 
  
 metrics 
 . 
 cost_micros 
 , 
  
 campaign 
 . 
 advertising_channel_type 
 FROM 
  
 gender_view 
 WHERE 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_7_DAYS 
 

How to look up geo constants

Use location_view resource to get a geo_target_constant ID.

  SELECT 
  
 campaign 
 . 
 name 
 , 
  
 campaign 
 . 
 id 
 , 
  
 campaign_criterion 
 . 
 criterion_id 
 , 
  
 campaign_criterion 
 . 
 location 
 . 
 geo_target_constant 
 , 
  
 location_view 
 . 
 resource_name 
 , 
  
 metrics 
 . 
 cost_micros 
 , 
  
 metrics 
 . 
 impressions 
 , 
  
 metrics 
 . 
 cost_micros 
 FROM 
  
 location_view 
 WHERE 
  
 segments 
 . 
 date 
  
 DURING 
  
 LAST_7_DAYS 
 

Note that the API returns locations by their criterion IDs. To get their display names, use the API to query the geo_target_constant resource.

  SELECT 
  
 geo_target_constant 
 . 
 canonical_name 
 , 
  
 geo_target_constant 
 . 
 country_code 
 , 
  
 geo_target_constant 
 . 
 id 
 , 
  
 geo_target_constant 
 . 
 name 
 , 
  
 geo_target_constant 
 . 
 status 
 , 
  
 geo_target_constant 
 . 
 target_type 
 FROM 
  
 geo_target_constant 
 WHERE 
  
 geo_target_constant 
 . 
 resource_name 
  
 = 
  
 'geoTargetConstants/1014044' 
 
Design a Mobile Site
View Site in Mobile | Classic
Share by: