Google 広告の転送

BigQuery Data Transfer Service for Google 広告(旧称 Google AdWords)を使用すると、Google 広告レポートデータを繰り返し読み込むジョブを自動的にスケジュールおよび管理できます。

サポートされるレポート

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

Google 広告レポートがどのように BigQuery のテーブルやビューに変換されるかについては、Google 広告レポートの変換をご覧ください。

Google 広告レポートが Google 広告管理画面の UI とどのように対応しているかについて詳しくは、レポートと Google 広告管理画面との対応関係をご覧ください。

レポート オプション サポート
Supported API version

v201806

Google 広告 API(AdWords API)の移行については、移行ガイド(v201806)をご覧ください。

スケジュール

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

時刻を設定できます。

ウィンドウの更新

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

構成可能(最大 30 日)

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

最大バックフィル期間

制限なし

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

Number of Customer IDs per manager account

1,000

BigQuery Data Transfer Service は、Google 広告クライアント センター(MCC)アカウントごとに最大 1,000 個のお客様 ID をサポートしています。

始める前に

Google 広告の転送を作成する前に、以下を行います。

  • BigQuery Data Transfer Service を有効にするために必要なすべての操作が完了していることを確認します。
  • Google 広告データを保存するために BigQuery データセットを作成します。
  • 転送を作成するユーザーに、次の必要な権限があることを確認します。
    • Google 広告: 転送構成で使用されている Google 広告のお客様 ID または MCC アカウントへの読み取りアクセス権。
    • BigQuery: 転送を作成するための bigquery.transfers.update 権限、およびターゲット データセットに対する bigquery.datasets.update 権限。事前定義されたプロジェクト レベルの IAM 役割である bigquery.admin には、bigquery.transfers.update 権限と bigquery.datasets.update 権限が含まれています。BigQuery での IAM 役割の詳細については、アクセス制御をご覧ください。
  • 従来の BigQuery ウェブ UI を使用して転送を作成する場合は、権限ウィンドウが表示されるように、bigquery.cloud.google.com からのポップアップを許可します。転送が成功するには、Google 広告キャンペーンを管理するための権限を BigQuery Data Transfer Service に許可しておく必要があります。
  • 転送実行通知は、現時点ではアルファ版です。Cloud Pub/Sub に対する転送実行通知を設定する場合は、pubsub.topics.setIamPolicy 権限が必要です。メール通知の設定のみを行う場合は、Cloud Pub/Sub の権限は必要ありません。詳細については、BigQuery Data Transfer Service の実行通知をご覧ください。

Google 広告のデータ転送の設定

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

  • お客様 ID: Google 広告によって発行された Google 広告のお客様 ID または MCC アカウント。Google 広告のお客様 ID の取得については、お客様 ID の確認をご覧ください。

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

従来の UI

  1. 従来の BigQuery ウェブ UI に移動します。

    従来の BigQuery ウェブ UI に移動

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

  3. [Add Transfer] をクリックします。

  4. [New Transfer] ページで次の操作を行います。

    • ソースについて、Google 広告(旧称 AdWords)を選択します。
    • [Display name] に転送名(例: My Transfer)を入力します。転送名には、後で修正が必要になった場合に簡単に識別できる任意の名前を使用できます。
    • [Refresh window] に、データ転送に含める日数を入力します。「1」を入力すると、毎日のバックフィルはありません。「0」を入力すると、デフォルトの更新間隔の 7 日が使用されます。最大値は 30 です。詳細については、データ更新の頻度を決めるをご覧ください。
    • [Schedule] はデフォルト値(転送の作成時刻に 24 時間ごと)のままにするか、[Edit] をクリックして時刻を変更します。

      Google 広告のスケジュール

    • [Destination dataset] で、Google 広告データを保存するために作成したデータセットを選択します。

    • [Customer ID] にお客様 ID または MCC アカウントを入力します。

    • 削除済みまたは無効化されたエンティティおよび指標が転送されないようにするには、[Exclude removed/disabled items] をオンにします。

      Google 広告の転送

    • (省略可)[Advanced] セクションを展開し、転送用に実行通知を構成します。転送実行通知は、現時点ではアルファ版です。

      • [Cloud Pub/Sub topic] にトピック名(例: projects/myproject/topics/mytopic)を入力します。
      • [Send email notifications] をオンにして、転送実行失敗のメール通知を許可します。
      • 転送を設定するときは [Disabled] をオンにしないでください。既存の転送を無効にするには、転送の操作をご覧ください。

        Cloud Pub/Sub トピック

  5. [Add] をクリックします。

  6. プロンプトが表示されたら、[Allow] をクリックし、Google 広告レポートデータの管理権限、BigQuery でのデータのアクセス権限と管理権限を BigQuery Data Transfer Service に付与します。権限ウィンドウが表示されるように、bigquery.cloud.google.com からのポップアップを許可します。

    転送の許可

コマンドライン

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 です。
  • --target_dataset は転送構成のターゲット データセットです。
  • --display_name は転送構成の表示名です。転送名には、後で修正が必要になった場合に簡単に識別できる任意の名前を使用できます。
  • --params には、作成される転送構成のパラメータを JSON 形式で指定します(例: --params='{"param":"param_value"}')。Google 広告では、customer_id パラメータを指定する必要があります。オプションで、exclude_removed_items パラメータを true に設定して、削除済みまたは無効化されたエンティティおよび指標が転送されないようにできます。
  • --data_source はデータソースです。ここでは、adwords を指定します。

たとえば、次のコマンドは、お客様 ID 123-123-1234 とターゲット データセット mydataset を使用して、My Transfer という Google 広告の転送を作成します。この転送はデフォルトのプロジェクトで作成されます。

bq mk --transfer_config --target_dataset=mydataset --display_name='My Transfer' --params='{"customer_id":"123-123-1234","exclude_removed_items":"true"}' --data_source=adwords

コマンドの初回実行時に、次のようなメッセージが表示されます。

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

Google 広告 MCC アカウントのサポート

お客様 ID に固有の複数の Google 広告転送をお持ちのお客様は、クライアント センター(MCC)アカウント レベルで 1 つの Google 広告転送を設定し、バックフィルをスケジュールして、お客様 ID に固有の個別の Google 広告転送を無効にすることをおすすめします。

Google 広告 MCC アカウントを使用すると、個別のお客様 ID を使用する場合よりもメリットがあります。

  • 複数のお客様 ID を報告するために複数の転送を管理する必要がなくなります。
  • すべてのお客様 ID が同じテーブルに格納されるため、顧客間のクエリをより簡単に作成できます。
  • MCC を使用すると、複数のお客様 ID が同じジョブで読み込まれるため、BigQuery の読み込みの割り当てに関する問題が軽減されます。

Google 広告 MCC アカウントの詳細については、管理アカウントの操作MCC アカウントへのアカウントのリンクについてをご覧ください。

次のリストは、特定の Google 広告 MCC アカウントにリンクされているお客様 ID を示しています。

  • 1234567890 - ルート MCC アカウント
    • 1234 - サブ MCC アカウント
      • 1111 - お客様 ID
      • 2222 - お客様 ID
      • 3333 - お客様 ID
      • 4444 - お客様 ID
      • 567 - サブ MCC アカウント
        • 5555 - お客様 ID
        • 6666 - お客様 ID
        • 7777 - お客様 ID
    • 89 - サブ MCC アカウント
      • 8888 - お客様 ID
      • 9999 - お客様 ID
    • 0000 - お客様 ID

MCC アカウントにリンクされたお客様 ID が各レポートに表示されます。BigQuery の Google 広告のレポート構造の詳細については、Google 広告レポートの変換をご覧ください。

お客様 ID 1234567890 の転送構成

ルート MCC アカウント(お客様 ID 1234567890)の転送構成では、次のお客様 ID を含む転送実行が生成されます。

  • 1111(サブ MCC アカウント 1234 を介して)
  • 2222(サブ MCC アカウント 1234 を介して)
  • 3333(サブ MCC アカウント 1234 を介して)
  • 4444(サブ MCC アカウント 1234 を介して)
  • 5555(サブ MCC アカウント 567 およびサブ MCC アカウント 1234 を介して)
  • 6666(サブ MCC アカウント 567 およびサブ MCC アカウント 1234 を介して)
  • 7777(サブ MCC アカウント 567 およびサブ MCC アカウント 1234 を介して)
  • 8888(サブ MCC アカウント 89 を介して)
  • 9999(サブ MCC アカウント 89 を介して)
  • 0000(個別のお客様 ID)

お客様 ID 1234 の転送構成

サブ MCC アカウント 123(お客様 ID 1234)の転送構成では、次のお客様 ID を含む転送実行が生成されます。

  • 1111
  • 2222
  • 3333
  • 4444
  • 5555(サブ MCC アカウント 567 を介して)
  • 6666(サブ MCC アカウント 567 を介して)
  • 7777(サブ MCC アカウント 567 を介して)

お客様 ID 567 の転送構成

サブ MCC アカウント 567(お客様 ID 567)の転送構成では、次のお客様 ID を含む転送実行が生成されます。

  • 5555
  • 6666
  • 7777

お客様 ID 89 の転送構成

サブ MCC アカウント 89(お客様 ID 89)の転送構成では、次のお客様 ID を含む転送実行が生成されます。

  • 8888
  • 9999

お客様 ID 0000 の転送構成

お客様 ID 0000 の転送構成では、個別のお客様 ID のみを含む転送実行が生成されます。

  • 0000

Google 広告データを MCC に移行する

BigQuery の既存の Google 広告データを MCC 構造に移行するには、バックフィルを設定して、MCC アカウントにリンクされた転送構成で作成されたテーブルに既存のデータを追加します。バックフィルをスケジュールすると、マッチテーブルは更新されません。

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

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

データのクエリ

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

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

次の Google 広告サンプルクエリを使用して転送されたデータを分析できます。このクエリは、Cloud DatalabGoogle データポータルなどの可視化ツールで使用することもできます。これらのクエリは、BigQuery で Google 広告データのクエリを開始するときに役立つように用意されたものです。これらのレポートで何ができるかに関する質問については、Google 広告の技術担当者にお問い合わせください。

以下のクエリで [DATASET] はデータセット名で置き換えます。[CUSTOMER_ID] は、Google 広告のお客様 ID で置き換えます。

このサンプルでは、BigQuery の標準 SQL サポートを使用します。標準 SQL を使用することを BigQuery に認識させるため、#standardSQL タグを使用します。#standardSQL 接頭辞の詳細については、クエリ接頭辞の設定をご覧ください。

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

キャンペーンの掲載結果

次のサンプルクエリでは、過去 30 日間の Google 広告キャンペーンの掲載結果を分析します。

従来の UI

#standardSQL
SELECT
  c.ExternalCustomerId,
  c.CampaignName,
  c.CampaignStatus,
  SUM(cs.Impressions) AS Impressions,
  SUM(cs.Interactions) AS Interactions,
  (SUM(cs.Cost) / 1000000) AS Cost
FROM
  `[DATASET].Campaign_[CUSTOMER_ID]` c
LEFT JOIN
  `[DATASET].CampaignBasicStats_[CUSTOMER_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

コマンドライン

bq query --use_legacy_sql=false '
SELECT
  c.ExternalCustomerId,
  c.CampaignName,
  c.CampaignStatus,
  SUM(cs.Impressions) AS Impressions,
  SUM(cs.Interactions) AS Interactions,
  (SUM(cs.Cost) / 1000000) AS Cost
FROM
  `[DATASET].Campaign_[CUSTOMER_ID]` c
LEFT JOIN
  `[DATASET].CampaignBasicStats_[CUSTOMER_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'

キーワード数

次のサンプルクエリは、キャンペーン、広告グループ、ステータスごとにキーワードを分析します。このクエリは、KeywordMatchType 関数を使用します。キーワードのマッチタイプを使用すると、広告をトリガーする検索語句を制御できます。キーワードのマッチタイプの詳細については、キーワードのマッチタイプについてをご覧ください。

従来の UI

#standardSQL
SELECT
  c.CampaignStatus AS CampaignStatus,
  a.AdGroupStatus AS AdGroupStatus,
  k.Status AS KeywordStatus,
  k.KeywordMatchType AS KeywordMatchType,
  COUNT(*) AS count
FROM
  `[DATASET].Keyword_[CUSTOMER_ID]` k
  JOIN
  `[DATASET].Campaign_[CUSTOMER_ID]` c
ON
  (k.CampaignId = c.CampaignId AND k.DATA_DATE = c._DATA_DATE)
JOIN
  `[DATASET].AdGroup[CUSTOMER_ID]` a
ON
  (k.AdGroupId = a.AdGroupId AND k._DATA_DATE = a._DATA_DATE)
WHERE
  k._DATA_DATE = k._LATEST_DATE
GROUP BY
  1, 2, 3, 4

コマンドライン

bq query --use_legacy_sql=false '
SELECT
  c.CampaignStatus AS CampaignStatus,
  a.AdGroupStatus AS AdGroupStatus,
  k.Status AS KeywordStatus,
  k.KeywordMatchType AS KeywordMatchType,
  COUNT(*) AS count
FROM
  `[DATASET].Keyword_[CUSTOMER_ID]` k
JOIN
  `[DATASET].Campaign_[CUSTOMER_ID]` c
ON
  (k.CampaignId = c.CampaignId AND k._DATA_DATE = c._DATA_DATE)
JOIN
  `[DATASET].AdGroup_[CUSTOMER_ID]` a
ON
  (k.AdGroupId = a.AdGroupId AND k._DATA_DATE = a._DATA_DATE)
WHERE
  k._DATA_DATE = k._LATEST_DATE
GROUP BY
  1, 2, 3, 4'
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。