Sample queries

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'