# Метод для передачи идентификатора авторизованного пользователя

Метод используется для передачи идентификатора авторизованного пользователя: принимает на вход идентификатор и отправляет его в счётчик. Таким образом можно переопределить значение [user\_id](../parametry-schyotchika-top-100), указанное в настройках счётчика при инициализации.&#x20;

```
top100Counter.syncUserId("USER_ID" || null);
```

**USER\_ID** – идентификатор пользователя или null, если человек разлогинился

#### Примеры вызова в коде страницы метода:

{% code overflow="wrap" %}
```
window.top100Counter.syncUserId(null); // выход пользователя
window.top100Counter.syncUserId('abcde1234'); // id авторизованного пользователя
```
{% endcode %}

Для сбора статистики в разрезе пользователей необходимо присвоить пользователям уникальные идентификаторы и включать их в данные, отправляемые в счётчик Топ-100. Это позволит соотносить в Топ-100 активности на сайте (просмотры, клики и т.п.) с заданными пользователями.

### Виды идентификаторов:

*   Собственный идентификатор площадки передается через параметры [`pub_id`](../parametry-schyotchika-top-100) и [`pub_scope`](../parametry-schyotchika-top-100) в коде счётчика при инициализации

    \
    **Пример:**\


    ```
    <!-- Top100 (Kraken) Counter -->
        // …
        var options = {
            // …
            pub_id: <PUBLISHER_USER_ID>,
            pub_scope: <SITE_DOMAIN>,
        };
        // …
    <!-- END Top100 (Kraken) Counter -->
    ```



*   Идентификатор **авторизованного** пользователя в качестве параметра [`user_id`](../parametry-schyotchika-top-100) в коде счётчика при инициализации

    \
    **Пример:**\


    ```
    <!-- Top100 (Kraken) Counter -->
        // …
        var options = {
            // …
            user_id: <USER_ID>, || null
        };
        // …
    <!-- END Top100 (Kraken) Counter -->
    ```


* Идентификатор RamblerId можно передать через параметр `rambler_id` в коде счётчика при инициализации
* Идентификаторы SberId можно передать через параметр `sber_id, sber_id_sub,` в коде счётчика при инициализации

### Методы обновления идентификаторов:

* Идентификатор **авторизованного** пользователя через метод [`syncUserId`]()
* Любой другой идентификатор с помощью метода [`updateOptions`]()

**Пример:**

```
top100Counter.syncUserId(<USER_ID>);
top100Counter.updateOptions({ramblerId: <USER_ID>});
```

{% hint style="info" %}
**ВНИМАНИЕ!** Если планируется использование метода [`syncUserId`](), то обязательно в коде счётчика необходимо указать параметр [`user_id`](../parametry-schyotchika-top-100). Если на момент инициализации счётчика пользователь неизвестен, то в качестве [`user_id`](../parametry-schyotchika-top-100) нужно указать `null`. Без указания параметра [`user_id`](../parametry-schyotchika-top-100) при вызове [`syncUserId`]() будет напечатано предупреждение в консоли.
{% endhint %}

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

* Если требуется указать, что пользователь разлогинился, надо вызвать метод [`syncUserId`]() с аргументом `null`:

```
top100Counter.syncUserId(null)
```

* Если человек пришёл незалогиненный и залогинился в процессе работы с сайтом: в атрибутах счётчика при инициализации следует указать «`user_id: null`» и далее после авторизации передать нужный идентификатор пользователя через [`syncUserId`]().
* Если человек пришёл залогиненным, затем разлогинился и перелогинился: в атрибутах счётчика при инициализации следует указать исходный идентификатор пользователя, потом через [`syncUserId`]() передать `null` (если это необходимо) и снова через [`syncUserId`]() передать новый идентификатор.
* Если необходимо получить идентификатор пользователя и его scope можно воспользоваться методом [`getPublisherId`](), в котором вернутся строковые значения id и scope.

```
top100Counter.getPublisherId ();
```
