Сохранение информации о посетителе Sitecore DMS для пользователя

С помощью Sitecore DMS вы можете создавать профили и показывать конкретные страницы в зависимости от привычек посещения пользователя. Эта информация хранится с использованием файла cookie, поэтому каждый раз, когда пользователь возвращается, он имеет один и тот же профиль посетителя. Но если они удаляют свои куки или переключают браузеры, эта информация исчезает. Теперь я хочу сохранить эту информацию о посетителях для пользователя sitecore, чтобы они могли войти в систему, и их профили посетителей будут такими же, как при выходе, независимо от того, где они находятся и какой браузер они используют. Я пытался понять это некоторое время, но безуспешно. Всякий раз, когда я вхожу с пользователем и создаю определенный профиль, этот профиль удаляется, как только я выхожу из системы. Возможно ли это даже для Sitecore, потому что довольно глупо иметь профили, основанные на файлах cookie, только когда файлы cookie постоянно удаляются.

2 ответа

Решение

С помощью Sitecore Analytics у вас есть два файла cookie для отслеживания, один для сеанса, другой для GlobalSession (срок действия которого не истекает во время обычных сеансов asp.net). К сожалению, Sitecore отслеживает не ключевые оценки профиля на основе GlobalSession, а по одному сеансу asp.net. Вся система основана на этом, и это очень разочаровывает. '

Чтобы обойти это, я использовал OMS и Reflector, чтобы разбирать и переписывать некоторые аналитические коды для записи в глобальном сеансе. Это также потребовало нескольких изменений схемы, а также новых правил... довольно обширная работа. В конце концов, из-за размера базы данных и нашей потребности в очень ограниченном количестве функций я закончил тем, что создал единую таблицу и записал значения ключа профиля в нее с помощью globalsession.

Насколько я понимаю, схема изменилась с OMS на DMS, но самый важный фактор - данные записываются сессией - не изменился.

Что касается хранения идентификатора пользователя, вы можете связать это с "тегом", который, я полагаю, хранится с globalsessionid, по крайней мере, в OMS. Однако Sitecore не обновляет записи тегов, поэтому вы получите несколько записей на один глобальный сеанс. Если вы сохраняете это значение при каждом запросе, эта таблица будет быстро увеличиваться.

Для этого есть несколько причин... Не в последнюю очередь из-за того, что во многих случаях у вас нет зарегистрированного пользователя, чтобы сопоставить эту информацию. Данные профиля не сохраняются в файлах cookie... они хранятся в таблице Google Analytics. Но он связан с файлом cookie с уникальным идентификатором, и после удаления идентификатор (надеюсь!) Больше не будет использоваться.

Предложение о том, как обойти это здесь, в этом ответе Stackru.

Другие вопросы по тегам