# Инструкция по получению и передаче Google Client ID и Yandex Client ID с сайта в CRM

## Что такое Client ID?

Client ID (cid) — это обезличенный идентификатор, который создает Google Analytics/Яндекс Метрика для каждого посетителя сайта. Он помогает отследить, с какого устройства и браузера зашёл пользователь, даже если он не авторизован. Важно! CID это не идентификатор человека, а связки устройство-браузер.

Давайте рассмотрим на примере Google Client ID.

Люди могут заходить на ваш сайт не только при помощи стационарного компьютера или ноутбука, но и со смартфона и любого другого мобильного гаджета, а также с используя различные браузеры. Так вот, по умолчанию Google Analytics назначает каждому устройству и браузеру уникальный идентификатор клиента – Client ID.

То есть, Google Analytics считает каждое устройство или браузер, даже если они используются одним и тем же человеком, новым уникальным пользователем!

## Зачем нужен Client ID?

Благодаря Client ID Google Analytics может «узнавать» и различать уникальных посетителей и их сессии, связывать данные по ним, поступившие в разные периоды времени, а также хранить эти данные.

## Где хранится Client ID?

По умолчанию библиотека analytics.js (которую вы подключаете, устанавливая код Google Analytics на сайте) сохраняет идентификатор клиента в cookie браузера посетителя создавая следующие файлы:

| Название файла cookie | Срок действия | Описание |
| --- | --- | --- |
| \_ga | 2 года | Позволяет различать пользователей |

## Из чего состоит Client ID?

### Google client ID состоит из 4-х частей:

![Схема из 4 частей Google Client ID: версия, домен, идентификатор, дата](https://help-ru.romi.center/images/polucheniyu-i-peredacha-google-client-id-i-yandex-client-id-s-sajta-v-crm/image-1.png)

Где:

1.  Формат версии cookie.
2.  Уровень домена (по умолчанию устанавливается домен верхнего уровня).
3.  Уникальный случайно-сгенерированный идентификатор.
4.  Дата первого посещения сайта в формате UNIX.

Третья и четвертая часть cookie образуют Client ID.

### Yandex client ID состоит из 2-х частей:

1.  Дата первого посещения сайта в формате UNIX.
2.  Уникальный случайно-сгенерированный идентификатор.

## Как найти Client ID?

Увидеть Client ID можно открыв консоль браузера (F12 в Chrome):  
\* Действие 4 показывает:  
\- \_ga - Google Client ID  
\- \_ym\_uid - Yandex Client ID

![Поиск cookie \_ga и \_ym\_uid во вкладке Application консоли разработчика Chrome](https://help-ru.romi.center/images/polucheniyu-i-peredacha-google-client-id-i-yandex-client-id-s-sajta-v-crm/image-2.png)

## Рассмотрим пример получение и передачи CID из форм на сайте в CRM

1\. Нужно получить CID из cookie посетителя сайта.

Пример кода для получения Google Client ID из cookie.  
Установите этот java скрипт в любое место на вашем сайте:

```
getGoogleClientID
```

Для получения Yandex Client ID из cookie.  
Установите этот java скрипт в любое место на вашем сайте:

```
getYClientID
```

2\. Во всех формах на сайте, из которых передаются данные в CRM систему, нужно создать скрытое поле и подставить в него полученный CID.

Пример скрытого поля Google Client ID

```
<input type="hidden" id="cid" value="" name="cid">
```

Пример скрытого поля Yandex Client ID

```
<input type="hidden" id="ycid" value="" name="ycid">
```

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

```
<script type="application/javascript">
    function getYClientID() {
        var match = document.cookie.match('(?:^|;)\\s*_ym_uid=([^;]*)');
        return (match) ? decodeURIComponent(match[1]) : false;
    }

    function getGoogleClientID()
    {
        var match = document.cookie.match('(?:^|;)\\s*_ga=([^;]*)');
        var raw = (match) ? decodeURIComponent(match[1]) : null;
        if (raw)
        {
            match = raw.match(/(\d+\.\d+)$/);
        }
        var gacid = (match) ? match[1] : null;
        if (gacid)
        {
            return gacid;
        }
    }

    document.addEventListener('DOMContentLoaded', function(){
        document.getElementById('cid').value=getGoogleClientID();
        document.getElementById('ycid').value=getYClientID();
});
```

3\. После создания скрытого поля и подстановки в него CID. Нужно создать кастомное поле в вашей CRM системе и передавать CID из формы в это кастомное поле. Код для отправки CID c сайта в CRM, в каждом конкретном случае будет уникальным (эта часть кода остается на усмотрение программиста). Кастомное поле в CRM можно назвать например GCID - для Google Client ID и YCID - для Yandex Client ID.

На этом настройка окончена. Теперь можно оставить тестовую заявку на сайте и проверить передается ли CID с сайта в CRM.

## Как настроить передачу Client ID из других источников?

Как правило передача Client ID настраивается аналогичным образом, как и в случае с формами на сайте. Т.е. нужно установить скрипт, который будет получать Client ID, подставлять в скрытое поле Client ID и вместе с контактными данными отправлять в CRM в виде лида или сделки.

Виджет обратного звонка. Все аналогично как в случае с чатом.

Только динамический коллтрекинг может передавать Client ID. Для настройки передачи Client ID динамическим коллтрекингом, вам нужно обратиться в техническую поддержку коллтрекинга. Обычно коллтрекинг умеет передавать Client ID, для этого необходимо включить передачу Client ID в личном кабинете коллтрекинга.

Если посетители вашего сайта переходят с сайта в мессенджеры WhatsApp или Telegram, то задача решается с помощью стороннего сервиса. Мы рекомендуем использовать Wazzup или UIS.
