cách tiếp cận của bạn
Nó dường như với tôi rằng việc tạo thủ công địa chỉ liên hệ hoàn toàn không cần thiết trong trường hợp của bạn.
Như tôi hiểu từ bài viết của bạn, đây là những gì sẽ xảy ra:
- Một người dùng truy cập trang web của bạn.
- Sitecore tạo một liên hệ mới (ID: xxx).
- Người dùng duyệt trang web và gửi biểu mẫu của bạn.
- Email xác nhận được gửi đến địa chỉ email của người dùng.
- Người dùng nhấp vào liên kết trong email và truy cập trang xác nhận trên trang web.
- Mã của bạn tạo một liên hệ mới trong xDB (ID: yyy).
Kết quả là, bạn có hai liên hệ riêng biệt trong xDB không liên quan với nhau, từ quan điểm của Sitecore.
Bây giờ, câu hỏi của bạn:
Will Sitecore xác định người sử dụng như tiếp xúc (và hợp nhất tiếp xúc mang tính chất hiện có) hoặc nó sẽ tạo mới tiếp xúc mang tính chất mỗi lần?
Nếu dùng đang truy cập từ cùng một trình duyệt, Sitecore sẽ nhận ra chúng như sự tiếp xúc ban đầu (ID: xxx) dựa trên một cookie.Sitecore sẽ không tạo một liên hệ mới trong trường hợp này.
Nếu người dùng đang truy cập từ trình duyệt hoặc thiết bị khác, người đó sẽ không được nhận dạng là bất kỳ liên hệ hiện tại nào và người liên hệ ẩn danh mới sẽ được tạo (ID: zzz).
Như bạn có thể thấy, Sitecore không có cách nào tự động sử dụng liên hệ bạn đã tạo (ID: yyy).
kiến nghị giải pháp
Cách duy nhất để làm cho Sitecore nhận ra một người sử dụng như một số liên lạc cụ thể là sử dụng identification API. Nói tóm lại, những gì bạn có thể làm là thế này:
Sitecore.Analytics.Tracker.Current.Session.Identify(identifier);
Đây là những gì tôi đề nghị bạn làm:
- Do không tạo danh bạ mới bằng tay-có chỉ không có nhu cầu cho điều đó.
- Khi người dùng đã gửi biểu mẫu, bạn gọi
Identify()
và chuyển địa chỉ email của người dùng là identifier
. Thao tác này sẽ đặt địa chỉ email của người dùng làm số nhận dạng của liên hệ hiện tại.
- Khi người dùng quay trở lại từ liên kết email bạn đã gửi, bạn gọi lại
Identify()
một lần nữa. Điều này sẽ đảm bảo rằng, ngay cả khi người dùng đến từ một thiết bị khác, cùng một liên hệ xDB sẽ được sử dụng trong phiên của anh ta. Bạn cần phải chuyển cùng một địa chỉ email đến Identify()
, vì vậy, hãy đảm bảo bạn có quyền truy cập vào địa chỉ email đó — ví dụ: bạn có thể đưa địa chỉ đó vào liên kết xác nhận email của mình dưới dạng tham số chuỗi truy vấn.
- Sử dụng
Sitecore.Analytics.Tracker.Current.Contact
và điền số liên lạc hiện tại facets bằng thông tin bạn đã thu thập về người dùng.
- Nếu bạn có chức năng đăng nhập, hãy nhớ gọi
Identify()
về các lần đăng nhập thành công — một lần nữa, điều này đảm bảo rằng cùng một liên hệ được sử dụng cho tất cả các phiên của cùng một người dùng.
Nguồn
2016-09-09 06:51:59
Cảm ơn bạn rất nhiều! Điều này thực sự giúp tôi hiểu rõ hơn về địa chỉ liên hệ. –