この記事はtrocco® Advent Calendar 2023の12日目の記事です。
はじめに
今回の記事では、私がこれまで十分に活用できていなかった機能の一つ、「カスタム変数ループ実行」に焦点を当て、実際に試してみることにしました。
具体的な試みとしては、
troccoのドキュメントに記載されている具体的なユースケースに沿って進めます。転送元広告系コネクタから、複数のアカウントIDのデータをまとめて転送する
というユースケースを試してみます。
完成イメージ
1つの転送設定でアカウント3つのデータを抽出し、アカウントごとのデータセットにINSERTするまでを行います。
この記事で書かないこと
- Google 広告データのアカウント発行
- BigQuery周辺の設定
データ転送設定
Google Ads:接続先情報の登録
接続先設定については、以下の記事を参照してください。
今回は1個の接続先情報で複数の広告データにアクセスするので、
複数の広告にアクセス可能なアカウントで接続先情報を作成してください。
Google BigQuery:接続先情報の登録
接続先設定については、以下の記事を参照してください。
転送設定の新規作成
転送元:Google Ads
転送先:BigQuery
を選択しました。
転送元 Google Ads:設定
転送元の情報は以下のものを設定しました。
カスタム変数ループ実行時で
$google_client_customer_id$
に複数の広告アカウントIDを設定し
データを取得します。
設定項目 | 値 |
---|---|
Google Ads接続情報 | 複数広告データアクセス可能なGoogle Ads接続先情報 |
カスタム変数: $google_client_customer_id$
|
ブランクで保存は不可能なので、1つアカウントをIDを登録 |
カスタム変数: $start_at$
|
キューイング時、2日前、%Y-%m-%d、Asia/Toyko |
カスタム変数: $end_at$
|
キューイング時、1日後、%Y-%m-%d、Asia/Toyko |
お客様 ID | $google_client_customer_id$ |
リソースタイプ (レポート種別) | Ad (ad_group_ad) |
データ取得期間:開始日 | $start_at$ |
データ取得期間:終了日 | $end_at$ |
転送先 Google BigQuery:設定
カスタム変数ループ実行時で
$google_client_customer_id$
に複数の広告アカウントIDを設定し
BigQueryのデータセット名を設定します。
設定項目 | 値 |
---|---|
Google BigQuery接続情報 | 広告データを連携するBigQuery接続情報 |
カスタム変数: $google_client_customer_id$
|
ブランクで保存は不可能なので、1つアカウントをIDを登録 |
データセット | $google_client_customer_id$ |
テーブル | google_ad_performance_reports |
データセットの自動生成オプション | datasetを自動で作成する |
転送モード | APPEND |
ワークフロー設定
trocco転送ジョブを配置
ワークフロー
>新規ワークフロー作成
をクリックし
ワークフロー名を入力し保存。
フロー編集
をクリックして編集画面に行き、trocco転送ジョブ
を配置し
今回作成して転送設定を選択します。
カスタム変数ループ実行設定
配置したtrocco転送ジョブ
の3点リーダーをクリックし編集(鉛筆マーク)
をクリック
転送元と転送先に同名のカスタム変数が設定されている場合は、同じ値で上書きされます。
転送元と、転送先のカスタム変数を同一名で定義しているので
カスタム変数ループ実行でどちらかの値を設定すれば両方設定されます。
共通のカスタム変数を定義できると
「同一名の場合は上書き」という仕様を意識しなくても済むようになるかもしれません。
設定項目 | 値 |
---|---|
ループの種類 | 文字列展開でループ |
対象カスタム変数 | $google_client_customer_id$ |
実行結果
Google AdsのアカウントIDごとにデータセットが生成され、アカウントIDごとのデータが同一テーブル名で格納されました!
最後に
troccoで試したユースケースの一つ、転送元広告系コネクタから、複数のアカウントIDのデータをまとめて転送する
は、期待通りの結果をもたらしました。カスタム変数ループ実行は本当に優れた機能です!
この機能のおかげで、業務における転送設定の保守が格段にしやすくなりました。カスタム変数ループ実行を使いこなすことで、データ転送のプロセスをより効率的かつ柔軟に管理できるようになります。
カスタム変数ループ実行には、
クエリ結果でループ
というループの種類も存在するので
今度検証してみようと思います!