custom_track
Что означает
Единственный способ передать бизнес-событие, которое нельзя надёжно вывести из DOM: подтверждённая заявка, бронь, успешный backend action.
Источник
Коллектор SDK runtime в sdk/src/index.js.
Текущий статус реализации: отправляется текущим sdk/src/index.js.
Когда отправляется
Сайт явно вызвал window.salesfocus.track(…).
Зачем нужно
- Помогает отлаживать путь пользователя без сбора персональных данных.
- Сохраняет сопоставимость события между версиями SDK через
protocol_versionи mapping context. - Поддерживает live QA в окнах дашборда, перечисленных ниже.
Поля payload
Поля контракта из Excel: track_type, event_code, value_bucket_optional, currency_optional, external_id_hash_optional, properties_sanitized.
Поля mapping/context: page_code, block_code/element_code optional if provided or inferred.
Общие поля envelope всегда включают event_id, event_type, event_ts, event_index, session_id, tab_id, page_instance_id, page_code, block_code, element_code, group_code, mapping_status и mapping_confidence.
Пример payload
{
"event_type": "custom_track",
"protocol_version": "sf.events.v1",
"event_id": "evt_example",
"session_id": "sess_example",
"page_code": "catalog_page",
"block_code": "unknown",
"element_code": "unknown",
"mapping_status": "mapped",
"payload": {
"name": "lead_submit",
"payload": {
"goal_code": "lead_form"
},
"origin": "client_track_api"
}
}Запрещенные данные
- Caller-supplied payload keys such as value, input_value, html, cookie, raw_query, yclid, gclid, ym_client_id.
- Сырые значения форм, поля, textarea/select, email, телефон, имя, адрес и комментарии.
- Сырые query string URL, cookies, значения localStorage/sessionStorage, innerHTML/outerHTML, полный DOM и полный текст страницы.
- Сырые координаты или поток движения указателя; разрешены только агрегаты и buckets.
Резервное поведение и ошибки
Если payload содержит запрещённые поля — отбросить forbidden fields, отправить privacy_guard_violation, принять безопасную часть.
Если опциональный mapping недоступен, оставляйте page_code, block_code, element_code или group_code как unknown; не блокируйте страницу и не добавляйте небезопасные резервные данные.
Экран дашборда
Ожидаемые окна live-debug: Цели и конверсии.
QA также должен видеть строку в Лента сессии, если событие относится к загруженной сессии.
Использование в server-derived обработке
goal_signal_derivedconversion_signal_normalizedtraining_label_ready
Использование в ML
Provides explicit goal/conversion labels and high-confidence training labels when configured safely.
QA-проверки checklist
- Call sf.track with a safe payload.
- Repeat with a forbidden value and confirm privacy_guard_violation.