を
手動で作成するあなたの場合、連絡先は完全に不要です。
私はあなたのポストからの理解では、ここで何が起こるかです:
- ユーザーがあなたのウェブサイトを訪問します。
- Sitecoreによって新しい連絡先(ID:xxx)が作成されます。
- ユーザーは、Webサイトを閲覧し、フォームを送信します。
- 確認メールがユーザーのメールアドレスに送信されます。
- ユーザーは電子メールのリンクをクリックして、サイトの確認ページにアクセスします。
- コードでxDBに新しい連絡先が作成されました(ID:yyy)。
結果として、Sitecoreの観点からは、xDBには2つの別々の連絡先が関連付けられていません。
今、あなたの質問に:
ウィルサイトコア連絡先としてユーザーを識別(匿名接触を既存にマージ)、またはそれは新しい匿名の連絡先を毎回作成されますか?
ユーザーが同じブラウザから訪問している場合は、サイトコアは、元の連絡先(ID:XXX)として認識されますクッキーに基づきます。この場合、Sitecoreは新しい連絡先を作成しません。
ユーザーが別のブラウザまたはデバイスからアクセスしている場合、そのユーザーは既存の連絡先として認識されず、新しい匿名の連絡先が作成されます(ID:zzz)。
ご覧のとおり、Sitecoreは作成した連絡先を自動的に使用する方法がありません(ID:yyy)。
推奨する解決方法
にサイトコアは、特定の連絡先としてユーザーを認識させるための唯一の方法は、identification APIを使用することです。要するに、あなたができることはこれです:
Sitecore.Analytics.Tracker.Current.Session.Identify(identifier);
は、ここにあなたが何をすべきか、私はお勧めです:
- がないは、新しい連絡先を作成しています手動あり、そのためだけに必要ません。
- ユーザーがフォームを送信すると、
Identify()
が呼び出され、ユーザーの電子メールアドレスがidentifier
として渡されます。これにより、ユーザーの電子メールアドレスが現在の連絡先の識別子として設定されます。
- 送信したメールリンクからユーザーが戻ったときには、もう一度
Identify()
が呼び出されます。これにより、ユーザーが別のデバイスから来ていても、そのセッションで同じxDBコンタクトが使用されるようになります。同じ電子メールアドレスをIdentify()
に渡す必要があります。そのため、アクセス権があることを確認してください。たとえば、電子メールの確認リンクにクエリ文字列パラメータとして含めることができます。
Sitecore.Analytics.Tracker.Current.Contact
を使用して、現在の連絡先のfacetsに、ユーザーについて収集した情報を入力します。
- ログイン機能を使用している場合は、成功したログイン試行で
Identify()
を再度呼び出す必要があります。同じユーザーが同じユーザーが同じセッションを使用していることを確認してください。
ありがとうございました!これはコンタクトの理解を深めてくれました。 –