ユーザー属性とユーザー識別子の違い
MoEngage において、ユーザー属性とユーザー識別子はそれぞれ異なる目的を持っています。 ユーザー識別子: ユーザー識別子は、複数のセッションやデバイスをまたいで保持される一意の値であり、ユーザーが異なるプラットフォームを切り替えたり後からログインしたりした場合でも、MoEngage がそのユーザーを同一人物として認識できるようにします。このプロセスは ID 解決(Identity Resolution)と呼ばれ、統合されたユーザープロファイルの維持、一貫したユーザー体験の提供、ユーザー行動の正確なトラッキングに不可欠です。 ユーザー識別子の一般的な例は次のとおりです。- メールアドレス: メールアドレスは個人に固有で、異なるプラットフォーム間でも一貫しているため、広く使用される識別子です。
- 電話番号: メールアドレスと同様に、電話番号も一意の識別子として使用でき、特にモバイルアプリケーションで有効です。
- ユーザー ID: MoEngage は登録時に各ユーザーに一意の ID を割り当てます。この ID は MoEngage プラットフォーム内で信頼性の高い識別子として使用されます。
- 顧客 ID: EC や顧客関係管理(CRM)システムでは、さまざまなインタラクションを通じて個々の顧客をトラッキングするために顧客 ID が割り当てられます。
MoEngage の機能を活用する
ユーザー属性と識別子は、MoEngage を効果的に活用するうえで非常に重要です。- セグメンテーション:
- 属性を使用して、デモグラフィックや行動などに基づいたターゲットユーザーグループを作成します。
- 例: 特定のキャンペーン向けに、年齢や購入履歴でユーザーをセグメント化します。
- パーソナライゼーション:
- 識別子により、デバイスをまたいで一貫したユーザー体験を確保します。
- 属性により、メッセージやレコメンデーションなどのコンテンツを個別に最適化できます。
- 例: メールを名前でパーソナライズしたり、関連する商品をレコメンドしたりします。
- 分析:
- 属性は、ユーザーのアクションや行動データにコンテキストを付与します。
- セグメント別のコンバージョン率や、デモグラフィック別の機能エンゲージメントを分析します。
- データに基づく意思決定のために、より深いインサイトを得られます。
ログイン/ログアウトの実装
SDK バージョン 9.2.00 未満については、こちらのドキュメントを参照してください。ユーザーのログイン
単一の識別子 アプリケーションがログインにメール ID などの単一の一意なユーザー識別子を使用している場合は、以下の API を使用して識別子を MoEngage SDK に渡します。ユーザー識別とセッション管理を改善するため、SDK の関数が更新されています。
- 強制ログアウト: MoEngage SDK は、デバイス上で新しいユーザーが検出されても、以前のユーザーを自動的にログアウトしなくなりました。ID 解決が有効なワークスペースでは、データの破損を防ぐため、明示的にログアウトを呼び出す必要があります。
- SetUniqueID: IdentifyUser 関数は複数の識別子をサポートしており、ユーザー識別のために SetUniqueID 関数を使用する必要がなくなりました。SetUniqueID は今後の SDK リリースで削除される予定であるため、特にワークスペースで ID 解決を使用している場合は、代わりに identifyUser を使用することが重要です。
- SetAlias: ID 解決機能が有効なワークスペースでは、MoEngage SDK は以前の識別子の値を保存します。IdentifyUser 関数を使用して新しい識別子の値をトラッキングすると、MoEngage SDK は識別子の値の変更を検出し、それに応じてレポートします。
- ログアウトせずに IdentifyUser 関数を呼び出すと、既存のログイン済みユーザーの ID が更新されます。
ネットワークの問題により識別子が MoEngage サーバーに届かなかった場合、SDK は
identifyUser() の呼び出しをキャッシュし、ネットワークが利用可能になったとき、または次回アプリを開いたときに自動的に再試行します。- identifyUser() を複数回呼び出すと、新しい識別子は既存のリストを置き換えるのではなく、既存のリストに追加されます。動作の例は次のとおりです。
- 既に存在する識別子キーで identifyUser() を呼び出すと、新しい値で既存の値が更新されます。動作の例は次のとおりです。
- 利用可能になった時点で新しい識別子を追加する
- 他の識別子に影響を与えずに特定の識別子を更新する
- 時間をかけて完全なユーザー ID プロファイルを構築する
u_em、u_mb は標準ユーザー属性です。その他の標準ユーザー属性を使用してユーザーを識別するには、こちらのセクションを参照してください。
標準属性とカスタム属性
標準属性: メールアドレスや携帯電話番号など、MoEngage ダッシュボード内であらかじめ定義されている一般的なユーザー属性です。以下の表に、これらの標準属性と対応するキー名を示します。
カスタム属性: 標準属性に加えて、MoEngage ダッシュボード内で独自に定義する属性です。カスタム属性の使用例は次のとおりです。
ユーザーのログアウト
ユーザーがアプリケーションからログアウトするたびに、アプリケーションは MoEngage SDK に通知する必要があります。SDK に通知するには、ユーザーがアプリケーションからログアウトするたびに API を呼び出します。ログアウトコールバックリスナー
ログアウトの完了時にコールバックを受け取るには、onLogoutComplete イベントのリスナーを登録します。
ログアウトコールバックリスナーには、Flutter SDK バージョン 10.8.0 以降が必要です。
ログアウトコールバックデータ
ユーザー属性のトラッキング
名前、メール、携帯電話番号、性別などのユーザー属性を設定するには、次のヘルパーメソッドを使用します。イベント、イベント属性、ユーザー属性の名前に “moe_” をプレフィックスとして使用することはできません。これはシステムプレフィックスであり、使用すると事前の通知なしに定期的にブラックリストに登録される可能性があります。
日付をユーザー属性としてトラッキングする:
任意の日付をユーザー属性としてトラッキングするには、setUserAttributeIsoDate(name, date) を使用します。この API は属性名と ISO 日付を入力として受け取ります。日付形式 -yyyy-MM-dd’T’HH:mm:ss.fff’Z’
例:
位置情報をユーザー属性としてトラッキングする:(Web では利用不可)
任意の位置情報をユーザー属性としてトラッキングするには、setUserAttributeLocation() を使用します。この API は属性名と、座標を表す MoEGeoLocation のインスタンスを入力として受け取ります。例:
カスタムブール型ユーザー属性
iOS(オプション)
moengage_flutter のバージョン 8.x.x 以降、カスタムブール型属性のデフォルトのトラッキングは double(0/1) から boolean(true/false) に変更されます。これを設定するには、AnalyticsConfig で shouldTrackUserAttributeBooleanAsNumber を使用し、ブール値を double としてトラッキングする場合は true を渡します。デフォルトでは、ブール値を true/false としてトラッキングするために false に設定されています。 以下の例を参照してください。ユーザー属性の予約キーワード
以下は、ユーザー属性のトラッキング時に使用してはならないキーの一覧です。- USER_ATTRIBUTE_UNIQUE_ID
- USER_ATTRIBUTE_USER_EMAIL
- USER_ATTRIBUTE_USER_MOBILE
- USER_ATTRIBUTE_USER_NAME
- USER_ATTRIBUTE_USER_GENDER
- USER_ATTRIBUTE_USER_FIRST_NAME
- USER_ATTRIBUTE_USER_LAST_NAME
- USER_ATTRIBUTE_USER_BDAY
- USER_ATTRIBUTE_NOTIFICATION_PREF
- USER_ATTRIBUTE_OLD_ID
- MOE_TIME_FORMAT
- MOE_TIME_TIMEZONE
- USER_ATTRIBUTE_DND_START_TIME
- USER_ATTRIBUTE_DND_END_TIME
- MOE_GAID
- MOE_ISLAT
- INSTALL
- UPDATE
- status
- user_id
- source
イベント、イベント属性、ユーザー属性の名前に “moe_” をプレフィックスとして使用することはできません。これはシステムプレフィックスであり、使用すると事前の通知なしに定期的にブラックリストに登録される可能性があります。