Search Ads 360 migration guide

The Search Ads 360 connector (formerly known as Doubleclick Search) relies on the new Search Ads 360 reporting API. The old Search Ads 360 reporting API is no longer supported, so you should migrate your BigQuery Data Transfer Service workflows to be compatible with the new Search Ads 360 reporting API. This document shows you the changes of the new Search Ads 360 from the old Search Ads 360 and provides mapping information to migrate your existing resources to the new Search Ads 360.

What's new with Search Ads 360

The new Search Ads 360 reporting API offers several changes that might affect your existing BigQuery Data Transfer Service workflows.

Account structure

The new Search Ads 360 reporting API organizes accounts into a hierarchy of manager accounts, sub-manager accounts, and client accounts. For more information, see Account hierarchy differences and About manager accounts.

ID space

Entities in the new Search Ads 360 have a different ID space mapping than previous versions of Search Ads 360. For information about mapping between previous IDs and new IDs, see ID mapping.

Resource-based reporting

The new Search Ads 360 API data model uses a resource-based data model, as opposed to the old Search Ads 360 API which uses a report-based data model. The new Search Ads 360 API connector creates BigQuery tables by querying resources in Search Ads 360. For more information about the resource structure in the new Search Ads 360 API, see Search Ads 360 reporting API structure.

Migrate transfer configurations

There is no automated method to convert existing Search Ads 360 transfer configurations to the new Search Ads 360 reporting API. You must create a new Search Ads 360 data transfer with the new Search Ads 360 reporting API as the data source.

Review mapping information

Review the following mapping information to map your existing Search Ads 360 resources to the new Search Ads 360 reporting API.

Report mapping

The new Search Ads 360 reports are based on resources and have a different structure than reports from the old Search Ads 360. For a complete mapping of old and new reports, see Report mappings for the Search Ads 360 reporting API.

The following table lists the tables supported by the BigQuery Data Transfer Service along with the resources queried to generate the tables.

Old Search Ads ReportNew Search Ads ResourceNew BigQuery Table Name
adGroupad_groupp_sa_AdGroupStats_customer_id
p_sa_AdGroup_customer_id
p_sa_AdGroupDeviceStats_customer_id
p_sa_AdGroupConversionActionAndDeviceStats_customer_id
adad_group_adp_sa_AdConversionActionAndDeviceStats_customer_id
p_sa_AdDeviceStats_customer_id
p_sa_Ad_customer_id
N/Aad_group_assetp_sa_AdGroupAssetStats_customer_id
p_sa_AdGroupConversionActionAndAssetStats_customer_id
N/Aad_group_asset_setp_sa_AdGroupAssetSet_customer_id
adGroupTargetad_group_audience_viewp_sa_AdGroupAudienceDeviceStats_customer_id
p_sa_AdGroupAudienceConversionActionAndDeviceStats_customer_id
adGroupTargetad_group_criterionp_sa_NegativeAdGroupCriterion_customer_id
p_sa_NegativeAdGroupKeyword_customer_id
p_sa_AdGroupCriterion_customer_id
adGroupTargetage_range_viewp_sa_AgeRangeDeviceStats_customer_id
p_sa_AgeRangeConversionActionAndDeviceStats_customer_id
N/Aassetp_sa_Asset_customer_id
bidStrategybidding_strategyp_sa_BidStrategy_customer_id
p_sa_BidStrategyStats_customer_id
campaigncampaignp_sa_CampaignConversionActionAndDeviceStats_customer_id
p_sa_Campaign_customer_id
p_sa_CampaignDeviceStats_customer_id
p_sa_CampaignStats_customer_id
N/Acampaign_assetp_sa_CampaignAssetStats_customer_id
p_sa_CampaignConversionActionAndAssetStats_customer_id
N/Acampaign_asset_setp_sa_CampaignAssetSet_customer_id
campaignTargetcampaign_audience_viewp_sa_CampaignAudienceConversionActionAndDeviceStats_customer_id
p_sa_CampaignAudienceDeviceStats_customer_id
campaignTargetcampaign_criterionp_sa_CampaignCriterion_customer_id
p_sa_NegativeCampaignKeyword_customer_id
p_sa_NegativeCampaignCriterion_customer_id
productLeadAndCrossSellcart_data_sales_viewp_sa_CartDataSalesStats_customer_id
conversionconversionp_sa_Conversion_customer_id
floodlightActivityconversion_actionp_sa_ConversionAction_customer_id
accountcustomerp_sa_Account_customer_id
p_sa_AccountDeviceStats_customer_id
p_sa_AccountConversionActionAndDeviceStats_customer_id
p_sa_AccountStats_customer_id
N/Acustomer_assetp_sa_CustomerAssetStats_customer_id
p_sa_CustomerConversionActionAndAssetStats_customer_id
N/Acustomer_asset_setp_sa_CustomerAssetSet_customer_id
adGroupTargetgender_viewp_sa_GenderDeviceStats_customer_id
p_sa_GenderConversionActionAndDeviceStats_customer_id
keywordkeyword_viewp_sa_Keyword_customer_id
p_sa_KeywordDeviceStats_customer_id
p_sa_KeywordStats_customer_id
p_sa_KeywordConversionActionAndDeviceStats_customer_id
adGroupTargetlocation_viewp_sa_LocationDeviceStats_customer_id
p_sa_LocationConversionActionAndDeviceStats_customer_id
productAdvertisedshopping_performance_viewp_sa_ProductAdvertised_customer_id
p_sa_ProductAdvertisedConversionActionAndDeviceStats_customer_id
p_sa_ProductAdvertisedDeviceStats_customer_id
productGroupproduct_group_viewp_sa_ProductGroupStats_customer_id
p_sa_ProductGroup_customer_id
visitvisitp_sa_Visit_customer_id
adGroupTargetwebpage_viewp_sa_WebpageDeviceStats_customer_id
p_sa_WebpageConversionActionAndDeviceStats_customer_id

Field mapping

The BigQuery Data Transfer Service supports a subset of Search Ads 360 report fields as listed in Search Ads 360 report transformation. BigQuery does not support . in column names, so all transferred reports replace . with _. For example, the field ad_group_ad.ad.text_ad.description1 in a Search Ads 360 resource is transferred to BigQuery as ad_group_ad_ad_text_ad_description1.

ID mapping

Entities in the new Search Ads 360, such as customers, campaigns, and ad groups, have a different ID space than the old Search Ads 360. For more information about ID mapping tables for the new Search Ads 360, see ID mapping tables.

Examples of migrated queries

The following examples demonstrate how a BigQuery query might look before and after it is mapped to the new Search Ads 360 reporting API.

Consider the following example query that analyzes Search Ads campaign performance from the past 30 days using the old Search Ads 360 reporting API.

SELECT
  c.accountId,
  c.campaign,
  C.status,
  SUM(cs.impr) AS Impressions,
  SUM(cs.clicks) AS Clicks,
  (SUM(cs.cost) / 1000000) AS Cost
FROM
  `previous_dataset.Campaign_advertiser_id` c
LEFT JOIN
  `previous_dataset.CampaignStats_advertiser_id` cs
ON
  (c.campaignId = cs.campaignId
  AND cs._DATA_DATE BETWEEN
  DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY))
WHERE
  c._DATA_DATE = c._LATEST_DATE
GROUP BY
  1, 2, 3
ORDER BY
  Impressions DESC

When mapped to be compatible with the new Search Ads 360 reporting API, the same query is converted to the following:

SELECT
  c.customer_id,
  c.campaign_name,
  C.campaign_status,
  SUM(cs.metrics_impressions) AS Impressions,
  SUM(cs.metrics_clicks) AS Clicks,
  (SUM(cs.metrics_cost_micros) / 1000000) AS Cost
FROM
  `new_dataset.sa_Campaign_customer_id` c
LEFT JOIN
  `new_dataset.sa_CampaignStats_customer_id` cs
ON
  (c.campaign_id = cs.campaign_id
  AND cs._DATA_DATE BETWEEN
  DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY))
WHERE
  c._DATA_DATE = c._LATEST_DATE
GROUP BY
  1, 2, 3
ORDER BY
  Impressions DESC

For more examples of queries that are compatible with the new Search Ads 360, see Example queries.

What's next