概要

BigQueryのスケジュールクエリを日次で実行し、ユーザー属性や購入履歴、退会ユーザーをBrazeと連携する手順を解説していきます。

BigQuery側作業

サービスアカウントの作成①

Google Cloud のコンソールからIAMページを開き、以下の通りにBraze側でBigQueryと連携する際に利用するサービスアカウントを作成する。

参考: ステップ2:サービスアカウントの作成と権限の付与



サービスアカウントが作成されたら対象のサービスアカウントを選択し、「キー」タブの「鍵を追加」から「新しい鍵を作成」を選択し、サービスアカウントキー(jsonファイル)を作成する。
※ Brazeでの連携設定時に利用するため

サービスアカウントの作成②

同様の手順でスケジュールクエリで利用するサービスアカウントを作成し、以下のロールを付与する。

ロール名
BigQuery ユーザー

スケジュールクエリの設定

Google Cloud のコンソールからBigQueryページを開き、エクスプローラを開く。

タブにBrazeの連携したいデータを取得するクエリを入力する。
なお、Brazeと連携するテーブルのカラムは以下のスキーマとなっている必要がある。
スケジュールクエリでは事前にテーブルを作成せずとも、クエリの結果からテーブルを作成できるため、ここでは手動でのテーブル作成は行わない。

カラム名 備考
UPDATED_AT TIMESTAMP この値が更新されているレコードが対象となる
PAYLOAD JSON ユーザー属性はJSONとして格納する必要がある。
退会ユーザーを連携するテーブルにはこのカラムは不要。
EXTERNAL_ID String Braze側でユーザーの管理に「BRAZE_ID」を使用している場合は「BRAZE_ID」などでも可

以下はクエリの参考。

SELECT
  CURRENT_TIMESTAMP() AS UPDATED_AT,
  CAST(t.external_id AS String) AS external_id,
  JSON_OBJECT(
    'email', t.email,
    'gender', t.gender,
    'zip', t.zip,
    'phone', t.phone
  ) AS PAYLOAD
FROM
  dataset-id.table-name t

参考:
データ設定の推奨事項
データフォーマット例

クエリを入力したらクエリエクスプローラの上部メニューの「スケジュール」を選択し、以下の通りにスケジュールクエリを設定する。

設定時の注意点としては以下の通り。

  • 「時刻」はUTCで設定する
  • 「宛先テーブルの書き込み設定」で追加を選択した場合はスケジュールクエリが実行されるたびに選択したテーブルにデータが追加されていき、上書きを選択した場合は実行されるたびに前回までのデータが削除され今回分のデータのみが追加される。
  • サービスアカウントには「サービスアカウントの作成②」の手順で作成したサービスアカウントを選択する。ここでサービスアカウントを選択しないと、コンソールにログイン中のGoogleユーザーの認証情報がスケジュールクエリで設定される。(= そのGoogleユーザーが削除されればスケジュールクエリに設定されている認証情報も削除される)

またスケジュールクエリの実行が失敗した際にPub/Sub宛に通知を送ることもできるが、ここでは割愛する。

BigQueryページの左メニューから「スケジュールされたクエリ」を選択すると、作成したスケジュールクエリが表示される。

Braze側作業

Brazeページを開き、左メニューの「Data Setting」->「Cloud Data Ingestion」を選択する。

「Import Sync」タブが選択されていることを確認し、「Create New Data Sync」->「Google BigQuery Impport」を選択し、以下の通りに同期設定を行う。

設定時の注意点としては以下の通り。

  • 「Create new credentials」には「サービスアカウントの作成①」の手順で作成したサービスアカウントキーのファイルをアップロード
  • 「Time」はUTCで設定する
  • 「Update existing users only」にチェックを入れることで、BigQueryのテーブルの「external_id」のユーザーがBraze条に存在する場合のみ更新を行う
  • Data Typeは適切な項目を選択する。
    • ユーザー属性の同期の場合は「User Attributes」を選択。
    • 購入履歴の同期の場合は「Purchase Events」を選択。
    • 退会ユーザーの同期の場合は「Delete Users」を選択。

最後に「Test Conection」を選択し、BigQueryと正常にデータ連携ができていることを確認する。