Google 広告の転送

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

サポートされるレポート

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

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

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

レポート オプション サポート
サポート対象の API バージョン

v201809

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

スケジュール

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

時刻を設定できます。

ウィンドウの更新

過去 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 データセットを作成します。
  • 従来の BigQuery ウェブ UI を使用して転送を作成する場合は、bigquery.cloud.google.com からのポップアップを許可し、権限ウィンドウが表示されるようにします。転送を成功させるには、Google 広告キャンペーンを管理するための権限を BigQuery Data Transfer Service に許可しておく必要があります。
  • 転送実行通知は、現時点ではアルファ版です。Cloud Pub/Sub に対する転送実行通知を設定する場合は、pubsub.topics.setIamPolicy 権限が必要です。メール通知の設定のみを行う場合は、Cloud Pub/Sub の権限は必要ありません。詳細については、BigQuery Data Transfer Service の実行通知をご覧ください。

必要な権限

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

  • BigQuery:

    • 転送を作成するための bigquery.transfers.update 権限
    • ターゲット データセットに対する bigquery.datasets.update 権限

    事前定義された Cloud IAM の役割 bigquery.admin には、bigquery.transfers.update 権限と bigquery.datasets.update 権限が含まれています。BigQuery での IAM 役割の詳細については、アクセス制御をご覧ください。

  • Google 広告: 転送構成で使用されている Google 広告のお客様 ID または MCC アカウントへの読み取りアクセス権。

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

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

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

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

Console

  1. GCP Console に移動します。

    GCP Console に移動する

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

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

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

    • [ソースタイプ] セクションで、[ソース] として [Google Ads] を選択します。

      転送のソース

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

      転送名

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

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

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

        転送スケジュール

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

      転送先データセット

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

      • [お客様 ID] にお客様 ID または MCC アカウントを入力します。
      • 削除済みまたは無効化されたエンティティおよび指標が転送されないようにするには、[Exclude removed / disabled Items] チェックボックスをオンにします。

        Google 広告ソースの詳細

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

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

従来の UI

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

    従来の BigQuery ウェブ UI に移動

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

  3. [転送を追加] をクリックします。

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

    • ソースについて、Google 広告(旧称 AdWords)を選択します。
    • [Display Name] に転送名(My Transfer など)を入力します。転送名には、後で修正が必要になった場合に簡単に識別できる任意の名前を使用できます。
    • [Refresh window] に、データ転送に含める日数を入力します。1 を入力すると、毎日のバックフィルはありません。「0」を入力すると、デフォルトの更新間隔の 7 日が使用されます。最大値は 1 です。
      1. 詳細については、データ更新の頻度を決めるをご覧ください。
    • [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 からのポップアップを許可します。

    転送の許可

CLI

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"}')。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 広告キャンペーンの掲載結果を分析します。

Console

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

CLI

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 関数を使用します。キーワードのマッチタイプを使用すると、広告をトリガーする検索語句を制御できます。キーワードのマッチタイプの詳細については、キーワードのマッチタイプについてをご覧ください。

Console

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.AdGroupcustomer_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

CLI

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 のサポートページをご覧ください。