Facebook 広告の転送をスケジュールする
BigQuery Data Transfer Service for Facebook Ads を使用すると、Facebook 広告から BigQuery への定期的な読み込みジョブを自動的にスケジュールし、管理できます。
制限事項
Facebook 広告の転送には、次の制限があります。
- Facebook 広告転送の最小間隔は 15 分です。デフォルトの定期的な転送間隔は 24 時間です。
- Facebook 広告用 BigQuery Data Transfer Service は、固定のテーブルセットのみをサポートしています。カスタム レポートはサポートされていません。
- Facebook 広告の転送は最大 6 時間です。この最大時間を超えると、転送が失敗します。
- 増分転送はサポートされていません。
- BigQuery Data Transfer Service では、最大 1 日(前日)分のデータを
AdInsights
テーブルとAdInsightsActions
テーブルに転送できます。
始める前に
以下のセクションでは、Facebook 広告の転送を作成する前に必要な手順について説明します。
Facebook 広告の前提条件
Facebook 広告の転送を作成する場合は、Facebook 広告について次の情報を用意してください。
Facebook 広告パラメータ | 説明 |
---|---|
clientID |
OAuth 2.0 クライアントのアプリ ID 名。 |
clientSecret |
OAuth 2.0 クライアントのアプリ シークレット。 |
refreshToken |
有効期間の長いユーザー アクセス トークン(更新トークンとも呼ばれます)。 |
clientID
と clientSecret
を取得する手順は次のとおりです。
- アプリタイプ
Business
で Facebook デベロッパー アプリを作成します。 - Facebook App ダッシュボードで、[App Settings] > [Basic] をクリックして、アプリ ID とアプリに対応するアプリ シークレットを見つけます。
有効期間の長いユーザー アクセス トークン(更新トークン)を取得する手順は次のとおりです。
Google Cloud コンソールで、Facebook 広告の転送を作成するの手順を実施します。
[データソースの詳細] セクションで、[更新トークン] フィールドの後に表示されているリダイレクト URI をコピーします。
Facebook App ダッシュボードをクリックし、[Facebook login for Business] セクションで [Set up] をクリックします。
[Settings] ページで、[Valid OAuth Redirect URIs] フィールドにリダイレクト URL を入力し、[Save] をクリックします。
Google Cloud コンソールに戻ります。[データソースの詳細] セクションで、[承認] をクリックします。Facebook 認証ページにリダイレクトされます。
Facebook デベロッパー アプリを選択して、BigQuery Data Transfer Service に接続するアカウントを承認します。
完了したら、[OK] をクリックして Google Cloud コンソールに戻ります。有効期間の長いアクセス トークンが転送構成に挿入されます。
また、Graph API を使用して有効期間の長いユーザー アクセス トークンを生成することもできます。転送用の有効なトークンには、ads_management
、ads_read
、business_management
権限が必要です。
有効期間の長いユーザー アクセス トークンは 60 日後に期限切れになります。
BigQuery の前提条件
- BigQuery Data Transfer Service を有効にするために必要なすべての操作が完了していることを確認します。
- データを保存する BigQuery データセットを作成します。
- Pub/Sub の転送実行通知を設定する場合は、
pubsub.topics.setIamPolicy
Identity and Access Management(IAM)権限があることを確認します。メール通知のみを設定する場合は、Pub/Sub 権限は必要ありません。詳細については、BigQuery Data Transfer Service の実行通知をご覧ください。
必要な BigQuery のロール
転送の作成に必要な権限を取得するには、BigQuery 管理者(roles/bigquery.admin
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与の詳細については、アクセス権の管理をご覧ください。
この事前定義ロールには、転送の作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
転送を作成するには、次の権限が必要です。
- ユーザーに対する
bigquery.transfers.update
- ターゲット データセットに対する
bigquery.datasets.get
- ターゲット データセットに対する
bigquery.datasets.update
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
Facebook 広告のデータ転送を作成する
次のオプションのいずれかを選択します。
コンソール
Google Cloud コンソールで [BigQuery Studio] ページに移動します。
[データ転送] > [転送を作成] をクリックします。
[ソースタイプ] セクションの [ソース] で [Facebook Ads] を選択します。
[転送構成名] セクションの [表示名] に、転送名を入力します。
[スケジュール オプション] セクションで、次の操作を行います。
[繰り返しの頻度] リストで、この転送の実行頻度を指定するオプションを選択します。カスタムの繰り返しの頻度を指定するには、[カスタム] を選択します。[オンデマンド] を選択した場合、手動で転送をトリガーすると、この転送が実行されます。
必要に応じて、[すぐに開始可能] を選択するか、[設定した時刻に開始] を選択して開始日と実行時間を指定します。
[転送先の設定] セクションの [データセット] には、データを保存するために作成したデータセットを選択します。
[データソースの詳細] セクションで、次のようにします。
- [Client ID] にアプリ ID を入力します。
- [クライアント シークレット] に、アプリ シークレットを入力します。
- [更新トークン] で [承認] をクリックして、有効期間の長いユーザー アクセス トークン ID を入力します。
これらの値を取得する方法については、Facebook 広告の前提条件をご覧ください。
省略可: [サービス アカウント] メニューで、Google Cloud プロジェクトに関連付けられたサービス アカウントからサービス アカウントを選択します。選択したサービス アカウントには、この転送の実行に必要なロールが付与されている必要があります。
フェデレーション ID でログインした場合、転送を作成するにはサービス アカウントが必要です。Google アカウントでログインした場合、転送用のサービス アカウントは省略可能です。
データ転送でサービス アカウントを使用する方法の詳細については、サービス アカウントの使用をご覧ください。
省略可: [通知オプション] セクションで、次のようにします。
- メール通知を有効にするには、[メール通知] をクリックします。このオプションを有効にすると、転送の実行が失敗した場合、転送管理者にメール通知が送信されます。
- この転送の Pub/Sub 転送実行通知を有効にするには、[Pub/Sub 通知] をクリックします。トピック名を選択するか、[トピックを作成] をクリックしてトピックを作成します。
[保存] をクリックします。
この転送を実行すると、BigQuery Data Transfer Service によって次のテーブルにデータが自動的に入力されます。
テーブル名 | 説明 |
---|---|
AdAccounts |
ユーザーが使用可能な広告アカウント。 |
AdInsights |
すべての広告アカウントの広告インサイト レポート。 |
AdInsightsActions |
すべての広告アカウントの広告インサイト アクション レポート。 |
bq
bq mk
コマンドを入力して、転送作成フラグ --transfer_config
を指定します。
bq mk \ --transfer_config \ --project_id=PROJECT_ID \ --data_source=DATA_SOURCE \ --display_name=DISPLAY_NAME \ --target_dataset=DATASET \ --params='PARAMETERS'
ここで
- PROJECT_ID(省略可): Google Cloud プロジェクト ID。
--project_id
で特定のプロジェクトを指定しない場合は、デフォルトのプロジェクトが使用されます。 - DATA_SOURCE: データソース(例:
facebook-ads
)。 - DISPLAY_NAME: 転送構成の表示名。転送名には、後で修正が必要になった場合に識別できる任意の名前を使用できます。
- DATASET: 転送構成のターゲット データセット。
- PARAMETERS: 作成される転送構成のパラメータを JSON 形式で指定します。例:
--params='{"param":"param_value"}'
。Facebook 広告の転送のパラメータは次のとおりです。connector.authentication.oauth.clientId
: OAuth 2.0 クライアントのアプリ ID 名。connector.authentication.oauth.clientSecret
: OAuth 2.0 クライアントのアプリ シークレット。connector.authentication.oauth.refreshToken
: 有効期間の長いトークン ID。
たとえば、次のコマンドは、必要なパラメータすべてを指定して、デフォルト プロジェクトに Facebook 広告の転送を作成します。
bq mk
--transfer_config
--target_dataset=mydataset
--data_source=facebook_ads
--display_name='My Transfer'
--params='{"connector.authentication.oauth.clientId": "1650000000", "connector.authentication.oauth.clientSecret":"TBA99550", "connector.authentication.oauth.refreshToken":"abcdef"}'
API
projects.locations.transferConfigs.create
メソッドを使用して、TransferConfig
リソースのインスタンスを指定します。
転送構成のトラブルシューティング
Facebook 広告の移行の設定で問題が発生した場合は、Facebook アプリ ダッシュボードの [Required Actions] タブで、注意が必要な項目を確認してください。
料金
この機能のプレビュー版では、Facebook 広告データを BigQuery に転送する際に料金は発生しません。
次のステップ
- BigQuery Data Transfer Service の詳細を確認する。
- 構成や実行履歴の表示など、転送の操作の詳細を確認する。
- クロスクラウドの操作でデータを読み込む方法を学習する。