Skip to main content
ユーザー属性とは、ユーザーについて把握している情報のことです。年齢や性別などのデモグラフィック情報、プランなどのアカウント固有の情報、あるいはユーザーが特定の A/B テストのバリエーションを閲覧したかどうか、といったものが該当します。ユーザー属性は、顧客のライフサイクル全体を通じて参照できる顧客のプロパティです。

ユーザー属性とユーザー識別子の違い

MoEngage において、ユーザー属性とユーザー識別子はそれぞれ異なる目的を持っています。 ユーザー識別子: ユーザー識別子は、複数のセッションやデバイスをまたいで保持される一意の値であり、ユーザーが異なるプラットフォームを切り替えたり後からログインしたりした場合でも、MoEngage がそのユーザーを同一人物として認識できるようにします。このプロセスは ID 解決(Identity Resolution)と呼ばれ、統合されたユーザープロファイルの維持、一貫したユーザー体験の提供、ユーザー行動の正確なトラッキングに不可欠です。 ユーザー識別子の一般的な例は次のとおりです。
  • メールアドレス: メールアドレスは個人に固有で、異なるプラットフォーム間でも一貫しているため、広く使用される識別子です。
  • 電話番号: メールアドレスと同様に、電話番号も一意の識別子として使用でき、特にモバイルアプリケーションで有効です。
  • ユーザー ID: MoEngage は登録時に各ユーザーに一意の ID を割り当てます。この ID は MoEngage プラットフォーム内で信頼性の高い識別子として使用されます。
  • 顧客 ID: EC や顧客関係管理(CRM)システムでは、さまざまなインタラクションを通じて個々の顧客をトラッキングするために顧客 ID が割り当てられます。
これらの識別子は identifyUser() メソッドを使用して設定します。 ID 解決が有効化され、ワークスペースで識別子がアクティブ化されていない限り、デフォルトではパラメーター ID がワークスペースで使用される識別子となります。 ユーザー属性: ユーザーのプロファイルを充実させる、ユーザーに関する説明的な情報です。セグメンテーション、パーソナライゼーション、分析に使用されます。例: 名前、年齢、性別、好み、購入履歴。setFirstName() や setUserAttribute() などの専用メソッドを使用して設定します。パーソナライズされたユーザー体験の作成に役立ちます。 簡単に言うと、識別子は「このユーザーは誰か?」に答え、属性は「このユーザーについて何を知っているか?」に答えるものです。

MoEngage の機能を活用する

ユーザー属性と識別子は、MoEngage を効果的に活用するうえで非常に重要です。
  • セグメンテーション:
    • 属性を使用して、デモグラフィックや行動などに基づいたターゲットユーザーグループを作成します。
    • 例: 特定のキャンペーン向けに、年齢や購入履歴でユーザーをセグメント化します。
  • パーソナライゼーション:
    • 識別子により、デバイスをまたいで一貫したユーザー体験を確保します。
    • 属性により、メッセージやレコメンデーションなどのコンテンツを個別に最適化できます。
    • 例: メールを名前でパーソナライズしたり、関連する商品をレコメンドしたりします。
  • 分析:
    • 属性は、ユーザーのアクションや行動データにコンテキストを付与します。
    • セグメント別のコンバージョン率や、デモグラフィック別の機能エンゲージメントを分析します。
    • データに基づく意思決定のために、より深いインサイトを得られます。
属性と識別子を活用することで、より関連性が高く魅力的なユーザー体験を構築できます。

ログイン/ログアウトの実装

SDK バージョン 9.2.00 未満については、こちらのドキュメントを参照してください。

ユーザーのログイン

単一の識別子 アプリケーションがログインにメール ID などの単一の一意なユーザー識別子を使用している場合は、以下の API を使用して識別子を MoEngage SDK に渡します。
複数の識別子 アプリケーションがメール ID、ユーザー ID、携帯電話番号など複数のログイン識別子をサポートしている場合は、次の関数を使用して関連するすべての識別子を SDK に渡します。
ユーザー識別とセッション管理を改善するため、SDK の関数が更新されています。
  • 強制ログアウト: MoEngage SDK は、デバイス上で新しいユーザーが検出されても、以前のユーザーを自動的にログアウトしなくなりました。ID 解決が有効なワークスペースでは、データの破損を防ぐため、明示的にログアウトを呼び出す必要があります。
  • SetUniqueID: IdentifyUser 関数は複数の識別子をサポートしており、ユーザー識別のために SetUniqueID 関数を使用する必要がなくなりました。SetUniqueID は今後の SDK リリースで削除される予定であるため、特にワークスペースで ID 解決を使用している場合は、代わりに identifyUser を使用することが重要です。
  • SetAlias: ID 解決機能が有効なワークスペースでは、MoEngage SDK は以前の識別子の値を保存します。IdentifyUser 関数を使用して新しい識別子の値をトラッキングすると、MoEngage SDK は識別子の値の変更を検出し、それに応じてレポートします。
  • ログアウトせずに IdentifyUser 関数を呼び出すと、既存のログイン済みユーザーの ID が更新されます。
ネットワークの問題により識別子が MoEngage サーバーに届かなかった場合、SDK は identifyUser() の呼び出しをキャッシュし、ネットワークが利用可能になったとき、または次回アプリを開いたときに自動的に再試行します。
SDK およびデータトラッキングを有効化または無効化するには、コンプライアンスを参照してください。 注意: 複数の識別子を使用して identifyUser() を実装する前に、MoEngage ダッシュボードで定義した識別子をアクティブ化する必要があります。設定手順については、こちらのドキュメントを参照してください。 identifyUser() を複数回呼び出した場合の動作
  • identifyUser() を複数回呼び出すと、新しい識別子は既存のリストを置き換えるのではなく、既存のリストに追加されます。動作の例は次のとおりです。
  • 既に存在する識別子キーで identifyUser() を呼び出すと、新しい値で既存の値が更新されます。動作の例は次のとおりです。
この動作により、次のことが可能になります。
  • 利用可能になった時点で新しい識別子を追加する
  • 他の識別子に影響を与えずに特定の識別子を更新する
  • 時間をかけて完全なユーザー ID プロファイルを構築する
ここで、u_em、u_mb は標準ユーザー属性です。その他の標準ユーザー属性を使用してユーザーを識別するには、こちらのセクションを参照してください。

標準属性とカスタム属性

標準属性: メールアドレスや携帯電話番号など、MoEngage ダッシュボード内であらかじめ定義されている一般的なユーザー属性です。以下の表に、これらの標準属性と対応するキー名を示します。 カスタム属性: 標準属性に加えて、MoEngage ダッシュボード内で独自に定義する属性です。カスタム属性の使用例は次のとおりです。
複数の識別子を設定する際にカスタム属性と標準属性の両方を選択する詳細な手順については、こちらのドキュメントを参照してください。

ユーザーのログアウト

ユーザーがアプリケーションからログアウトするたびに、アプリケーションは MoEngage SDK に通知する必要があります。SDK に通知するには、ユーザーがアプリケーションからログアウトするたびに API を呼び出します。
重要 - 非常に重要な統合ガイドラインプロジェクト内で identifyUser と setUserUniqueID()(バージョン 9.2.0 未満に存在する識別子を割り当てるメソッド)の両方のログインメソッドを使用しないでください。どちらか一方のメソッドのみを使用してください。両方のメソッドを使用すると、MoEngage アカウントでユーザープロファイルの作成やマージに不整合が生じる可能性があります。

ログアウトコールバックリスナー

ログアウトの完了時にコールバックを受け取るには、onLogoutComplete イベントのリスナーを登録します。
ログアウトコールバックリスナーには、Flutter SDK バージョン 10.8.0 以降が必要です。

ログアウトコールバックデータ

ユーザー属性のトラッキング

名前、メール、携帯電話番号、性別などのユーザー属性を設定するには、次のヘルパーメソッドを使用します。
その他のユーザー属性を設定するには、汎用メソッド setUserAttribute(key,value) を使用できます。 カスタムユーザー属性を設定するには、以下のように属性名を指定する必要があります。
イベント、イベント属性、ユーザー属性の名前に “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_” をプレフィックスとして使用することはできません。これはシステムプレフィックスであり、使用すると事前の通知なしに定期的にブラックリストに登録される可能性があります。