Search Ads 360 转移作业
借助适用于 Search Ads 360(以前称为 DoubleClick Search)的 BigQuery Data Transfer Service,您可以自动安排和管理用于 Search Ads 360 报告数据的周期性加载作业。
支持的报告
适用于 Search Ads 360 的 BigQuery Data Transfer Service 目前支持以下报告选项:
- Search Ads 360 account 报告
- Search Ads 360 ad 报告
- Search Ads 360 advertiser 报告
- Search Ads 360 adGroup 报告
- Search Ads 360 adGroupTarget 报告
- Search Ads 360 bidStrategy 报告
- Search Ads 360 campaign 报告
- Search Ads 360 campaignTarget 报告
- Search Ads 360 conversion 报告
- Search Ads 360 feedItem 报告
- Search Ads 360 floodlightActivity 报告
- Search Ads 360 keyword 报告
- Search Ads 360 negativeAdGroupKeyword 报告
- Search Ads 360 negativeAdGroupTarget 报告
- Search Ads 360 negativeCampaignKeyword 报告
- Search Ads 360 negativeCampaignTarget 报告
- Search Ads 360 productAdvertised 报告
- Search Ads 360 productGroup 报告
- Search Ads 360 productLeadAndCrossSell 报告
- Search Ads 360 visit 报告
如需了解 Search Ads 360 报告如何转换为 BigQuery Data Transfer Service 表和视图,请参阅 Search Ads 360 报告转换。
报告选项 | 支持 |
---|---|
支持的 API 版本 | |
时间表 | 每天,自首次创建转移作业起(默认值) 您可以配置一天中的具体时间。 |
刷新时段 | 最近 7 天(默认值) 最多可配置 30 天 系统会每天获取一次匹配表的快照,并将其存储在与最近运行日期对应的分区中。系统不会针对刷新时段所加载的回填或天数更新匹配表快照。如需了解刷新时段不会更新哪些匹配表,请参阅设置回填。 |
回填时长上限 | 无限制 虽然 Search Ads 360 没有已知的数据保留限制,但 BigQuery Data Transfer Service 会限制一次回填中可以请求的天数。如需了解回填,请参阅设置回填。 |
准备工作
在创建 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 下载数据
editor
、owner
和serviceusage.serviceUsageConsumer
预定义 IAM 角色包含serviceusage.services.use
权限。如需详细了解 Service Usage 中的 IAM 角色,请参阅访问权限控制参考文档。Google Search Ads 360:对转移作业配置中使用的 Google Search Ads 360 代理机构 ID 和广告客户 ID 的读取权限。如需了解详情,请参阅创建 Google 帐号并获取 SA360 权限。
设置 Search Ads 360 数据转移作业
要为 Search Ads 360 报告设置数据转移作业,您需要:
- 代理机构 ID:您的 Google Search Ads 360 代理机构 ID。如需了解如何检索您的 Search Ads 360 代理机构 ID,请参阅创建 Google 帐号并获取 SA360 权限。
- 广告客户 ID:您的 Google Search Ads 360 广告客户 ID。如需了解如何检索您的 Search Ads 360 广告客户 ID,请参阅创建 Google 帐号并获取 SA360 权限。
要为 Search Ads 360 报告创建数据转移作业,请执行以下操作:
控制台
转到控制台中的 BigQuery 页面。
点击转移。
点击创建转移作业。
在创建转移作业页面上:
在来源类型部分的来源中,选择 Search Ads 360(以前称为 DoubleClick Search)。
在转移配置名称部分的显示名中,输入转移作业的名称,例如
My Transfer
。转移作业名称可以是任何容易辨识的值,方便您以后在需要修改该作业时能轻松识别。在时间表选项部分的时间表中,保留默认值(立即开始)或点击在设置的时间开始。
在重复频率部分中,选择转移作业的运行频率选项。
- 每日一次(默认值)
- 每周一次
- 每月一次
- 自定义
- 按需
在开始日期和运行时间部分,输入开始转移作业的日期和时间。如果您选择的是立即开始,则此选项会处于停用状态。
在目标设置部分的目标数据集中,选择您创建的用来存储数据的数据集。
在数据源详细信息部分,执行以下操作:
- 在代理机构 ID 部分,输入您的代理机构 ID。
- 在广告客户 ID 部分,输入您的广告客户 ID。
- 选中包含已移除的项,以便将已移除的实体及指标包含在转移作业中。
(可选)对于表过滤条件 (Table Filter),将此字段留空可加载所有表。如需仅导入部分支持的表的数据,请列出这些表的名称前缀,并以空白分隔。示例:
Account AccountDeviceStats AccountFloodlightAndDeviceStats
。如需查看所有受支持的表名称,请参阅 Search Ads 360 报告转换。(可选)对于自定义 Floodlight 变量 (Custom Floodlight Variables),将此字段留空,可仅导入 Search Ads 360 报告转换中预定义的列。
如需导入您在 Search Ads 360 中创建的自定义 Floodlight 变量,请以 JSON 格式命名这些字段,如以下示例所示:[{ "cfv_name": "variable_name", "cfv_type": "metric or dimension", "campaign_manager_type": "number or string", "destination_table_name": "table_name", "bigquery_column_name": "custom_column_name" },{ "cfv_name": "variable_name_2", "cfv_type": "metric or dimension", "campaign_manager_type": "number or string", "destination_table_name": ["table_name_2","table_name_3"], "bigquery_column_name": "custom_column_name_2" }]
- 对于 JSON 列表中的每一项,请包含以下字段:
- cfv_name 是您在 Campaign Manager 中创建自定义 Floodlight 变量时指定的“易记”名称。设置自定义维度和指标时,该易记名称也会显示在 Search Ads 360 界面中。
- cfv_type 应为 metric 或 dimension。具体取决于您在 Search Ads 360 界面中设置的自定义 Floodlight 变量。
- campaign_manager_type 应为 number 或 string。具体取决于您在 Search Ads 360 界面中设置自定义 Floodlight 变量。
- destination_table_name 是您要为其添加自定义 Floodlight 变量的目标表的名称前缀或名称前缀列表。示例:
AccountDeviceStats
、[AdDeviceStats,CampaignFloodtlightAndDeviceStats]
。 - bigquery_column_name 是此自定义 Floodlight 变量在 BigQuery 目标表中具有的列名。该列名必须遵循 BigQuery 列名的格式要求。
(可选)在通知选项部分,执行以下操作:
点击保存。
bq
输入 bq mk
命令并提供转移作业创建标志 --transfer_config
。此外,还必须提供以下标志:
--data_source
--target_dataset
--display_name
--params
您还可以提供 --project_id
标志以指定具体项目。如果未指定 --project_id
,系统会使用默认项目。
bq mk \ --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source
其中:
- project_id 是项目 ID。
- dataset 是转移作业配置的目标数据集。
- name 是转移作业配置的显示名。转移作业名称可以是任何容易辨识的值,让您以后在需要修改时能够轻松识别。
parameters 包含所创建转移作业配置的参数(采用 JSON 格式),例如
--params='{"param":"param_value"}'
。对于 Search Ads 360,您必须提供advertiser_id
和agency_id
参数。您可以选择性地设置以下参数:- (可选)设置
table_filter
以仅导入部分支持的表的数据,列出这些表的名称前缀,并以空白分隔。示例:Account AccountDeviceStats AccountFloodlightAndDeviceStats
。如需查看所有受支持的表名称,请参阅 Search Ads 360 报告转换。 - (可选)设置
custom_floodlight_variables
以导入您在 Search Ads 360 中创建的自定义 Floodlight 变量,并以 JSON 格式命名这些字段,如以下示例所示:[{ "cfv_name": "variable_name", "cfv_type": "metric or dimension", "campaign_manager_type": "number or string", "destination_table_name": "table_name", "bigquery_column_name": "custom_column_name" },{ "cfv_name": "variable_name_2", "cfv_type": "metric or dimension", "campaign_manager_type": "number or string", "destination_table_name": "table_name_2", "bigquery_column_name": "custom_column_name_2" }]
- 对于 JSON 列表中的每一项,请包含以下字段:
- cfv_name 是您在 Campaign Manager 中创建自定义 Floodlight 变量时指定的“易记”名称。设置自定义维度和指标时,该易记名称也会显示在 Search Ads 360 界面中。
- cfv_type 应为 metric 或 dimension。具体取决于您在 Search Ads 360 界面中设置的自定义 Floodlight 变量。
- campaign_manager_type 应为 number 或 string。具体取决于您在 Search Ads 360 界面中设置自定义 Floodlight 变量。
- destination_table_name 是您要添加自定义 Floodlight 变量的目标表的名称前缀。示例:
AccountDeviceStats
。 - bigquery_column_name 是此自定义 Floodlight 变量在 BigQuery 目标表中具有的列名。该列名必须遵循 BigQuery 列名的格式要求。
- (可选)将
include_removed_entities
设置为 true,可在转移作业中包含已移除的实体及指标。
- (可选)设置
data_source 是数据源,即
doubleclick_search
。
例如,以下命令使用广告客户 ID 123
、代理机构 ID 123
和目标数据集 mydataset
创建名为 My Transfer
的 Search Ads 转移作业。该转移作业将在默认项目中创建:
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"agency_id":"123", "advertiser_id":"123","include_removed_entities":"true"}' \
--data_source=doubleclick_search
首次运行此命令时,您会收到如下消息:
[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 转移作业设置问题
如果您在设置转移作业时遇到问题,请参阅排查 BigQuery Data Transfer Service 转移作业设置问题。
查询数据
当数据转移到 BigQuery Data Transfer Service 时,系统会将其写入提取时间分区表。如需了解详情,请参阅分区表简介。
如果您要直接查询表,而不是使用自动生成的视图,那么必须在查询中使用 _PARTITIONTIME
伪列。如需了解详情,请参阅查询分区表。
潜在的配额问题
Google Search Ads 360 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 支持团队联系并申请更多配额。如需了解详情,请参阅申请更多配额。