Loading
BLOG 開発者ブログ

2020年12月12日

【新機能】FirebaseにBigQueryからセグメントをインポートする



Cloud MessagingやRemote Configなどの対象を設定する際、BigQueryからユーザーセグメントを作成できるようになりました。
まだベータ版なので分かりづらい部分もあり、解説を交えつつ整理していこうと思います。

目次



はじめに

こんにちは。
クラウドソリューショングループのwatanabe.tです。

この記事は アイソルート Advent Calendar 2020 12日目の記事 かつ Firebase Advent Calendar 2020 11日目の記事です。

昨日は fujinami.m さんの 【初心者向け】swiftのクロージャの省略形が読み慣れない方へ でした。
難しい事柄を1STEPずつ解説した、初心者にとって非常にありがたい記事でしたね。

さて、今回はFirebase Summit 2020で発表されたImport segmentsについて見ていきましょう。

Import segments | Firebase公式ドキュメント


FirebaseにBigQueryからユーザーセグメントを作成するって?

まずは、この機能がどういったものなのか見ていきます。

この機能はFirebaseと統合したBigQuery側で独自のセグメントを定義すると、Cloud Messaging, Remote Config, In-App Messagingの配信対象として利用できるようになる、というものです。

また、このユーザーセグメント作成は一過性のものではなく、定期的にBigQueryのデータがFirebaseに反映されるため、BigQuery側のデータを更新するだけでFirebase側のユーザーセグメントを更新することができます。

では、BigQueryからデータをインポートし、Firebaseのユーザーセグメントを作成できると何が嬉しいのでしょうか?

それは、Google Analytics以外のデータをユーザーセグメントの作成に活用できるという点です。

これまで、Firebase以外の場所で収集されたユーザーの情報(例えば、課金システムでの課金額情報など)をユーザーセグメントの作成に活用しようとした場合、ユーザーIDと対象の情報を自分で紐付けた上で個別にプッシュ通知などを送る必要がありました。

しかし、BigQueryからユーザーセグメントを作成できるようになったことにより、簡単にFirebase以外の場所で収集されたデータから効果的な訴求を行うことができるようになり、よりビジネス要件を反映しやすくなりました。


ユーザーセグメントを作成してみる

さて、ここからは実際にユーザーセグメントを作成していきます。

なお、FirebaseとBigqueryのリンクは済んでいるものとして進めるため、リンク手順を確認したい方は Firebaseサポートページ を確認してください。

BigQuery側にセグメントデータを作成する

Firebase側でBigQueryとのリンクが済んでいると、BigQuery側に「firebase_imported_segments」というデータセットと、「SegmentMemberships」と「SegmentMetadata」というテーブルが作成されます。

このSegmentMembershipsとSegmentMetadataにそれぞれ以下のようなデータを投入します。

SegmentMetadata

投入データ

{
  "segment_label": "test20201030",
  "display_name": "テスト用セグメント"
}

投入後の確認


SegmentMemberships
投入データ

{
  "instance_id": "e6ZGu8mwTC65P4ssexOR6A",
  "segment_labels": [
    "test20201030"
  ],
  "update_time": "2020-10-30T12:21:27 +09:00"
}

投入後の確認


このとき、SegmentMembershipsの「instance_id」には別途カスタムイベント等で収集したインスタンスIDを設定します。
※ インスタンスIDの収集方法については 公式ドキュメント を参照。


Firebase側にセグメントが作成されたのを確認する

BigQueryからデータのインポートが完了していると、Firebase側の設定画面からセグメントを確認することができるようになります。
※ インポートが完了するまで最大12時間かかるとのことでしたが、割とすぐに作成されていました。



このとき「セグメント」に表示されている項目が「SegmentMetadata」に定義したセグメント自体の情報、「インスタンス」に表示されている項目が当該セグメントに所属しているユーザー数となります。


Cloud Messagingでプッシュ通知を送ってみる

では、作成したユーザーセグメントに、実際にCloud Messagingでプッシュ通知を送ってみましょう。

といっても手順は簡単です。
ターゲットの条件を選ぶ際、「インポートしたセグメント」という項目が増えています。
これを選ぶことで、先ほど作成したセグメントを対象にすることができました。




おわりに

FirebaseとBigQueryを連携し、独自のユーザーセグメントを簡単に作成することができました。

これ以降はBigQuery側のデータを変更するだけで、複雑な条件を持ったユーザーセグメントの作成が行えるようになりました。

もちろん、Firebase標準のGoogle Analyticsだけでも非常に強力ですし、まずは無料で使い始めてみるのも手かも知れませんね。

明日は shimizu.sho さんの git revertのミスでmergeできなくなった です。


watanabe.tのブログ

クラウドソリューショングループ所属

昔はモバイルアプリ開発を、今はGCP, AWS, Firebaseなどのクラウド周りの提案/開発を行っているエンジニアです。

AWS認定ソリューションアーキテクト取得しました!