Search Ads 360 转移作业
借助适用于 Search Ads 360 的 BigQuery Data Transfer Service 连接器,您可以自动安排和管理 Search Ads 360 报告数据的周期性加载作业。
支持的报告
适用于 Search Ads 360 的 BigQuery Data Transfer Service 支持 Search Ads 360 Reporting API v0:
如需了解 Search Ads 360 报告如何转换为 BigQuery Data Transfer Service 表和视图,请参阅 Search Ads 360 报告转换。
报告选项 | 支持 |
---|---|
支持的 API 版本 | |
重复频率 | 每天在首次创建数据转移作业之时(默认值) 您可以配置一天中的具体时间。 |
刷新时段 | 最近 7 天(默认值) 最多可配置 30 天 系统会每天截取一次匹配表的快照,并将其存储在上一次运行日期对应的分区中。使用刷新窗口加载回填或天数时,匹配表快照不会更新。 |
回填时长上限 | 无限制 |
每个经理账号的客户 ID 数 | 2,000 对于每个 Search Ads 360 经理账号,BigQuery Data Transfer Service 最多支持 2,000 个客户 ID。 |
如需查看使用旧版 Search Ads 360 Reporting API 的 Search Ads 360 转移指南,请参阅 Search Ads 360 转移作业(已弃用)。
从 Search Ads 360 转移作业中提取数据
当您将数据从 Search Ads 360 转移到 BigQuery 时,系统会将数据加载到按日期分区的 BigQuery 表中。数据加载到的表分区对应于数据源中的日期。如果您在同一日期安排多次转移,BigQuery Data Transfer Service 会使用最新数据覆盖该特定日期的分区。同一天的多个转移作业或正在运行的回填不会导致重复数据,其他日期的分区不受影响。刷新时段
刷新时段是指发生数据转移时数据转移检索数据的天数。例如,如果刷新时段为三天,并且每天进行转移,则 BigQuery Data Transfer Service 会从过去三天内的源表中检索所有数据。在此示例中,当每天进行转移时,BigQuery Data Transfer Service 会使用当前日期的源表数据副本创建新的 BigQuery 目标表分区,然后自动触发回填运行作业,以使用过去两天的源表数据来更新 BigQuery 目标表分区。自动触发的回填运行作业会覆盖或以增量方式更新 BigQuery 目标表,具体取决于 BigQuery Data Transfer Service 连接器是否支持增量更新。
首次运行数据转移作业时,数据转移作业会检索刷新时段内可用的所有源数据。例如,如果刷新时段为三天,并且您首次运行数据传输作业,则 BigQuery Data Transfer Service 会检索三天内的所有源数据。
刷新时段会映射到 TransferConfig.data_refresh_window_days
API 字段。
如需检索刷新时段之外的数据(例如历史数据),或在出现任何转移中断或缺口时恢复数据,您可以启动或安排回填运行作业。
限制
- 您可以配置 Search Ads 360 数据转移作业的最大频率为每 24 小时一次。默认情况下,转移作业从创建转移作业时开始。不过,您可以在创建转移作业时配置数据转移作业开始时间。
- BigQuery Data Transfer Service 不支持在 Search Ads 360 转移期间执行增量数据转移。指定数据转移的日期时,系统会转移该日期的所有数据。
准备工作
在创建 Search Ads 360 数据转移作业之前,请先做好以下准备工作:
- 确认您已完成启用 BigQuery Data Transfer Service 所需的所有操作。
- 创建 BigQuery Data Transfer Service 数据集以存储 Search Ads 360 报告数据。
- 如果您要设置 Pub/Sub 的转移作业运行通知,必须拥有
pubsub.topics.setIamPolicy
权限。如果您只是要设置电子邮件通知,则无需 Pub/Sub 权限。如需了解详情,请参阅 BigQuery Data Transfer Service 运行通知。 - 启用对项目中 Search Ads 360 API 的访问权限。
所需权限
请确保创建数据转移作业的用户拥有以下所需权限:
BigQuery Data Transfer Service:
- 用于创建数据转移作业的
bigquery.transfers.update
权限。 - 目标数据集的
bigquery.datasets.get
和bigquery.datasets.update
权限。
预定义的 IAM 角色
bigquery.admin
包含bigquery.transfers.update
、bigquery.datasets.update
和bigquery.datasets.get
权限。如需详细了解 BigQuery Data Transfer Service 中的 IAM 角色,请参阅访问权限控制。- 用于创建数据转移作业的
Google Cloud:
- 项目的
serviceusage.services.use
权限,可从 Search Ads 360 下载数据。
预定义 IAM 角色
editor
、owner
和serviceusage.serviceUsageConsumer
包含serviceusage.services.use
权限。如需详细了解 Service Usage 中的 IAM 角色,请参阅访问权限控制参考文档。- 项目的
Search Ads 360:
- 对转移作业配置中使用的 Search Ads 360 客户 ID 或经理账号的读取权限。
创建 Search Ads 360 数据转移作业
如需为 Search Ads 360 报告创建数据转移作业,需要用到您的 Search Ads 360 客户 ID 或经理账号。 从下列选项中选择一项:
控制台
前往 Google Cloud 控制台中的“数据转移”页面。
点击
创建转移作业。在来源类型部分的来源字段中,选择 Search Ads 360。
在转移配置名称部分的显示名称中,输入数据转移作业的名称,例如
My Transfer
。转移作业名称可以是任何可让您在需要修改转移作业时识别该转移作业的名称。在时间表选项部分中,执行以下操作:
- 在重复频率部分,针对数据转移作业的运行频率选择一个选项。如果您选择天,请提供世界协调时间 (UTC) 的有效时间。
- 小时
- 天
- 按需
- 如果适用,请选择立即开始或在设置的时间开始,并提供开始日期和运行时间。
- 在重复频率部分,针对数据转移作业的运行频率选择一个选项。如果您选择天,请提供世界协调时间 (UTC) 的有效时间。
在目标设置部分的数据集字段中,选择您创建用来存储数据的数据集。
在数据源详细信息部分,执行以下操作:
在客户 ID 字段中,输入您的 Search Ads 360 客户 ID:
可选:输入代理机构 ID 和广告客户 ID,以检索 ID 映射表。
可选:在自定义 Floodlight 变量字段中,输入要包含在数据传输中的所有自定义 Floodlight 变量。自定义 Floodlight 变量必须归转移配置中客户 ID 指定的 Search Ads 360 账号所有。此参数接受 JSON 数组格式的字符串输入,可以支持多个自定义 Floodlight 变量。在 JSON 数组的每一项中,都必须提供以下参数:
id
:自定义 Floodlight 变量的数字 ID。当在 Search Ads 360 中创建自定义 Floodlight 变量时,系统会分配此 ID。如果您指定了id
,则不需要name
。name
:Search Ads 360 中用户定义的自定义 Floodlight 变量的名称。如果您指定了name
,则不需要id
。cfv_field_name
:确切的自定义 Floodlight 变量字段名称(基于您的用例)。支持的值为conversion_custom_metrics
、conversion_custom_dimensions
、raw_event_conversion_metrics
和raw_event_conversion_dimensions
。destination_table_name
:要在其中包含自定义 Floodlight 变量的 BigQuery 表列表。当 BigQuery Data Transfer Service 检索这些表的数据时,转移作业会在查询中包含自定义 Floodlight 变量。bigquery_column_name_suffix
:用户定义的易记列名称。BigQuery Data Transfer Service 会在标准字段名称后面附加后缀,以区分不同的自定义 Floodlight 变量。根据用例,BigQuery Data Transfer Service 会生成 BigQuery 列名称,如下所示:将自定义 Floodlight 变量作为指标和细分 将自定义 Floodlight 变量作为转化资源中的原始事件属性 metrics
metrics_conversion_custom_metrics_bigquery_column_name_suffix
metrics_raw_event_conversion_metrics_bigquery_column_name_suffix
dimension
segments_conversion_custom_dimensions_bigquery_column_name_suffix
segments_raw_event_conversion_dimensions_bigquery_column_name_suffix
下方是自定义 Floodlight 变量条目示例,其中指定了两个自定义 Floodlight 变量:
[{ "id": "1234", "cfv_field_name": "raw_event_conversion_metrics", "destination_table_name": ["Conversion"], "bigquery_column_name_suffix": "suffix1" },{ "name": "example name", "cfv_field_name": "conversion_custom_metrics", "destination_table_name": ["AdGroupConversionActionAndDeviceStats","CampaignConversionActionAndDeviceStats"], "bigquery_column_name_suffix": "suffix2" }]
可选:在自定义列字段中,输入要包含在数据传输中的所有自定义列。自定义列必须归转移配置中客户 ID 指定的 Search Ads 360 账号所有。此字段接受 JSON 数组格式的字符串输入,可以支持多个列。在 JSON 数组的每一项中,都必须提供以下参数:
id
:自定义列的数字 ID。此 ID 是在创建自定义列时分配的。如果您指定了id
,则不需要name
。name
:Search Ads 360 中用户定义的自定义列的名称。如果您指定了name
,则不需要id
。destination_table_name
:要在其中包含自定义列的 BigQuery 表的列表。当 BigQuery Data Transfer Service 检索这些表的数据时,转移作业会在查询中包含自定义列字段。bigquery_column_name
:用户定义的易记列名称。这是在destination_table_name
中指定的目标表中自定义列的字段名称。该列名必须遵循 BigQuery 列名的格式要求,并且对于表的标准架构或其他自定义列中的其他字段来说必须是唯一的。
以下自定义列条目示例指定了两个自定义列:
[{ "id": "1234", "destination_table_name": ["Conversion"], "bigquery_column_name": "column1" },{ "name": "example name", "destination_table_name": ["AdGroupStats","CampaignStats"], "bigquery_column_name": "column2" }]
可选:在表过滤条件字段中,输入要包含的表的逗号分隔列表,例如
Campaign, AdGroup
。为此列表添加-
字符作为前缀,以排除某些表,例如-Campaign, AdGroup
。默认情况下,所有表均包含在内。可选:对于刷新时段,请输入介于 1 到 30 之间的值。 如果未设置,刷新时段默认为 7 天。
在服务账号菜单中,从与您的 Google Cloud 项目关联的服务账号中选择一个服务账号。您可以将服务账号与转移作业相关联,而不是使用用户凭据。如需详细了解如何将服务账号用于数据转移,请参阅使用服务账号。
可选:在通知选项部分中,执行以下操作:
点击保存。
bq
输入 bq mk
命令并提供转移作业创建标志 --transfer_config
。此外,还必须提供以下标志:
--data_source
--target_dataset
--display_name
--params
以下标志是可选的:
--project_id
:指定要使用的项目。如果未指定此标志,则系统会使用默认项目。--service_account_name
:指定用于 Search Ads 360 转移作业身份验证的服务账号,而不是您的用户账号。
bq mk \ --transfer_config \ --project_id=PROJECT_ID \ --target_dataset=DATASET \ --display_name=NAME \ --data_source=DATA_SOURCE \ --service_account_name=SERVICE_ACCOUNT_NAME \ --params='{PARAMETERS,"custom_columns":"[{\"id\": \"CC_ID\",\"destination_table_name\": [\"CC_DESTINATION_TABLE\"],\"bigquery_column_name\": \"CC_COLUMN\"}]","custom_floodlight_variables":"[{\"id\": \"CFV_ID\",\"cfv_field_name\": [\"CFV_FIELD_NAME\"],\"destination_table_name\": [\"CFV_DESTINATION_TABLE\"],\"bigquery_column_name_suffix\": \"CFV_COLUMN_SUFFIX\"}]"}'
其中:
- PROJECT_ID(可选):指定要使用的项目。如果未指定此标志,则系统会使用默认项目。
- DATASET:转移作业配置的目标数据集。
NAME:转移作业配置的显示名。 数据转移作业名称可以是任何可让您以后需要修改转移作业时识别该转移作业的值。
DATA_SOURCE:数据源,
search_ads
。SERVICE_ACCOUNT_NAME(可选):用于对数据转移作业进行身份验证的服务账号名称。该服务账号应属于用于创建转移作业的同一
project_id
,并且应具有所有所需的权限。PARAMETERS:所创建转移作业配置的参数(采用 JSON 格式)。例如
--params='{"param":"param_value"}'
。您必须提供customer_id
参数。table_filter
:指定要包含在数据转移作业中的表。如果未指定此标志,则包含所有表。如需仅包含特定表,请使用逗号分隔的值列表(例如Ad, Campaign, AdGroup
)。如需排除特定表,请在要排除的值的前面加上连字符 (-
),例如使用-Ad, Campaign, AdGroup
会排除所有三个值。custom_columns
:为报告指定自定义列。此参数接受 JSON 数组格式的字符串输入,可以支持多个列。在 JSON 数组的每一项中,都必须提供以下参数:- CC_ID:自定义列的数字 ID。此 ID 是在创建自定义列时分配的。
- CC_DESTINATION_TABLE:要在其中包含自定义列的 BigQuery 表的列表。当 BigQuery Data Transfer Service 检索这些表的数据时,数据传输会在查询中包含自定义列字段。
- CC_COLUMN:用户定义的易记列名称。这是在
destination_table_name
中指定的目标表中自定义列的字段名称。该列名必须遵循 BigQuery 列名的格式要求,并且对于表的标准架构或其他自定义列中的其他字段来说必须是唯一的。
custom_floodlight_variables
:在转移作业中指定自定义 Floodlight 变量。此参数接受 JSON 数组格式的字符串输入,可以支持多个自定义 Floodlight 变量。在 JSON 数组的每一项中,都必须提供以下参数:- CFV_ID:自定义 Floodlight 变量的数字 ID。当在 Search Ads 360 中创建自定义 Floodlight 变量时,系统会分配此 ID。
- CFV_FIELD_NAME:确切的自定义 Floodlight 变量字段名称(基于您的用例)。支持的值为
conversion_custom_metrics
、conversion_custom_dimensions
、raw_event_conversion_metrics
和raw_event_conversion_dimensions
。如需了解详情,请参阅自定义 Floodlight 指标。 - CFV_DESTINATION_TABLE:要在其中包含自定义 Floodlight 变量的 BigQuery 表列表。当 BigQuery Data Transfer Service 检索这些表的数据时,数据传输会在查询中包含自定义 Floodlight 变量。
- CFV_COLUMN_SUFFIX:用户定义的易记列名称。BigQuery Data Transfer Service 会在标准字段名称后面附加后缀,以区分不同的自定义 Floodlight 变量。根据用例,BigQuery Data Transfer Service 会生成 BigQuery 列名称,如下所示:
将自定义 Floodlight 变量作为指标和细分 将自定义 Floodlight 变量作为转化资源中的原始事件属性 metrics
metrics_conversion_custom_metrics_bigquery_column_name_suffix
metrics_raw_event_conversion_metrics_bigquery_column_name_suffix
dimension
segments_conversion_custom_dimensions_bigquery_column_name_suffix
segments_raw_event_conversion_dimensions_bigquery_column_name_suffix
例如,以下命令使用客户 ID 6828088731
和目标数据集 mydataset
创建名为 My Transfer
的 Search Ads 360 数据转移作业。转移作业还指定了自定义 Floodlight 变量。该数据转移作业将在默认项目中创建:
bq mk \ --transfer_config \ --target_dataset=mydataset \ --display_name='My Transfer' \ --data_source=search_ads \ --params='{"customer_id":"6828088731", "custom_floodlight_variables":"[{\"id\": \"9876\", \"cfv_field_name\": \"raw_event_conversion_metrics\", \"destination_table_name\": [\"Conversion\"],\"bigquery_column_name_suffix\": \"suffix1\" }]"}'
首次运行此命令时,您会收到如下消息:
[URL omitted] Please copy and paste the above URL into your web browser and
follow the instructions to retrieve an authentication code.
请按照该消息中的说明操作,并将身份验证代码粘贴到命令行中。
API
使用 projects.locations.transferConfigs.create
方法并提供一个 TransferConfig
资源实例。
手动触发 Search Ads 360 转移作业
如果您手动触发 Search Ads 360 转移作业,系统会每天截取一次匹配表的快照,并将其存储在与上一次运行日期对应的分区中。触发手动转移作业时,以下表的匹配表快照不会更新:
- 账号
- 广告
- AdGroup
- AdGroupCriterion
- 任何 ID 映射表
- 素材资源
- BidStrategy
- 宣传活动
- CampaignCriterion
- ConversionAction
- 关键字
- NegativeAdGroupKeyword
- NegativeAdGroupCriterion
- NegativeCampaignKeyword
- NegativeCampaignCriterion
- ProductGroup
Search Ads 360 经理账号支持
与使用各个客户 ID 相比,使用 Search Ads 360 经理账号具有多项优势:
- 您无需管理多个数据传输作业,即可针对多个客户 ID 生成报告。
- 跨客户查询的编写方式更简单,因为所有客户 ID 都存储在同一个表中。
- 使用经理账号可以缓解 BigQuery Data Transfer Service 加载配额问题,因为多个客户 ID 将加载到同一作业中。
对于拥有多个特定于客户 ID 的 Search Ads 360 数据转移作业的现有客户,我们建议您改用 Search Ads 360 经理账号。为此,您可以按以下步骤操作:
如需详细了解 Search Ads 360 经理账号,请参阅新版 Search Ads 360 中的经理账号简介以及了解账号如何与经理账号相关联。
示例
以下列表显示了与特定 Search Ads 360 经理账号相关联的客户 ID:
- 1234567890 - root 经理账号
- 1234 - 子级经理账号
- 1111 - 客户 ID
- 2222 - 客户 ID
- 3333 - 客户 ID
- 4444 - 客户 ID
- 567 - 子级经理账号
- 5555 - 客户 ID
- 6666 - 客户 ID
- 7777 - 客户 ID
- 89 - 子级经理账号
- 8888 - 客户 ID
- 9999 - 客户 ID
- 0000 - 客户 ID
- 1234 - 子级经理账号
每份报告都会显示与某一经理账号关联的各客户 ID。如需详细了解 BigQuery Data Transfer Service 中的 Search Ads 360 报告结构,请参阅 Search Ads 360 报告转换。
客户 ID 1234567890 对应的转移配置
root 经理账号(客户 ID 1234567890)的转移作业配置会生成包含以下客户 ID 的数据转移作业运行:
- 1111(通过子经理账号 1234)
- 2222(通过子经理账号 1234)
- 3333(通过子经理账号 1234)
- 4444(通过子级经理账号 1234)
- 5555(通过子经理账号 567 和子经理账号 1234)
- 6666(通过子经理账号 567 和子经理账号 1234)
- 7777(通过子经理账号 567 和子经理账号 1234)
- 8888(通过子级经理账号 89)
- 9999(通过子级经理账号 89)
- 0000(个别客户 ID)
客户 ID 1234 对应的转移配置
子级经理账号 123(客户 ID 1234)对应的转移配置会生成包含以下客户 ID 的数据转移作业运行:
- 1111
- 2222
- 3333
- 4444
- 5555(通过子经理账号 567)
- 6666(通过子经理账号 567)
- 7777(通过子经理账号 567)
客户 ID 567 对应的转移配置
子级经理账号 567(客户 ID 567)对应的转移配置生成包含以下客户 ID 的数据转移作业运行:
- 5555
- 6666
- 7777
客户 ID 89 对应的转移配置
子级经理账号 89(客户 ID 89)的转移作业配置会生成包含以下客户 ID 的数据转移作业运行:
- 8888
- 9999
客户 ID 0000 对应的传输配置
客户 ID 0000 的转移作业配置会生成仅包含个别客户 ID 的数据转移作业运行:
- 0000
查询数据
当数据转移到 BigQuery Data Transfer Service 时,系统会将其写入注入时间分区表。如需了解详情,请参阅分区表简介。
如果您要直接查询表,而不是使用自动生成的视图,则必须在查询中使用 _PARTITIONTIME
伪列。如需了解详情,请参阅查询分区表。
Search Ads 360 示例查询
您可以使用以下 Search Ads 360 示例查询来分析转移的数据。您还可以在 Looker Studio 等可视化工具中查看查询。
以下查询是使用 BigQuery Data Transfer Service 查询 Search Ads 360 数据的入门示例。如果您对这些报告的功能有其他问题,请联系您的 Search Ads 360 技术代表。
如果您要直接查询表,而不是使用自动生成的视图,则必须在查询中使用 _PARTITIONTIME
伪列。如需了解详情,请参阅查询分区表。
广告系列效果
以下示例查询分析了过去 30 天内 Search Ads 360 广告系列的效果。
SELECT c.customer_id, c.campaign_name, c.campaign_status, SUM(cs.metrics_clicks) AS Clicks, (SUM(cs.metrics_cost_micros) / 1000000) AS Cost, SUM(cs.metrics_impressions) AS Impressions FROM `DATASET.sa_Campaign_CUSTOMER_ID` c LEFT JOIN `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
替换以下内容:
DATASET
:数据集的名称CUSTOMER_ID
:Search Ads 360 客户 ID
关键字计数
以下示例查询按广告系列、广告组和关键字状态分析关键字。
SELECT c.campaign_status AS CampaignStatus, a.ad_group_status AS AdGroupStatus, k.ad_group_criterion_status AS KeywordStatus, k.ad_group_criterion_keyword_match_type AS KeywordMatchType, COUNT(*) AS count FROM `DATASET.sa_Keyword_CUSTOMER_ID` k JOIN `DATASET.sa_Campaign_CUSTOMER_ID` c ON (k.campaign_id = c.campaign_id AND k._DATA_DATE = c._DATA_DATE) JOIN `DATASET.sa_AdGroup_CUSTOMER_ID` a ON (k.ad_group_id = a.ad_group_id AND k._DATA_DATE = a._DATA_DATE) WHERE k._DATA_DATE = k._LATEST_DATE GROUP BY 1, 2, 3, 4
替换以下内容:
DATASET
:数据集的名称CUSTOMER_ID
:Search Ads 360 客户 ID
ID 映射表
新版 Search Ads 360 中的实体(例如客户、广告系列和广告组)的 ID 空间与旧版 Search Ads 360 不同。对于希望将旧版 Search Ads 360 中的数据与新版 Search Ads 360 API 合并的现有 Search Ads 360 转移用户,如果您在转移作业配置中提供了有效的代理机构 ID 和广告客户 ID,则可以使用 BigQuery Data Transfer Service 来转移 ID 映射表。
支持的实体包含 legacy_id
和 new_id
这两个列,它们分别指定旧版和新版 Search Ads 360 中的实体的 ID 映射。
对于 AD、CAMPAIGN_CRITERION 和 CRITERION 实体,还会提供 new_secondary_id
,因为这些实体在新版 Search Ads 360 中没有全局唯一 ID。下面列出了 ID 映射表。
- IdMapping_AD
- IdMapping_AD_GROUP
- IdMapping_CAMPAIGN
- IdMapping_CAMPAIGN_CRITERION
- IdMapping_CAMPAIGN_GROUP
- IdMapping_CAMPAIGN_GROUP_PERFORMANCE_TARGET
- IdMapping_CRITERION
- IdMapping_CUSTOMER
- IdMapping_FEED_ITEM
- IdMapping_FEED_TABLE
示例查询
以下查询利用 ID 映射表将旧版和新版 Search Ads 360 数据传输作业中各个表的每个广告系列指标在新 ID 空间下汇总到一起。
SELECT CustomerID, CampaignID, Sum(Clicks), Sum(Cost) FROM (SELECT cs.customer_id AS CustomerID, cs.campaign_id AS CampaignID, cs.metrics_clicks AS Clicks, cs.metrics_cost_micros / 1000000 AS Cost FROM `DATASET.sa_CampaignStats_CUSTOMER_ID` cs WHERE cs._DATA_DATE = 'NEW_DATA_DATE' UNION ALL SELECT customer_id_mapping.new_id AS CustomerID, campaign_id_mapping.new_id AS CampaignID, cs.clicks AS Clicks, cs.cost AS Cost FROM `DATASET.CampaignStats_ADVERTISER_ID` cs LEFT JOIN `DATASET.IdMapping_CUSTOMER_ADVERTISER_ID` customer_id_mapping ON cs.accountId = customer_id_mapping.legacy_id LEFT JOIN `DATASET.IdMapping_CAMPAIGN_ADVERTISER_ID` campaign_id_mapping ON cs.campaignId = campaign_id_mapping.legacy_id WHERE cs._DATA_DATE = 'OLD_DATA_DATE') GROUP BY 1, 2 ORDER BY 1, 2
替换以下内容:
DATASET
:数据集的名称CUSTOMER_ID
:Search Ads 360 客户 IDADVERTISER_ID
:Search Ads 360 广告客户 IDNEW_DATA_DATE
:新版 Search Ads 360 表的数据日期OLD_DATA_DATE
:旧版 Search Ads 360 表的数据日期
以下查询利用 ID 映射表将旧版和新版 Search Ads 360 数据传输作业中各个表的每个广告系列指标在旧 ID 空间下汇总到一起。
SELECT CustomerID, CampaignID, Sum(Clicks), Sum(Cost) FROM (SELECT customer_id_mapping.legacy_id AS CustomerID, campaign_id_mapping.legacy_id AS CampaignID, cs.metrics_clicks AS Clicks, cs.metrics_cost_micros / 1000000 AS Cost FROM `DATASET.sa_CampaignStats_CUSTOMER_ID` cs LEFT JOIN `DATASET.IdMapping_CUSTOMER_ADVERTISER_ID` customer_id_mapping ON cs.customer_id = customer_id_mapping.new_id LEFT JOIN `DATASET.IdMapping_CAMPAIGN_ADVERTISER_ID` campaign_id_mapping ON cs.campaign_id = campaign_id_mapping.new_id WHERE cs._DATA_DATE = 'NEW_DATA_DATE' UNION ALL SELECT CAST(accountId AS INT) AS CustomerID, CAST(campaignId AS INT) AS CampaignID, cs.clicks AS Clicks, cs.cost AS Cost FROM `DATASET.CampaignStats_ADVERTISER_ID` cs WHERE cs._DATA_DATE = 'OLD_DATA_DATE') GROUP BY 1, 2 ORDER BY 1, 2
替换以下内容:
DATASET
:数据集的名称CUSTOMER_ID
:Search Ads 360 客户 IDADVERTISER_ID
:Search Ads 360 广告客户 IDNEW_DATA_DATE
:新版 Search Ads 360 表的数据日期OLD_DATA_DATE
:旧版 Search Ads 360 表的数据日期
潜在的配额问题
Search Ads 360 Reporting API 分配了一个 Google 项目可发送的请求数量的每日配额。如果您使用的项目同时用于 BigQuery Data Transfer Service 和其他服务,则所有服务共享相同的配额,并且可能会在任何服务中达到配额上限。
为了避免这一潜在问题并且不影响现有工作流,请考虑以下选项:
为 BigQuery Data Transfer Service 设置单独的项目。 跨项目表联接可能如下所示:
#standardSQL select count(a.item1) from (select item1, item2 from
project-A.data_set_a.table_name_a
) a inner join (select item3, item4 fromproject-B.data_set_b.table_name_b
) b on a.item1 = b.item3与 Search Ads 360 支持团队联系并申请更多配额。