Инструкция по получению и передаче 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 браузера посетителя создавая следующие файлы:

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

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

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

Как найти Client ID?

Увидеть Client ID можно открыв консоль браузера (F12 в Chrome):

Рассмотрим пример получение и передачи 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.