AIを使用して英語から翻訳されました
この記事はAI技術を使用して翻訳されたことにご注意ください。正確性を維持するよう努めていますが、一部の詳細が元のテキストを完全に反映していない場合があります。情報に不明な点がある場合は、英語版を参照してください。
Identify APIを使用すると、JavaScriptを介してユーザーに関するデータを私たちに送信し、それをユーザー属性として保存できます。これらのユーザー属性は、調査のターゲットに使用できます。任意のサイトで、これらの属性に関連付けられた任意の数のユーザーとともに、最大100のユーザー属性を送信できます。
概要
ユーザー属性は、Identify APIを介してクライアント側のコードから送信される、サイトのユーザーに関するデータ値です。このデータは、キーと値のペアとして、非同期AJAX呼び出しで私たちのサーバーに送信されます。これらの値は、ユーザーIDに関連付けられており、ユーザーのデータベースからのユーザーID値から私たちに送信される一意に識別可能な値です。これにより、Contentsquareは、収集されたデータを、あなたのデータベースで使用しているのと同じユーザーIDに関連付けることができ、そのユーザーに関する情報を照会することができます。
ユーザー属性をContentsquareに送信し、それを使用するプロセスには4つのフェーズがあります。
- サイトからデータを取得します。
- Identify APIを介してデータをContentsquareに送信します。
- Contentsquareは、各ユーザーに関するデータをユーザーIDに対してユーザー属性として保存します。
- これで、ユーザー属性によって調査をターゲットおよびフィルタリングできます。
Identifyへの呼び出し
Identifyへの呼び出しを開始する前に、ユーザー属性は、ユーザー属性を使用したい各サイトの設定で有効にする必要があります。
ユーザー属性の有効化と無効化
ユーザー属性ページ(設定 > ユーザー属性)で、ユーザー属性を追加したいサイトを選択ドロップダウンを使用して見つけます。
このページでユーザー属性を無効にすることもできます。ユーザー属性が有効なサイトを選択したら、ユーザー属性を無効にするをクリックします。これを行うと、APIへのさらなる呼び出しがブロックされます。「ユーザー属性を無効にする」ボタンは、Contentsquareがユーザー属性データを受信した後にのみ表示されますが、それ以前には表示されません。
将来的にユーザー属性が送信されるのを防ぎたい場合は、サイトからIdentify APIコードを削除する必要があります。コードがサイトから削除されると、以前に収集されたユーザー属性は存在し続けますが、新しいユーザーに対しては更新または追加されなくなります。
APIコール
Identify APIへのコールのフォーマットは次のとおりです:
hj('identify', userId, {
user_attribute: value
});
- 最初のパラメータには常に文字列値「identify」を含める必要があります。
- 2番目は、サイト上のユーザーのユーザーIDを含む文字列、または不明な場合はnullである必要があります。
- 3番目は、オブジェクト内のキーと値のペアのシリーズです。キーはユーザー属性名を提供し、値はそのユーザーに対するユーザー属性のタイプと値を定義します。ユーザー属性名の最大長は50文字です。
このコールに渡される値は、あなたのサイトのコードベースから取得する必要があります。これらの値は、サーバーから直接取得するか、クライアント側で生成することができます。
Contentsquareに送信されると、これらの属性と各ユーザーの値はContentsquareのサーバーに保存されます。Identifyへのコールが行われるたびに、Contentsquareのサーバーに保存されている値は、これらの属性の最新の値に置き換えられます。
Contentsquareに送信されたすべての属性は、ユーザー属性設定ページで確認できます。ユーザー検索機能を使用して、サイト上の特定のユーザーに対して渡された値を確認できます。
ユーザーIDの取り扱い
Identify APIコールを通じてContentsquareに渡される2番目の引数は、あなたのサイトのデータベースからの一意に識別可能なユーザーIDである必要があります。ユーザー属性はこのユーザーIDに関連付けられています。
ユーザーIDはユーザーごとに一意である必要がありますが、個人情報を含んではいけません。また、このユーザーに対して決して変わらない値である必要があります。ContentsquareにユーザーIDを設定すると、それを変更することはできません。変更された場合、Contentsquareはこれをまったく新しいユーザーと見なします。
ユーザーIDが不明な場合(null値を渡すことによって)、Contentsquareに渡される他のユーザー属性は個人を特定できる情報(PII)を含んではいけません。特定のユーザーに関連付けられたユーザー属性を検索する能力は、そのユーザーIDを検索できるかどうかに依存します。このデータを取得または削除する方法はなく、サイト全体を削除しない限り不可能です。
ユーザー属性の値
Identify APIを使用して、ユーザー属性キーに次の値を渡すことができます。現時点では特殊文字は使用できません。
メールアドレスの取り扱い
現在、メールアドレス用のユーザー属性キーは1つだけです: email。メールアドレスは文字列としてemailに渡す必要があります。例えば:
hj('identify', userId, {
email: 'test@test.com'
});
他の文字列型のユーザー属性にメールアドレスが含まれている場合、それらは拒否されるため、メールアドレスを渡すには`email`のみを使用する必要があります。
メールアドレスとユーザーID
user_idはメールアドレスの形式を取ることができるため、ユーザーのデータベースの主キーがメールアドレスである場合、これをuser_idとして使用できます。これは最後の手段としてのみ使用するべきです。データベース内のユーザーの主キーがメール以外で存在する場合は、それを使用するべきです。
メールアドレスは通常変更される可能性があるため、メールアドレスが更新されると、Contentsquareはそのユーザーをまったく異なるユーザーとして扱います。これにより、古いメールアドレスでユーザー検索を使用することができなくなり、プライバシー要件に違反する可能性があります。
ユーザー属性を渡す例
支払い顧客の特定
ここでは、Contentsquareに対して、誰かがあなたのサイトでどれだけお金を使ったかを伝えたい例です。
hj('identify', userId, {
total_spend: 500
});
複数の属性は、オブジェクトにさらにキーと値のペアを追加することで渡すことができます。もしかしたら、Contentsquareに顧客になった最初の時期を知ってもらいたいですか?
hj('identify', userId, {
total_spend: 500,
first_purchase: '2019-06-20Z'
});
ここでは、ISO8601日付文字列を使用して、あなたのユーザーがサービスの顧客になったことをContentsquareに伝えています。
非特定ユーザーの属性の特定
時には、まだユーザーや支払い顧客でない場合でも、サイト上のユーザーに関する情報を追跡することが有用です。例えば、紹介元や、潜在的なリードがあなたに到達したランディングページのA-Bテストのバリアントを追跡したいとしましょう:
hj('identify', null, {
ab_test: 'variant-A',
referrer: 'facebook_paid'
});
これは、例えば、バリアントAのユーザーに対して調査をターゲットにしたい場合や、Facebookの有料広告から来たユーザーのみに対して調査を行いたい場合に有用です。
ユーザー検索と削除リクエストの処理
ユーザーIDを使用してユーザーのデータを検索および削除することが可能です。これについては、私たちのユーザー検索ツールの理解の記事で詳しく説明しています。ユーザーのユーザーIDとメールアドレスの両方を知っている場合は、両方を使用してその情報を検索することが重要です。これが、このユーザーに関するすべての個人情報が検索され、削除されたことを確認する唯一の方法です。
ユーザー属性の無効化
さらなるユーザー属性が送信されるのを防ぐために、ユーザー属性を無効にする必要があります。
ユーザー属性がサイトで有効になっている限り、将来的に送信されるのを防ぎたい場合は、サイト上の関連コードを削除する必要があります。コードがサイトから削除されると、以前に収集されたユーザー属性は存在し続けますが、新しいユーザーに対しては更新または追加されなくなります。
ユーザー属性の削除
ユーザー属性は、ユーザー属性管理ページで、属性の右側にあるゴミ箱アイコンをクリックすることで削除できます。
ユーザー属性を削除しても、それを含む既存のセッションや応答からは削除されません。属性はフィルタリングやターゲティングからのみ削除されます。削除したユーザー属性をすべてのIdentify API呼び出しから削除することを忘れないでください。そうしないと、リストに再表示されます。
属性が削除されると、すぐに消えます。ただし、属性はバックエンドに7日間保存され、その後に完全に削除されます。属性に関連するデータは、7日間の期間中は無視されます。これは、キャッシュの問題によるデータ送信を防ぐためです。
削除された属性を再作成したい場合は、属性が正常に再作成されるまで7日間待つ必要があります。
ベストプラクティス
IdentifyにAPI呼び出しを行うタイミング
次のたびにIdentifyに呼び出しを行うべきです:
- 最新の値でページが読み込まれたとき(変更されていなくても)。
- シングルページアプリでURLが変更された後。
- 変更が行われるたびに。例えば、店舗での最後の購入を追跡したい場合、購入が行われた後にこのユーザー属性を更新する必要があります。
各呼び出しは、最新の値でユーザー属性を更新します。呼び出しが行われたが値が更新されていない場合、不要なAJAXリクエストを避けるためにネットワークリクエストは送信されません。
ユーザー属性ターゲティングと調査の他のトリガーの組み合わせ
調査のためにイベントとユーザー属性ターゲティングを組み合わせる予定がある場合、実行順序においてトリガーの前にIdentify呼び出しが行われたことを確認してください。他のサービスへの非同期呼び出しを考慮に入れてください。Identify API呼び出しの実行が完了する前にトリガーが実行されると、調査は表示されません。
Contentsquareタグが読み込まれる前にAPIへの呼び出しをキューに入れる
このスクリプトがContentsquareタグの前に追加されると、エラーが発生します。
hj()オブジェクトには、Contentsquareタグが実行されるまでアクセスできません。何らかの理由でContentsquareタグが実行される前にIdentify APIにアクセスする場合は、APIが呼び出される前に次の行のコードを追加できます:
window.hj=window.hj||function(){(hj.q=hj.q||[]).push(arguments)};