Подключение к ДАРА
Как подключить сайт ДАРА АНАЛИТИКИ к проекту рекомендаций core.daratech.ru — ключ API, идентификаторы пользователей, когда появляются данные и что они дают в выдаче.
Если сайт работает с рекомендациями ДАРА (core.daratech.ru), подключите к проекту core сайт аналитики. Тогда пол, возрастная группа, город, дети, компания, интересы и категории покупок пользователя из аналитики попадут в его профиль в core и будут работать в выдаче.
Со стороны аналитики ничего нового нет: core запрашивает атрибуты посетителей через обычный API по ключу сайта — API: посетители. Персональные данные из аналитики в core не приходят, года рождения в core тоже нет — только возрастная группа.
Где включается подключение. Все настройки подключения — на стороне core: поле для ключа, проверка ключа, отключение и удаление данных. Поле ключа появляется в настройках проекта core вместе с выпуском поддержки ДАРА АНАЛИТИКИ в core; если его там ещё нет, подключение пока не включить. Со стороны аналитики нужен только ключ API сайта — он выпускается в кабинете аналитики уже сейчас. Названия полей, кнопок и статусов ниже — те, которые задаёт core; если в вашем проекте они называются иначе, ищите настройки подключения ДАРА АНАЛИТИКИ и документацию core.
Какой сайт аналитики подключать
К проекту core подключается один сайт аналитики: ключ API определяет сайт, и core ищет пользователей только среди посетителей этого сайта. Подключайте тот сайт, на страницах которого стоит тег и вызывается dara('user', {user_id}). Посетители и пользователи других ваших сайтов аналитики через этот ключ не находятся.
Как подключить
-
Тег. Установите тег аналитики на сайт — см. Быстрый старт.
-
Вход пользователя. Когда пользователь входит, вызовите на странице
dara('user', {user_id})с тем жеuser_id, который ваш сайт передаёт в core:dara('user', { user_id: 'u-501' });Вместо команды тега связь можно передать с сервера: запись
POST /usersсuser_idиvisitor_id— значением cookie_dara_aпосетителя — связывает посетителя с пользователем так же. Подробнее — в разделе Данные о посетителях. -
Анонимные посетители. Сервер сайта передаёт в core значение cookie
_dara_aполемanalytics_idобъектаuser— вместе с другими идентификаторами пользователя. Так core найдёт данные и о посетителе, который ещё не вошёл. Полеanalytics_idcore начнёт принимать вместе с выпуском поддержки ДАРА АНАЛИТИКИ; пока её нет, событие с этим полем core отклоняет с кодомinvalid_user. Добавляйте поле после того, как в настройках проекта core появится поле ключа. -
Ключ. Ключ вы выпускаете сами в своём кабинете аналитики: «Интеграции» → «Ключи API». Создайте отдельный ключ
ak_…только для core, например с именем «core». Полный ключ показывается один раз. -
Проект core. В настройках проекта core введите ключ в поле «Ключ API сайта ДАРА АНАЛИТИКИ» и нажмите «Проверить и сохранить». Поля ключа нет, пока core не выпустил поддержку ДАРА АНАЛИТИКИ.
-
DARA Fingerprint — по желанию. Чтобы core искал данные и по id устройства, DARA Fingerprint должен быть подключён и к сайту аналитики — см. DARA Fingerprint, — и к проекту core. Секретный ключ
sk_…вы так же выпускаете сами в кабинете fingerprint и вводите его в обоих сервисах отдельно. Если fingerprint подключён только в одном из них, поиск по id устройства не работает: аналитика без своего подключения молча пропускаетfingerprint_uuid.
Передача analytics_id в core
Поле analytics_id core начнёт принимать вместе с выпуском поддержки ДАРА АНАЛИТИКИ. Пока её нет, событие с этим полем core отклоняет: ответ остаётся 200, но событие попадает в rejected с кодом invalid_user и не учитывается. Поэтому добавляйте поле в свой код после того, как в настройках проекта core появится поле ключа, — иначе работающая передача событий перестанет доходить.
Пример события для API core с analytics_id:
curl -X POST https://core.daratech.ru/api/v1/events \
-H "Authorization: Bearer $DARA_KEY" \
-H "Content-Type: application/json" \
-d '{
"events": [
{"id": "evt-88121", "type": "view", "item": "v-1042",
"user": {"anonymous_id": "a-7f3c2e", "analytics_id": "0b7e6f8a-3c2d-4e5f-9a1b-2c3d4e5f6a7b"}}
]
}'
На PHP значение берётся из cookie запроса — только если это UUID:
<?php
$user = ['user_id' => 'u-501', 'anonymous_id' => 'a-7f3c2e'];
$analyticsId = $_COOKIE['_dara_a'] ?? '';
if (is_string($analyticsId) && preg_match('/\A[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\z/i', $analyticsId)) {
$user['analytics_id'] = $analyticsId;
}
analytics_idне определяет пользователя сам по себе: запрос, в котором кроме него идентификаторов нет, core считает запросом без пользователя. Передавайте его вместе сuser_idилиanonymous_id.analytics_idпривязывается к пользователю, которого core определил для запроса. Одномуanalytics_idсоответствует один пользователь — последний пришедший.- При склейке анонима с аккаунтом
analytics_idпереходит к пользователю сuser_id.
Ключ для core
- Чей ключ. Ключ принадлежит вам: вы выпускаете его в своём кабинете аналитики и сами вводите в настройках своего проекта core. Общего ключа ДАРА, одного на все проекты, нет, и сотрудники ДАРА ключ за вас не вводят.
- Отдельный ключ. Ключ для core не используйте в других программах: его можно сменить или отозвать, не трогая остальные интеграции, а по префиксу и дате последнего использования в списке «Ключи API» видно, что им пользуется именно core.
- Смена ключа. Создайте новый ключ, введите его в проекте core и нажмите «Проверить и сохранить». Когда core сохранит новый ключ, отзовите старый в списке «Ключи API». Отозванный ключ перестаёт работать сразу, поэтому не отзывайте старый, пока core не принял новый.
- Раскрытый ключ отзовите сразу и подключите новый так же.
- core хранит ключ зашифрованным. В аналитике после создания видны только имя ключа, префикс и даты.
Проверка ключа
core проверяет ключ запросом POST /visitors/attributes со случайным UUID в visitor_id:
| Ответ | Результат |
|---|---|
200 |
ключ действует, подключение сохраняется |
401 |
ключ неверен или отозван |
403 |
сайт аналитики недоступен: см. причины ниже |
| другой ответ | аналитика недоступна |
Ключ, который начинается не с ak_, core не принимает и подсказывает, где выпустить ключ: «Настройки сайта → Интеграции».
Причины 401 и 403:
| Ответ | Причина | Что делать |
|---|---|---|
401 |
ключ отозван в списке «Ключи API» или введён с ошибкой | создать новый ключ и ввести его в проекте core |
403 |
сайт аналитики удалён — в течение 30 дней его можно восстановить | восстановить сайт или подключить ключ другого сайта |
403 |
сайт аналитики заблокирован администратором ДАРА | связаться с поддержкой |
403 |
учётная запись владельца сайта заблокирована или удалена | связаться с поддержкой |
403 |
запрос отправлен по http://, а не по https:// |
указать адрес https://analytics.daratech.ru/api/v1 |
403 обратим: после восстановления сайта или снятия блокировки тот же ключ снова отвечает 200. Отозванный ключ не восстанавливается — нужен новый.
После сохранения в проекте core видны префикс ключа, дата подключения, время последнего ответа аналитики и доля пользователей, для которых нашлись данные. Если аналитика отвечает 401 или 403 или недоступна дольше часа, проект показывает предупреждение.
Какие данные запрашивает core
- По каким идентификаторам:
user_idпользователя; последнийanalytics_id, пришедший в его запросах;fingerprint_uuid— только если в проекте core подключён DARA Fingerprint и id проверен. - Порядок поиска в аналитике:
user_id→visitor_id→fingerprint_uuid, берётся первый найденный на сайте. - Когда: новый пользователь или новый идентификатор — в течение минуты. Если данных ещё нет, повторы через 5 минут и через час, дальше — раз в сутки. Данные пользователей с событиями за 7 дней обновляются раз в 24 часа, а устаревшие данные — ещё и в фоне при запросе выдачи: выдача обновления не ждёт.
- Сколько: пачками до 100 пользователей и не больше 10 запросов в секунду на проект.
- Какие значения: по правилам сети — своё значение сайта или сетевое, если сайт участник сети. Подробнее — в разделе Сеть ДАРА.
- Страна приходит кодом ISO 3166-1 из двух букв, например
RU, а регион и город — названиями. - Чувствительные темы. Раз в час core запрашивает
GET /network. Если передача чувствительных тем выключена, интересы сsensitive: trueне используются в выдаче и не показываются в кабинете core.
Свои и сетевые чувствительные темы
- Выключенная передача чувствительных тем убирает из ответов аналитики только сетевые интересы с
sensitive: true—source: network. - Свои чувствительные интересы —
source: own, по наблюдениям ваших сайтов — аналитика отдаёт всегда, тоже сsensitive: true. - core при выключенной передаче не использует ни те, ни другие.
Когда появляются данные
| Что | Когда |
|---|---|
пользователь находится по user_id |
после первого хита с dara('user', {user_id}) или записи POST /users — обычно в течение минуты |
| пол, возрастная группа, город, дети, компания из форм и данных вашего сайта | в течение нескольких минут |
| интересы, категории покупок, город по IP | после ежечасного пересчёта |
| сетевые значения через браузер сети | вместе со своими значениями, без ожидания конца визита, — если сайт участник сети |
| сетевые значения через email или телефон | после окончания визита, в котором их ввели, — по умолчанию через 30 минут без действий на сайте |
| сетевые значения нового сайта | только после выхода из карантина; до этого — только свои значения |
- Найден, но без значений. Ответ
{"ref": "u-501", "found": true, "attributes": {}}значит: пользователь или посетитель на сайте есть, а значений пока нет — ещё не посчитаны, есть только сетевые, а сайт на карантине, или посетитель отмечен как робот. Значения могут появиться позже по срокам таблицы. - Неизвестный пользователь —
found: false: связиuser_idс посетителем ещё нет или она не дошла до аналитики. - Кеш. Найденный пользователь кешируется в аналитике на 60 секунд: повтор раньше свежих данных не даст.
Как данные работают в выдаче
Данные аналитики хранятся в core отдельно от данных, которые передал ваш сайт, а поле, переданное сайтом, важнее значения из аналитики. Как core использует данные сети — возраст, сегменты, интересы, контрольная группа, переключатель «Использовать данные сети в выдаче» — описано в разделе «ДАРА АНАЛИТИКА» документации core.
Отключение и удаление
- Отключить можно в настройках проекта core. Данные аналитики сразу перестают влиять на выдачу и удаляются из core через 7 дней. Ключ после отключения отзовите в списке «Ключи API».
- Удаление пользователя в core удаляет его данные аналитики в core. В самой аналитике при этом ничего не удаляется.
- Если аналитика недоступна, выдача и приём событий core продолжают работать. Через час без ответа подключение получает статус
unavailable, а проект показывает предупреждение.