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 报告如何转换为 BigQuery Data Transfer Service 表和视图,请参阅 Search Ads 360 报告转换

报告选项 支持
支持的 API 版本

v2

时间表

每天,自首次创建转移作业起(默认值)

您可以配置一天中的具体时间。

刷新时段

最近 7 天(默认值)

最多可配置 30 天

系统会每天截取一次匹配表的快照,并将其存储在最近一次运行日期的分区中。系统不会针对刷新时段所加载的回填或天数更新匹配表快照。如需了解刷新时段不会更新哪些匹配表,请参阅设置回填

回填时长上限

无限制

虽然 Search Ads 360 没有已知的数据保留限制,但 BigQuery Data Transfer Service 会限制一次回填中可以请求的天数。如需了解回填,请参阅设置回填

准备工作

在创建 Search Ads 360 转移作业之前,请先做好以下准备工作:

  • 确认您已完成启用 BigQuery Data Transfer Service 所需的所有操作。
  • 创建 BigQuery Data Transfer Service 数据集以存储 Search Ads 360 数据。
  • 如果您要使用经典版 BigQuery 网页界面创建转移作业,请允许来自 bigquery.cloud.google.com 的弹出式窗口,这样您才能看到权限窗口。您必须授予 BigQuery Data Transfer Service 管理您 Search Ads 360 广告系列的权限,才能成功完成转移。
  • 如果您要设置 Pub/Sub 的转移作业运行通知,必须拥有 pubsub.topics.setIamPolicy 权限。如果您只想设置电子邮件通知,则无需 Pub/Sub 权限。如需了解详情,请参阅 BigQuery Data Transfer Service 运行通知

所需权限

请确保创建转移作业的人员拥有以下必要权限:

  • BigQuery Data Transfer Service

    • 创建转移作业所需的 bigquery.transfers.update 权限
    • 针对目标数据集的 bigquery.datasets.update 权限

    预定义 Cloud IAM 角色 bigquery.admin 中包含 bigquery.transfers.updatebigquery.datasets.update 权限。如需详细了解 BigQuery Data Transfer Service 中的 Cloud IAM 角色,请参阅访问权限控制参考文档

  • Google Cloud

    • serviceusage.services.use 权限,可从项目的 Search Ads 360 下载数据

    预定义的 Cloud IAM 角色 editorownerserviceusage.serviceUsageConsumer 包含 serviceusage.services.use 权限。如需详细了解 Service Usage 中的 Cloud IAM 角色,请参阅访问权限控制参考文档

  • Google Search Ads 360:对转移作业配置中使用的 Google Search Ads 360 代理机构 ID 和广告客户 ID 的读取权限。如需了解详情,请参阅创建 Google 帐号并获取 SA360 权限

设置 Search Ads 360 数据转移作业

要为 Search Ads 360 报告设置数据转移作业,您需要:

要为 Search Ads 360 报告创建数据转移作业,请执行以下操作:

控制台

  1. 转到 Cloud Console。

    转到 Cloud Console

  2. 点击转移作业

  3. 点击创建转移作业

  4. 创建转移作业页面上:

    • 来源类型部分的来源中,选择 Search Ads 360(以前称为 DoubleClick Search)

      转移作业来源

    • 转移配置名称部分的显示名中,输入转移作业的名称,例如 My Transfer。转移作业名称可以是任何容易辨识的值,方便您以后在需要修改该作业时能轻松识别。

      转移作业名称

    • 时间表选项部分的时间表中,保留默认值(立即开始)或点击在设置的时间开始

      • 重复频率部分中,选择转移作业的运行频率选项。

        • 每日一次(默认值)
        • 每周一次
        • 每月一次
        • 自定义
        • 按需
      • 开始日期和运行时间部分,输入开始转移作业的日期和时间。如果您选择的是立即开始,则此选项会处于停用状态。

        转移作业时间表

    • 目标设置部分的目标数据集中,选择您创建的用来存储数据的数据集。

      转移作业数据集

    • 数据源详细信息部分,执行以下操作:

      • 代理机构 ID 部分,输入您的代理机构 ID。
      • 广告客户 ID 部分,输入您的广告客户 ID。
      • 选中包含已移除的项,以便将已移除的实体及指标包含在转移作业中。
      • (可选)对于 Table Filter,将此字段留空可加载所有表。如需仅导入部分支持的表的数据,请列出这些表的名称前缀,并以空白分隔。示例:Account AccountDeviceStats AccountFloodlightAndDeviceStats。如需查看所有受支持的表名称,请参阅 Search Ads 360 报告转换

        Search Ads 360 来源详细信息

      • (可选)对于 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",
            "bigquery_column_name": "custom_column_name_2"
          }]
          
        • 对于 JSON 列表中的每一项,请包含以下字段:
          • cfv_name 是您在 Campaign Manager 中创建自定义 Floodlight 变量时指定的“易记”名称。设置自定义维度和指标时,该易记名称也会显示在 Search Ads 360 界面中。
          • cfv_type 应为 metricdimension。具体取决于您在 Search Ads 360 界面中设置的自定义 Floodlight 变量。
          • campaign_manager_type 应为 numberstring。具体取决于您在 Search Ads 360 界面中设置自定义 Floodlight 变量。
          • destination_table_name 是您要添加自定义 Floodlight 变量的目标表的名称前缀。示例:AccountDeviceStats
          • bigquery_column_name 是此自定义 Floodlight 变量在 BigQuery Data Transfer Service 目标表中具有的列名。该列名必须遵循 [BigQuery Data Transfer Service 列名的格式要求] (https://cloud.google.com/bigquery/docs/schemas#column_names)。

        Search Ads 360 CFV 控制台

    • (可选)在通知选项部分,执行以下操作:

      • 点击切换开关以启用电子邮件通知。启用此选项后,转移作业管理员会在转移作业运行失败时收到电子邮件通知。
      • 选择 Pub/Sub 主题部分,选择您的主题名称,或点击创建主题。此选项用于为您的转移作业配置 Pub/Sub 运行通知
  5. 点击保存

经典版界面

  1. 转到经典版 BigQuery 网页界面。

    转到经典版 BigQuery 网页界面

  2. 点击 Transfers

  3. 点击 Add Transfer

  4. New Transfer 页面上,执行以下操作:

    • Source 部分,选择 Search Ads 360 (formerly DoubleClick Search)
    • Display name 部分,输入转移作业的名称,例如 My Transfer。转移作业名称可以是任何容易辨识的值,让您以后在需要修改时能够轻松识别。
    • Refresh window 部分中,输入数据转移作业要包含的天数。如果输入 1,则不会发生每日回填。如果输入 0,则将默认配置 7 天的刷新时段。最大值为 30 天。如需了解详情,请参阅确定数据的新鲜度

      转移作业的旧版名称

    • Schedule 部分中,保留默认值(自转移作业创建时间起每 24 小时),或点击 Edit 并更改时间。

      Search Ads 360 时间表

    • Destination settings 部分的 Destination dataset 中,选择您创建的用来存储数据的数据集。

      Search Ads 360 的旧版目标

    • Agency ID 部分,输入您的代理机构 ID。

    • Advertiser ID 部分,输入您的广告客户 ID。

    • 选中 include removed items,以便将已移除的实体及指标包含在转移作业中。

    • (可选)对于 Table Filter,将此字段留空可加载所有表。如需仅导入部分支持的表的数据,请列出这些表的名称前缀,并以空白分隔。示例:Account AccountDeviceStats AccountFloodlightAndDeviceStats。如需查看所有受支持的表名称,请参阅 Search Ads 360 报告转换

      Search Ads 360 的旧版来源详细信息

    • (可选)对于 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",
            "bigquery_column_name": "custom_column_name_2"
        }]
        
      • 对于 JSON 列表中的每一项,请包含以下字段:

        • cfv_name 是您在 Campaign Manager 中创建自定义 Floodlight 变量时指定的“易记”名称。设置自定义维度和指标时,该易记名称也会显示在 Search Ads 360 界面中。
        • cfv_type 应为 metricdimension。具体取决于您在 Search Ads 360 界面中设置的自定义 Floodlight 变量。
        • campaign_manager_type 应为 numberstring。具体取决于您在 Search Ads 360 界面中设置自定义 Floodlight 变量。
        • destination_table_name 是您要添加自定义 Floodlight 变量的目标表的名称前缀。示例:AccountDeviceStats
        • bigquery_column_name 是此自定义 Floodlight 变量在 BigQuery Data Transfer Service 目标表中具有的列名。该列名必须遵循 BigQuery Data Transfer Service 列名的格式要求

        Search Ads 360 的旧版 cfv

    • (可选)展开 Advanced 部分,并为转移作业配置运行通知

      • Pub/Sub topic 部分,输入您的主题名称,例如 projects/myproject/topics/mytopic
      • 勾选 Send email notifications,让系统在转移作业运行失败时发送电子邮件通知。
      • 设置转移作业时请勿勾选 Disabled。如需停用现有转移作业,请参阅处理转移作业

        Pub/Sub 主题

  5. 点击 Add

  6. 出现提示时,点击 Allow,授予 BigQuery Data Transfer Service 管理您 Search Ads 360 报告数据的权限以及在 BigQuery Data Transfer Service 中访问和管理数据的权限。您必须允许来自 bigquery.cloud.google.com 的弹出式窗口,才能看到权限窗口。

    允许转移

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_idagency_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 应为 metricdimension。具体取决于您在 Search Ads 360 界面中设置的自定义 Floodlight 变量。
        • campaign_manager_type 应为 numberstring。具体取决于您在 Search Ads 360 界面中设置自定义 Floodlight 变量。
        • destination_table_name 是您要添加自定义 Floodlight 变量的目标表的名称前缀。示例:AccountDeviceStats
        • bigquery_column_name 是此自定义 Floodlight 变量在 BigQuery Data Transfer Service 目标表中具有的列名。该列名必须遵循 BigQuery Data Transfer Service 列名的格式要求
    • (可选)将 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_items":"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 from project-B.data_set_b.table_name_b) b
      on a.item1 = b.item3
    

  • Search Ads 360 支持团队联系并申请更多配额。如需了解详情,请参阅申请更多配额