Skip to main content

概要

OneSignal + BigQuery統合は、2つの強力なデータパイプラインをサポートしています:
  • エクスポート:OneSignalからBigQueryにメッセージングイベントデータ(プッシュ、メール、SMS、アプリ内)を自動的に送信して、分析とレポート作成を行います。
  • インポート:BigQueryデータセットからOneSignalにカスタムユーザーイベントを同期して、自動化されたJourneysとパーソナライズされたメッセージングをトリガーします。
これらの統合により、ユーザーエンゲージメントデータを完全に制御でき、高度な分析とリアルタイムの行動駆動型メッセージングが可能になります。

OneSignalイベントをBigQueryにエクスポート

メッセージングパフォーマンスとエンゲージメントイベント(例:送信、開封、クリック)をBigQueryに送信して、次のことを行います:
  • カスタムダッシュボードとレポートを構築
  • チャネル全体の配信とエンゲージメントトレンドを追跡
  • OneSignalデータを他のビジネスデータと組み合わせて分析
要件
  • 課金が有効なGoogle Cloud Platformプロジェクト
  • GCPプロジェクトでBigQueryが有効
  • BigQuery書き込み権限を持つサービスアカウント
セットアップ手順

1. サービスアカウントを作成

1

Google Cloud Platformアカウントにログイン

ログイン後、適切なプロジェクトが選択されていることを確認してください。
2

サービスアカウントを作成

サービスアカウント作成ページにアクセスし、Create Service Accountをクリックします。
3

フィールドに入力

任意の名前とサービスアカウントIDを指定します。
4

'BigQuery User'ロールを割り当て

サービスアカウントに「BigQuery User」ロールを付与します。
5

このアカウントのJSONキーを作成

新しいサービスアカウント > Keys > Add Key > Create new key > JSONを選択します。ファイルを保存します。
統合を有効にするために、このJSONキーファイルの全内容をOneSignalに貼り付けます。

2. OneSignalで統合を有効化

1

OneSignal > Data > Integrations > BigQueryに移動

2

サービスアカウントのJSONキーを貼り付け

3

設定を構成

  • Sync Frequency:最短で15分ごと
  • Dataset/Table Names:小文字、数字、アンダースコアのみを含み、数字で始めることはできません。
  • Event Types:特定のメッセージイベント(例:送信済み、開封、クリック)を選択
    • **注意:**複数のイベントタイプを選択するか、後で選択したイベントを更新できます。
4

Saveをクリックして確認を待つ

初期データ同期がBigQueryに表示されるまで15〜30分かかる場合があります。待っている間に、プッシュ、メール、アプリ内、またはSMS経由でメッセージを送信して、選択したイベントをトリガーします。

3. BigQueryでデータを表示

BigQueryコンソールを開き、データセット(例:onesignal_events_<app-id>)を見つけて、同期されたメッセージイベントを探索します。

エクスポートされたメッセージイベントを含むBigQueryデータセット

Message events and properties

Message event kinds

Property: event_kind Type: String The kind of message and event (e.g. message.push.received, message.push.sent). message.email.sent and message.sms.sent are deprecated. They can’t be added to new exports, but exports that already include them keep receiving them. Use message.email.received and message.sms.delivered instead.

Event data schema

For each message event generated by a user, the following metadata will be attached to the record.

Notes

  • Syncs after saving/activating may take an additional 15-30 minutes to complete.
  • Deactivating may still result in one final sync after deactivation.
  • To ensure efficient data synchronization, our system automatically creates and manages staging datasets. These datasets, named with a pattern like fivetran_{two random words}_staging, temporarily store data during processing before it’s integrated into your main schema. These staging datasets are essential for maintaining a streamlined workflow and should not be deleted, as they will be automatically recreated.

BigQueryからイベントをインポート

BigQueryからOneSignalに行動イベントデータを送信して、次のことを行います:
  • ユーザーアクティビティに基づいてJourneysをトリガー
  • 行動データに基づいてメッセージングをパーソナライズ
要件
  • BigQueryとイベントデータテーブルを持つGCPプロジェクト
  • 読み取り権限を持つサービスアカウント
  • BigQueryデータセットに行動データを含むイベントデータテーブル
セットアップ手順
1

BigQueryサービスアカウントを作成

OneSignalは、接続を作成すると自動的にサービスアカウントを生成します。または、独自のサービスアカウントキーJSONファイルを提供することもできます。独自のサービスアカウントを作成する場合は、以下にリストされている必要な権限があることを確認してください。
2

必要な権限を付与

OneSignalサービスアカウントには、次のBigQuery IAMロールが必要です:
  • bigquery.dataViewer - イベントデータを含むデータセットとテーブルへの読み取りアクセス
  • bigquery.jobUser - データクエリのジョブを作成する権限
  • bigquery.metadataViewer - プロジェクトレベルのメタデータアクセス(推奨)
Google Cloud ConsoleまたはCLIを使用して権限を付与します:
3

OneSignalで統合を追加

In OneSignal, go to Data > Integrations and click Add Integration.Google BigQueryを選択し、次を提供します:
  • Google Cloud Project ID:BigQueryデータセットを含むGCPプロジェクト
  • Dataset Region:BigQueryデータセットが保存されている場所
  • Service Account Key(オプション):独自のサービスアカウントを使用する場合はJSONキーファイル
4

イベントデータソースを設定

イベントデータを含むBigQueryデータセットとテーブルを指定します:
  • Dataset:BigQueryデータセット名(例:analytics_events)
  • Table/View:イベントレコードを含むテーブルまたはビュー
  • Event Query:イベントデータをフィルタリングまたは変換するためのオプションのSQLクエリ
イベントテーブルには次の列が含まれている必要があります:
  • イベント名/タイプ
  • ユーザー識別子
  • イベントタイムスタンプ
  • 追加のイベントプロパティ
5

接続をテスト

Test Connectionをクリックして、OneSignalがBigQueryプロジェクトにアクセスしてイベントデータを読み取れることを確認します。

Event data mapping

Map your to OneSignal’s custom events format:
The Sync Key is the column you designate as the unique identifier for each row during sync. OneSignal uses it to detect whether a row has already been processed, so re-syncing your data doesn’t create duplicate events. Choose a column with a unique text value per row. Don’t use a boolean or a value that repeats across rows.

高度な構成

カスタムSQLクエリ

OneSignalに同期する前に、カスタムSQLを使用してイベントデータをフィルタリングまたは変換します:

クロスプロジェクトアクセス

イベントデータが複数のBigQueryプロジェクトにまたがる場合は、参照されるテーブルまたはビューを含む各プロジェクトへのアクセス権をOneSignalサービスアカウントに付与します。
最適なパフォーマンスを得るには、BigQuery接続リージョンが特定のテーブルリージョンと一致している必要があります。

FAQ

同じコンテンツに対して複数のメッセージIDが表示されるのはなぜですか?

これは通常、メッセージテンプレートが複数の送信またはトリガーフローで再利用される場合に発生します。

OneSignalはどのくらいの頻度でデータを同期しますか?

エクスポートとインポートの両方の統合は、最短で15分ごとに同期できます。

BigQueryビューを使用できますか?

はい。サービスアカウントがビュー内の参照されるすべてのテーブルにアクセスできることを確認してください。

関連リソース