検索広告 360 の転送

検索広告 360(旧称 Doubleclick Search)用 BigQuery Data Transfer Service を使用すると、検索広告 360 レポートデータの定期的な読み込みジョブを自動的にスケジュールし、管理できます。

サポートされるレポート

検索広告 360 用 BigQuery Data Transfer Service では現在、次のレポート オプションがサポートされています。

検索広告 360 レポートが BigQuery Data Transfer Service のテーブルとビューに変換される仕組みについては、検索広告 360 レポートの変換をご覧ください。

レポート オプション サポート
サポートされている API バージョン

v2

スケジュール

毎日、転送が最初に作成される時刻(デフォルト)

時刻を設定できます。

ウィンドウの更新

過去 7 日間(デフォルト)

構成可能(最大 30 日)

マッチテーブルのスナップショットは 1 日に 1 回取得され、最新の実行日付のパーティションに保存されます。マッチテーブルのスナップショットは、バックフィルや、リフレッシュ ウィンドウによって読み込まれた日には更新されません。リフレッシュ ウィンドウでどのマッチテーブルが更新されないかについては、バックフィルの設定をご覧ください。

最大バックフィル期間

上限なし

検索広告 360 にはデータ保持期間の上限はありませんが、BigQuery Data Transfer Service には、1 回のバックフィルでリクエストできる日数に上制限があります。バックフィルについては、バックフィルの設定をご覧ください。

始める前に

検索広告 360 の転送を作成する前に、以下の作業を完了しておきます。

必要な権限

転送を作成するユーザーに、次の必要な権限が付与されていることを確認します。

  • BigQuery Data Transfer Service:

    • bigquery.transfers.update(転送を作成する権限)
    • bigquery.datasets.update(抽出先データセットに対する権限)

    bigquery.transfers.update 権限と bigquery.datasets.update 権限は IAM 事前定義ロール bigquery.admin に含まれています。BigQuery Data Transfer Service での IAM ロールの詳細については、アクセス制御のリファレンスをご覧ください。

  • Google Cloud:

    • プロジェクトに対して検索広告 360 からデータをダウンロードするための serviceusage.services.use 権限

    IAM 事前定義ロール editorownerserviceusage.serviceUsageConsumer には serviceusage.services.use 権限が含まれています。Service Usage の IAM ロールの詳細については、アクセス制御のリファレンスをご覧ください。

  • Google 検索広告 360: 転送構成で使用されている Google 検索広告 360 の代理店 ID と広告主 ID に対する読み取りアクセス権。詳細については、Google アカウントの作成と SA360 の権限の取得をご覧ください。

検索広告 360 のデータ転送を設定する

検索広告 360 レポートのデータ転送を設定するには、以下が必要です。

検索広告 360 レポートのデータ転送を作成するには:

Console

  1. Cloud Console の BigQuery ページに移動します。

    [BigQuery] ページに移動

  2. [転送] をクリックします。

  3. [転送を作成] をクリックします。

  4. [転送の作成] ページで、次の操作を行います。

    • [ソースタイプ] セクションの [ソース] で、[検索広告 360(旧称: Doubleclick Search)] を選択します。

      転送のソース

    • [転送構成名] セクションの [表示名] に、転送名(例: My Transfer)を入力します。転送名には、後で修正が必要になった場合に簡単に識別できる任意の名前を使用できます。

      転送名

    • [スケジュール オプション] セクションで、[スケジュール] をデフォルト値([すぐに開始可能])のままにするか、[設定した時間に開始] をクリックします。

      • [繰り返しの頻度] で、転送を実行する頻度のオプションを選択します。

        • 毎日(デフォルト)
        • 毎週
        • 毎月
        • カスタム
        • オンデマンド
      • [開始日と実行時間] に、転送を開始する日付と時刻を入力します。[すぐに開始可能] を選択した場合、このオプションは無効になります。

        転送スケジュール

    • [転送先の設定] セクションの [宛先データセット] で、データを保存するために作成したデータセットを選択します。

      転送データセット

    • [データソースの詳細] セクションで、次の操作を行います。

      • [代理店 ID] に代理店 ID を入力します。
      • [広告主 ID] に広告主 ID を入力します。
      • 削除されたエンティティと指標を転送対象として含めるには [include removed items] チェックボックスをオンにします。
      • (省略可)すべてのテーブルを読み込む場合は、[表のフィルタ] フィールドを空白のままにします。サポートされる一部のテーブルのデータだけをインポートするには、対象とするテーブル名のプレフィックスを空白文字で区切ってリストします(例: Account AccountDeviceStats AccountFloodlightAndDeviceStats)。サポートされているすべてのテーブル名については、検索広告 360 レポートの変換をご覧ください。

        検索広告 360 のソースの詳細

      • (省略可)検索広告 360 レポートの変換で事前定義されている列だけをインポートする場合は、[カスタム Floodlight 変数] フィールドを空白のままにします。
        検索広告 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 は、キャンペーン マネージャーカスタム Floodlight 変数を作成する際に指定した「わかりやすい」名前です。カスタムのディメンションと指標を設定するときにも、このわかりやすい名前が検索広告 360 の UI に表示されます。
          • cfv_type には、指標またはディメンションのいずれかを指定する必要があります。検索広告 360 の UI でカスタム Floodlight 変数を設定した方法に合わせてください。
          • campaign_manager_type には、数値または文字列のいずれかを指定する必要があります。検索広告 360 の UI でカスタム Floodlight 変数を設定した方法に合わせてください。
          • destination_table_name は、カスタム Floodlight 変数の追加先とする宛先テーブル名の接頭辞です(例: AccountDeviceStats)。
          • bigquery_column_name は、BigQuery Data Transfer Service の宛先テーブルでこのカスタム Floodlight 変数に使用する列名です。列名は、「BigQuery Data Transfer Service の列名の形式要件」(https://cloud.google.com/bigquery/docs/schemas#column_names)を満たす必要があります。

        検索広告 360 の CFV コンソール

    • (省略可)[通知オプション] セクションで、次の操作を行います。

      • 切り替えボタンをクリックしてメール通知を有効にします。このオプションを有効にすると、転送の実行が失敗した場合、転送管理者にメール通知が送信されます。
      • [Pub/Sub トピックを選択してください] で、トピック名を選択するか、[トピックを作成する] をクリックします。このオプションで、Pub/Sub の転送実行通知を構成します。
  5. [保存] をクリックします。

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"}'。検索広告 360 では、advertiser_id パラメータと agency_id パラメータを指定する必要があります。必要に応じて、次のパラメータを設定できます。

    • (省略可)サポートされている一部のテーブルのデータだけをインポートするには table_filter を設定し、対象とするテーブル名の接頭辞を空白文字で区切ってリストします(例: Account AccountDeviceStats AccountFloodlightAndDeviceStats)。サポートされているすべてのテーブル名については、検索広告 360 レポートの変換をご覧ください。
    • (省略可)検索広告 360 で作成したカスタム Floodlight 変数をインポートするには custom_floodlight_variables を設定し、対象とするフィールド名を 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 は、キャンペーン マネージャーカスタム Floodlight 変数を作成する際に指定した「わかりやすい」名前です。カスタムのディメンションと指標を設定するときにも、このわかりやすい名前が検索広告 360 の UI に表示されます。
        • cfv_type には、指標またはディメンションのいずれかを指定する必要があります。検索広告 360 の UI でカスタム Floodlight 変数を設定した方法に合わせてください。
        • campaign_manager_type には、数値または文字列のいずれかを指定する必要があります。検索広告 360 の UI でカスタム Floodlight 変数を設定した方法に合わせてください。
        • destination_table_name は、カスタム Floodlight 変数の追加先とする宛先テーブル名の接頭辞です(例: AccountDeviceStats)。
        • bigquery_column_name は、BigQuery Data Transfer Service の宛先テーブルでこのカスタム Floodlight 変数に使用する列名です。列名は、BigQuery Data Transfer Service の列名の形式要件を満たす必要があります。
    • (省略可)削除されたエンティティと指標を転送対象として含めるには、include_removed_entities を設定します。
  • data_source は、データソース(doubleclick_search)です。

たとえば、次のコマンドは、広告主 ID 123、代理店 ID 123、ターゲット データセット mydataset を使用して、My Transfer という名前の検索広告の転送を作成します。この転送はデフォルトのプロジェクトで作成されます。

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 リソースのインスタンスを指定します。

検索広告 360 の転送の設定のトラブルシューティング

転送を設定する際に問題が発生した場合は、BigQuery Data Transfer Service 転送設定のトラブルシューティングをご覧ください。

データのクエリ

データが BigQuery Data Transfer Service に転送されると、取り込み時間パーティション分割テーブルにそのデータが書き込まれます。詳細については、パーティション分割テーブルの概要をご覧ください。

自動生成されたビューを使用せずに、テーブルでクエリを直接実行する場合は、そのクエリで _PARTITIONTIME 疑似列を使用する必要があります。詳細については、パーティション分割テーブルのクエリをご覧ください。

発生しうる割り当ての問題

Google Search Ads 360 API は、Google プロジェクトで 1 日に送信できるリクエストの数に割り当てを適用します。BigQuery Data Transfer Service と他のサービスに 1 つのプロジェクトを使用している場合、両方のサービスが割り当てを共有します。このため、どちらのサービスでも割り当て上限に達する可能性があります。

この発生しうる問題を回避して既存のワークフローに影響を与えないようにするには、次のオプションを検討してください。

  • 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
    

  • 検索広告 360 のサポートにお問い合わせのうえ、追加の割り当てをリクエストします。詳細については、割り当ての追加リクエストをご覧ください。