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

Метод используется для передачи идентификатора авторизованного пользователя: принимает на вход идентификатор и отправляет его в счетчик. Таким образом можно переопределить значение [user\_id](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/parametry-schyotchika-top-100), указанное в настройках счётчика при инициализации.

```
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`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/parametry-schyotchika-top-100) и [`pub_scope`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/parametry-schyotchika-top-100) в коде счетчика при инициализации

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

  ```
  <!-- Top100 (Kraken) Counter -->
      // …
      var options = {
          // …
          pub_id: <PUBLISHER_USER_ID>,
          pub_scope: <SITE_DOMAIN>,
      };
      // …
  <!-- END Top100 (Kraken) Counter -->
  ```
* Идентификатор **авторизованного** пользователя в качестве параметра [`user_id`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/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`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/metody-po-rabote-s-schyotchikom-top-100)
* Любой другой идентификатор с помощью метода [`updateOptions`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/metody-po-rabote-s-schyotchikom-top-100)

**Пример:**

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

{% hint style="info" %}
**ВНИМАНИЕ!** Если планируется использование метода [`syncUserId`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/metody-po-rabote-s-schyotchikom-top-100), то обязательно в коде счетчика необходимо указать параметр [`user_id`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/parametry-schyotchika-top-100). Если на момент инициализации счётчика пользователь неизвестен, то в качестве [`user_id`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/parametry-schyotchika-top-100) нужно указать `null`. Без указания параметра [`user_id`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/parametry-schyotchika-top-100) при вызове [`syncUserId`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/metody-po-rabote-s-schyotchikom-top-100) будет напечатано предупреждение в консоли.
{% endhint %}

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

* Если требуется указать, что пользователь разлогинился, надо вызвать метод [`syncUserId`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/metody-po-rabote-s-schyotchikom-top-100) с аргументом `null`:

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

* Если человек пришёл незалогиненный и залогинился в процессе работы с сайтом: в атрибутах счетчика при инициализации следует указать «`user_id: null`» и далее после авторизации передать нужный идентификатор пользователя через [`syncUserId`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/metody-po-rabote-s-schyotchikom-top-100).
* Если человек пришёл залогиненным, затем разлогинился и перелогинился: в атрибутах счетчика при инициализации следует указать исходный идентификатор пользователя, потом через [`syncUserId`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/metody-po-rabote-s-schyotchikom-top-100) передать `null` (если это необходимо) и снова через [`syncUserId`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/metody-po-rabote-s-schyotchikom-top-100) передать новый идентификатор.
* Если необходимо получить идентификатор пользователя и его scope можно воспользоваться методом [`getPublisherId`](https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/metody-po-rabote-s-schyotchikom-top-100), в котором вернутся строковые значения id и scope.

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://top-100-writer.gitbook.io/top100-documentation/nastroika-sbora-i-otpravki-dannykh/veb-schyotchik/metody-po-rabote-s-schyotchikom-top-100/metod-dlya-peredachi-identifikatora-avtorizovannogo-polzovatelya.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
