# 🛠️ Web интеграция

Прежде чем приступить к работе с платформой, необходимо настроить следующие элементы.

---

### 📜 Добавить скрипты платформы

Вставьте скрипт в раздел `<head>` на каждой странице вашего сайта.  
Скрипт позволяет:

- Отслеживать активность пользователей.  
- Отображать персонализированные кампании.  

📖 Подробнее: [Инструкция по добавлению скрипта](./script.md)

### 🖋️ Добавить сниппет Page Context

Разместите сниппет `Page Context` в `<head>` вашего сайта.  
Он отправляет в платформу информацию о типе страницы (например, главная страница, страница товара) и другую важную информацию (SKU товара, категория и т. д.).  

Это позволяет:
- Таргетинг на основе типа страницы.  
- Предоставление связанных рекомендаций (например, похожие товары).  

📖 Подробнее: [Как настроить Page Context](./page_context.md)

### 🎯 Настроить передачу событий

Настройте передачу событий для отслеживания пользовательских взаимодействий:

- Покупки.  
- Добавления в корзину.  
- Регистрации и других значимых действий.  

Эти данные используются для поведенческого таргетинга, отчетности и оптимизации кампаний.  

📖 Подробнее: [Руководство по событиям](./events.md)

### 📦 Синхронизировать каталог товаров

Передайте в систему информацию о каталоге товаров, включая:

- Изображения.  
- URL.  
- Цены и другие характеристики.  

Каталог используется для:

- Отображения персонализированных рекомендаций.  
- Поведенческого таргетинга (например, на основе предпочтений по цвету).  

📖 Подробнее: [Синхронизация каталога товаров](../products_catalogues/general_reqs.md)

### 🍪 Настроить файлы cookie

Обновите файл cookie для сохранения данных о пользователе. Это необходимо для корректного отслеживания взаимодействий.  

📖 Подробнее: [Настройка cookie](./cookie.md)

### 🔐 Настроить единый идентификатор пользователя (CUID)

Для корректного объединения профилей пользователя между Web, мобильными SDK, Server-Side API и офлайн‑данными рекомендуется использовать **единый идентификатор `cuid` на основе номера телефона**:

- Номер телефона нормализуется (оставляются только цифры; для РФ/КЗ — формат `7XXXXXXXXXX`, без `+`, пробелов, скобок и дефисов; для других стран — международный формат без `+` и разделителей).
- Строится SHA-256 хеш нормализованной строки (UTF-8), результат передаётся в виде **lowercase hex** в поле `cuid`.
- В поле `cuidType` **обязательно** указывается значение `"phone_hash"`.

Тот же хеш и то же значение `cuidType` должны использоваться:

- в web-событии `Login` через `GF.API("event", ...)`,
- в мобильных SDK,
- в server-side событиях (`/ssapi/event`),
- в импорте офлайн‑покупок (поле `cuid` в CSV).

📖 Подробнее:

- [Руководство по событиям и идентификации в Web](./events.md#идентификация-пользователей)
- [Пример события логина с единым CUID в Server-Side API](../api_integration/personalization/events.md#пример-события-логина-с-единым-cuid)
- [Импорт офлайн‑транзакций: структура данных и поля `cuid` / `cuidType`](../../data_import/import_offline_data.md#структура-данных)
