メインコンテンツにスキップ

カスタムデータ属性(CDA)を作成して追跡する

ビジネスに重要なカスタムデータを作成して追跡します。

対応者:Eric Fitzgerald

ビジネス固有の基準に基づいて、usersやleadsに関するカスタムデータ属性(CDA)を作成して追跡します。このデータを使って顧客セグメントをフィルタリング・作成し、ターゲットメッセージやキャンペーンを送信できます。また、qualification dataとしてleadsやtrial usersの資格判定にも利用可能です。

カスタムデータ属性とは何ですか?

カスタムデータ属性(CDA)は、顧客に関する事実を追跡します。例えば、誰かが利用しているプランや登録日時などです。これに対し、イベントは繰り返される顧客の行動を追跡します。

例:あなたの製品がプロジェクト管理ツールの場合、各userが持つファイル数のデータを追跡できます。ファイルをまだ追加していないuserに対してオンボーディング支援のメッセージを送りたい場合、「files less than 1」のuserを対象にしたメッセージを設定できます。

Intercomで最も一般的に設定されるCDAは、顧客開発に関するものです。例えば:

  • 料金プラン

  • 購入金額

  • 追加されたチームメンバー数

  • 再生された曲数

  • サブスクリプション終了日

重要:

signed_upの値は、統合を通じてIntercomに送信する必要があります。この値はuserがサービスに登録した時間を示します。

値を更新する方法は次の通りです:

  • intercomSettingsスニペット内でcreated_atパラメータのタイムスタンプを送信する。

  • REST APIを使用している場合は、signed_up_atの値を設定する。

  • CSVインポートを使い、インポートした列の1つをSigned Up日付としてマッピングする。

Intercomは以下の場合にのみsigned_upの日付を自動設定します:

  • SDK(Android/iOS)および未識別のusers

  • created_at値なしでJSスニペットを通じて作成されたusers

これらの場合、usersの登録時間は作成リクエストの時間に設定されます。それ以外の場合は、値をあなたが設定する必要があります。


カスタムデータ属性を作成する

Intercomで新しい属性を作成するには、設定 > データ > Peopleに移動し、+ 属性を作成をクリックします。新しい属性に名前、説明を付け、保存するデータの種類を選択します。

Messenger経由での属性更新を防止する

「属性更新」が有効な場合、この属性への更新は認証されたリクエスト(REST APIまたはMessengerのJSON Web Token)からのみ受け付けられます。認証されていないリクエストは無視されます。

この設定は各属性ごとにオン・オフ切り替え可能で、Public APIやCSVインポートなど他のソースからの更新には影響しません。有効でない属性は安全でない更新を受け入れます。

注意:

  • 不正なデータ更新を防ぐために「属性更新」を有効にすることを推奨します。その後、MessengerのJWTセキュリティを設定し、Messenger経由で安全に更新できるようにします。

  • Messenger経由の属性は、各属性で設定がオンの場合のみ安全でない更新から保護されます。

  • Messenger経由の属性更新はJWTで認証されたリクエストのみ処理されます。従来のIdentity Verification(User hash)方式は機能せず、JWTではなくuser_hashを含む保護属性の更新リクエストは処理されません。

保存をクリックすると属性がリストに追加されます。まだ顧客には反映されていません。JavaScriptスニペット、API、またはアプリストアのアプリからIntercomに送信する必要があります。👌


作成した属性の形式や説明を変更したい場合は、編集して変更できます。

重要:カスタムデータ属性の名前は作成後に変更できません。既存の属性をアーカイブし、新しい属性を作成する必要があります。

Messenger経由でカスタム属性を更新する

MessengerのJavascriptコードスニペットを使ってカスタムデータ属性を更新できます。

Messenger経由でカスタム属性を更新する際は、キーの値が常にJSONで有効な文字列(テキスト)、数値、またはブール値(trueまたはfalse)であることを必ず確認してください。テキスト文字列はダブルクォーテーションで囲み、値がない場合はNULLを送信してください。

日付やURLも送信可能です。URLはテキスト文字列として追跡できます。例:「http://www.google.com」。Intercomはこれを認識し、自動的にハイパーリンクに変換します。日付はUNIXタイムスタンプ(秒単位)で送信してください。キー名が「_at」で終わる場合は日付として扱います(例:「last_order_at」)。Intercomの日付の仕組みはこちら

重要:UNIXは秒単位で送信し、ミリ秒単位ではないことを確認してください。

データ属性のキーと値のペアの例をいくつか紹介します:

window.intercomSettings = {
  email: "bob@example.com",
  user_id: "123",
  app_id: "abc1234",
  created_at: 1234567890,
  "subdomain": "intercom", // Put quotes around text strings
  "teammates": 4, // Send numbers without quotes
  "active_accounts": 12,
  "last_order_at" : 1350466020, // Send dates in unix timestamp format and end key names with "_at"
  "custom_domain": null // Send null when no value exists for a user
}

重要:Messenger JSスニペット経由でCDAを渡す際にcustom_attributes: {}のネストされたオブジェクトを使用しないでください。この形式(例:custom_attributes: { lead_source: "Intercom" })はREST API専用です。window.intercomSettingswindow.Intercom("boot", ...)経由で渡すとMessengerはこれらの値を無視し、バックエンドは更新されません。CDAは常に設定オブジェクトのトップレベルキーとして直接渡してください。属性はMessenger経由で値を受け入れる前にIntercomに存在している必要があります。

Intercomに送信できるCDAの種類

  • 文字列(例:URL、プラン名、userタイプなど)

  • 数値(整数)

  • ブール値(true / false)

  • タイムスタンプ(日時)例:「converted_at」

覚えておくべきこと:

  • キー名は大文字・小文字を区別し、ピリオド('.')、ドル記号('$')、~`!@#%^&*'{}[]|\"'やNULL文字などの文字は含められません。— サポートされていない文字が使われた場合、属性はその位置にアンダースコアを入れて作成されます。

  • データ値はJSONの文字列、数値、またはブール値(trueまたはfalse)で送信する必要があります。オブジェクト、ネストされたハッシュ、配列形式のデータは受け付けられません。

  • テキスト文字列の値は最大255文字までです。これはカスタム属性にのみ適用され、会話データ属性には適用されません。

  • 空の文字列を送信することで、既存のデータの値をクリアできます。

  • Intercomは自動的に多くの標準属性を追跡します。カスタム属性を作成する前にこれらを確認してください。

  • ソフトリミットは250のアクティブなCDAです。

  • 数値は「0」で始めることはできません。整数は整数値なので、「01234」は「1234」として入力してください。先頭に「0」が含まれる州の郵便番号のような数字の文字列を収集する必要がある場合は、文字列属性を使用してください。

  • People属性とCompany属性は名前空間を共有しています:Peopleで使用されたカスタム属性名はCompanyで再利用できず、その逆も同様です。既存の属性がアーカイブされていても同じです。つまり、誤ってPeopleで作成した属性をCompany用にしたい場合(またはその逆の場合)、元の名前は再利用できません。誤った属性をアーカイブし、少し異なる名前で新しい属性を作成してください。会話属性は別で、PeopleやCompany属性と名前を共有しても問題ありません。

  • カスタム属性は削除できません:カスタム属性はUIを通じて完全に削除できず、アーカイブのみ可能です。Intercomサポートも代わりに削除できません。

  • Companyの「Plan Name」属性:IntercomにはCompany用の組み込みシステム属性「Plan Name」があります。設定には表示されませんが、会話サイドバーには表示されます。同じ名前のカスタムCompany属性を作成すると、両方がサイドバーに表示され、重複して見えます。これを避けるために、別の名前(例:「Subscription Plan」)を使用してください。

コードスニペットを更新してデータの追跡を開始したら、次のことを行ってください。

重要:geo-locationデータは、ユーザーのIPアドレスに基づき、Maxmindというサードパーティサービスから取得しています。このデータは制御できず、API経由で更新することはできませんが、誤っていると思われる場合はこちらのページからデータ修正リクエストを提出できます。

さらに、これらのusersはVPNを使用している可能性や、現在移動中である可能性があり、そのため位置情報が誤って表示されることがあります。

「region」属性について:アメリカ合衆国では「region」はを指します。他の国では異なる場合があり、例えばカナダでは「region」は州(Province)を指します。

すべてのregion値とその略称の一覧はこちらで確認できます。

その他の方法

usersに関するカスタム属性の追跡と更新は、CSVインポート、IntercomのREST API、または多くのサードパーティアプリケーションを使って行うことも可能です。

重要:カスタムデータ属性は、統合やサードパーティアプリが値を更新する前にIntercomで作成されている必要があります。統合やREST APIは既存の属性の値のみ更新可能で、新しい属性定義は作成できません。新しい属性を追加するには、設定 > データ > Peopleで手動で作成してください。

カスタム資格データとは何ですか?

資格データは、顧客プロフィールを手動で更新しながら資格付けを行うための特別な属性セットです。Intercomの簡単なフォームで設定できます。手動で更新する場合は、他に何もする必要はありません。

このデータをpingで追跡したい場合は、他のカスタムデータと同様にintercomSettingsコードスニペットにキー/バリューのペアを追加してください。

新しいカスタム資格データを作成するには、設定 > データ > People > Lead qualificationに移動してください。

下にスクロールしてデータを追加をクリックし、ドロップダウンメニューから+ 新しいデータを作成を選択します。

ここで名前(キー)を作成し、収集する値の形式(テキスト、数値、真偽値、リスト)を選択できます。

リスト形式を選択した場合、これは配列構造ではなく、値があらかじめ決められた選択肢のリストです。

注意:REST APIを使ってリスト属性の値を、手動で設定していない値に設定することは可能です。ただし、この値は手動で変更した場合にリストの恒久的なオプションとして追加されず、チームメンバーが手動で変更すると失われる可能性があります。

最後に、チームメンバーがデータを理解しやすくするために説明を追加できます。

カスタム資格データにはシンプルな名前を付けてください。Messengerで資格付けを行う場合、顧客はMessengerでこれらの名前を目にします。

重要:People Dataの手動選択可能なドロップダウン(リスト)属性は、属性ごとに35オプションまでに制限されています。この制限は解除できません。35以上の値が必要な場合は、テキスト属性を使用し、REST API経由で値を設定してください。


データ属性をアーカイブする

カスタムデータ属性は完全に削除できませんが、アーカイブは可能です。アーカイブされたデータはuserやleadリストのフィルターに表示されないため、不要なデータの整理に便利です。

設定 > データ > Peopleに移動してください。

アーカイブしたいデータを選択し、その横の編集アイコンをクリックして、ポップアップボックスでアーカイブをクリックします。取り消すこともできますが、カスタムデータ属性を完全に削除することはできません。

アーカイブされたカスタム属性を見つけるには、ページの一番下までスクロールしてください。

カスタム属性のアーカイブを解除したい場合は、属性を開いて「アーカイブ解除」をクリックしてください。


CDAの制限とベストプラクティスの理解

カスタムデータ属性(CDA)には、最適なパフォーマンスを維持するためのワークスペース制限があります。

ワークスペースごとにPeopleとCompanyのCDAは250までの制限がありますが、未使用の属性をアーカイブしてスペースを確保できます。

新しい属性を作成する際は、以下のベストプラクティスを考慮してください。

  • users全体に広く適用できる属性を作成してください。

  • 一時的な状況のための属性作成は避けてください。

  • 特定のシナリオにはEventsを代替手段として検討してください。

  • 適切な場合はタグを活用してください。タグには同じ制限がありません。

CDAの使用状況を定期的に見直し、効率的なワークスペース管理を行ってください。最適化後に容量が不足する場合は、追加の制限増加をリクエストできます。

注意:Messenger経由でusersのデータを送信する場合は、Messengerのセキュリティ強化を強く推奨します。詳細はこちら:


よくある質問

「Country」属性はどのように設定され、workflowsでの使用にどのくらい迅速に更新されますか?

「Country」属性は、usersのIPアドレスに基づいて自動的に設定および更新されます。これは、usersがアプリでアクティブであるかMessengerとやり取りするたびに即座に行われます。リアルタイムで利用可能なため、usersが会話を開始した瞬間にworkflowsを分岐させることができます。

「Country」属性は手動で編集できますか?

いいえ、「Country」属性はシステム生成フィールドであり、手動で編集できません。ユーザーや管理者が手動で更新できる国フィールドが必要な場合は、この目的のためにカスタム属性を作成してください。

Jira統合でカスタム属性へのAPI更新が失敗するのはなぜですか?

カスタム属性がJira属性と同じ名前を共有している場合、APIによるカスタム属性の更新は静かに失敗することがあります。重複した名前が存在すると、API更新リクエストはカスタム属性ではなくJira属性にルーティングされ、Jira属性への更新はブロックされてリクエストが失敗します。

これを修正するには、カスタム属性の名前をJiraの属性名と重複しないように変更してください。カスタム属性名は作成後に変更できないため、既存の属性をアーカイブし、ユニークな名前で新しい属性を作成する必要があります。

こちらの回答で解決しましたか?