# Пользовательские параметры клиента

# Что такое пользовательский параметр клиента?

Помимо общих данных, которые Sales Ninja собирает для каждой страницы автоматически — вы можете передавать дополнительные данные о странице вручную.

Например, если пользователь авторизирован в вашей системе и вы знаете его пол и возраст, то вы можете указывать эти дополнительные данные как параметры клиента.

# Как поможет указание параметров клиента?

Во-первых, вы сможете использовать указанные параметры в условиях показа.

Во-вторых, далее эти данные будут использоваться в обучении.

# Сколько хранится параметр пользователя?

Параметр пользователя сохраняется в local storage (opens new window) текущего пользователя и будет храниться там до удаления или перезаписи.

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

# Какие есть ограничения на количество параметров пользователя?

Значение параметра пользователя может иметь максимум 512 символов. Если передано более длинное значение - оно будет обрезано до первых 512 символов.

Вы можете указывать сколько угодно параметров пользователя, однако необходимо помнить, что размер local storage во многих браузерах имеет ограниченный размер (обычно 5 или 10 Мб, но лучше ориентироваться на 5 Мб).

Sales Ninja (как и большинство других приложений) использует local storage для полноценной работы многих функций. Соответственно для хранения параметров пользователя будет доступна еще меньшая память.

Для хранения данных в local storage браузеры используют кодировку UTF-16 (opens new window), а значит каждый символ занимает 2 байта.

А значит, даже указав 1000 пользовательских параметров максимального размера (512 символов) вы займете лишь 20% от доступного объема local storage.

Поэтому на практике можно не беспокоиться об ограничениях на количество параметров пользователя.

# Методы работы с пользовательскими параметрами

# Записать параметр

Для записи параметра пользователя внутри скрипта подключения используйте:

<script>
    /** INIT_SCRIPT  */

    ninja('init','здесь будет ваш уникальный код проекта');
    ninja('setUserParam', 'ключ', значение) // "значение" может быть строкой или числом
    ninja('start');
</script>

Для записи параметра пользователя вне скрипта подключения используйте:

ninja('setUserParam', 'ключ', значение)

Записанный параметр пользователя начинает учитываться при передаче данных только после самой записи.

Если часть данных уже успело передаться на сервер и только потом был указан параметр пользователя - то в уже переданных данных параметр пользователя указан не будет.

Поэтому, мы рекомендуем указывать все параметры визита внутри скрипта подключения до вызова ninja('start');

# Удалить параметр

Для удаления параметра используйте функцию:

ninja('deleteUserParam', 'ключ')

# Получить параметр

Для получения одного параметра используйте функцию:

window.SalesNinja.getUserParam("ключ") // Это синхронная функция, будет работать только при window.SalesNinja.ready == true

# Получить все параметры

Для получения всех параметров используйте функцию:

window.SalesNinja.getUserParams() // Это синхронная функция, будет работать только при window.SalesNinja.ready == true