What is Client ID in Google Analytics: detailed setup guide
In this article, you’ll learn why you need a Client ID in Google Analytics and how it can benefit your business. We’ll analyze in detail how to make the Client ID parameter available in Google Analytics reports and why you should transfer it to your CRM system.
Table of contents
What is the Client ID in Google Analytics?
The Client ID (cid) is a unique identifier for a browser–device pair that helps Google Analytics link user actions on a site. By default, Google Analytics determines unique users using this parameter.
However, what in Google Analytics reports are called users would be worth calling browsers. Because if you go to a site once through Chrome on your computer, another time from a smartphone, and a third time from your computer but using Firefox, the system will identify you as three different users.
Why do you need a Client ID?
The cid parameter helps you identify unique visitors (the accuracy isn’t 100%, but it’s better than nothing) and understand what each of them was doing on your site at different times. With the Client ID, you can merge data from Google Analytics and CRM systems and set up end-to-end analytics to understand how your marketing efforts affect real sales online and offline.
The OWOX team will help you correctly set up the collection of Client ID and other parameters and indicators that are important for your business. The development of an individual metrics system will be useful for any company that wants to track user actions on the site and use analytics to make timely decisions. To learn more about how OWOX can help your business, book a free demo.
How does the Client ID work?
On the technical side, the Client ID is a cookie that’s stored in the client’s browser and sent with each request to Google Analytics.
Cookies are text files that are stored in the browser and used by sites to leave information on the client’s side. For example, in a cookie, you can record the source from which the user came, how many times they’ve visited the site, etc. When a user opens a website, this information will be written in cookies. When visiting the site again, the data from this information is sent in get-requests to the web server. The site sees that a user has already left some information and can interact with it.
Google Analytics generates a unique numeric Client ID for each browser–device pair. When a user visits a site, a Google Analytics tracking code sends this ID along with session data – page address, referral source, language, etc. – to Google Analytics.
The Client ID cookie exists for two years. That is, if you go to the same site from the same browser within two years, Google Analytics will understand that you’re the same user. Each time you visit, the cookie will be reset to expire two years from the time of your visit. If you don’t visit the site for two years, then visit it again, Google Analytics will consider you a new user. If you clear your cookies or reinstall your browser, then you won’t have the same cid and when you visit a website again, Google Analytics will give you a new identifier.
A cookie with a Client ID looks like this:
- GA1 is a universal prefix of all cookies in this format.
- The number 1 indicates the level of the domain: in this case, the top-level domain.
- All that comes after the second period is the Client ID. The first part is a randomly generated number, and the second part (after the third period) is the creation time of the cid in UNIX format.
How to find out your Client ID
To view your Google Analytics cookie for a specific site in the Chrome browser, open this site, press the F12 key, go to the Application tab, click on Cookies, and select the desired site from the drop-down list. You’ll see a window similar to this:
Find a cookie named _ga. Everything that comes after the second period is your unique Client ID.
To view your Client ID in Mozilla Firefox, press CTRL + Shift + I and go to the Storage tab.
How to find Client ID in Google Analytics
In which Google Analytics report can you view Client ID? In the Audience –> Statistics on users report you can see the identifiers of people who have visited your site as well as the number of sessions, bounce rate, transactions, income, and CR for each user.
By the way, if you have a lot of users and sessions, Google Analytics will turn on sampling and statistics in your reports will be distorted. To avoid this, you can collect raw data using OWOX BI.
Let’s return to the Statistics on users report. If you click on a specific Client ID, you’ll see more detailed information about this visitor (down to each event in the session):
By default, the cid is available only in this Google Analytics report. You can add segments to it, but this report doesn’t help if you need to group Client ID with other parameters, such as traffic sources and channels, devices, referral URLs, etc. To access the Client ID in other Google Analytics reports, you must pass cid as a user parameter. We’ll tell you how to do it.
How to get Google Analytics Client ID
How to transfer Client ID to a custom Google Analytics option? There are several ways to transfer cid parameters to Google Analytics. We’ll talk about the most modern and convenient – using the customTask method. You can add customTask to the tracking code either directly or via Google Tag Manager. Let’s consider both options in detail.
Step 1. Create a custom parameter in Google Analytics
Open the Google Analytics admin area. Go to the resource settings, and in the Custom definitions section, select Special parameters:
Click the + Special Parameter button:
Enter the name of the parameter, indicate that it should be available at the user level, and click Create:
A code will appear on the next screen. Click Finish:
As a result, you’ll have a new Client ID parameter in your admin panel. Pay attention to its index and remember that you’ll need it when you create a customTask:
Now you need to make sure that each time the user interacts with the site, Client ID’s written to an additional parameter. We show two configuration options: via Google Analytics code and Google Tag Manager.
Step 2. Add customTask
Via Google Analytics code
Open the developer console, find the Google Analytics code, and insert the following script between the create and send actions:
Here is what it will look like in the end:
With this action, you set the task for the Google Analytics counter to transfer the Client ID value to a custom parameter. Don’t forget to replace the number in dimension1 with the index of your parameter in Google Analytics. In our example, it’s 2.
After that, you can check if the identifier is correctly transmitted. Open your website in Chrome, press F12, go to the Network tab, refresh the page, and in the Filter field, write a collect to see which queries go to Google Analytics:
We find cuk cid in the query parameters and see that cd1 has appeared – that is, the second arbitrary parameter with the same value as that of cid. So everything is working correctly.
Via Google Tag Manager
Now let’s figure out how to do the same through Google Tag Manager. There are several options, consider one of them.
First, you need to add a new variable. To do this, open the Variables tab and create a Custom JavaScript Variable:
Paste the following code into the variable workspace:
Now you need to add the created Client ID variable to a GA Settings variable in the section in Custom Dimensions and publish the container. We’ve described how to check whether everything works above.
You can also see if the Client ID parameter is passed in any Google Analytics report. For example, you can do this by opening Traffic Sources –> All Traffic –> Source / Channel, adding the second Client ID parameter, and seeing user IDs:
Why transfer the Client ID to your CRM?
Using the Client ID, you can track all points of contact with a client – not just their actions on the site – as well as supplement the data in Google Analytics with information about purchases. To do this, you need to transfer the identifier to your internal CRM system – for example, using the order form on the website.
First, create a Client ID field in your CRM to which the data will be transferred. Then ask your developer to add a hidden field for cid to the form on the website. When a person completes this form and gives their name, phone, or email, their Google Analytics identifier will be transmitted to your internal system. By the way, some CRMs have ready-made form designers that allow you to build Client IDs without the help of developers.
Client ID vs User ID: how to track real users, not their browsers
For this task, Google Analytics has a User ID that helps to link all actions of a user in different browsers and on different devices. You can read more about options for using the Google Analytics User ID in our articles, Why Link Online Visitors and Offline Buyers and ROPO Effect: How Your Online Marketing Impacts Offline Sales.
In addition, OWOX BI has its own OWOX User ID. With it, you can merge the actions of users across your sites, even if they aren’t connected by direct links. This information is useful when setting up audiences so as not to show ads to the same people twice.
Идентификатор клиента cid как узнать
Для реализации различных задач, например — интеграции CRM и Google Analytics, трекинга открытия писем, отслеживания действий пользователя в офлайне нужен ClientID (cid) клиента.
По сути — это уникальный идентификатор пользователя (не человека, а связки компьютер-браузер), который выступает ключом в записи всех данных о посещениях сайта. И если мы хотим передавать какие-то данные в Google Analytics из вне сайта, и чтобы эти данные были связаны с посещениями пользователя, нам нужно знать этот ключ.
Что такое Client ID в Google Analytics?
Client ID (в простонародье cid) — это обезличенный идентификатор, который создает Google Analytics для каждого посетителя сайта. Именно благодаря данному идентификатору и определяется уникальный пользователь. Но что такое «уникальный пользователь»? Давайте разбираться.
Люди могут заходить на ваш сайт не только при помощи стационарного компьютера или ноутбука, но и со смартфона и любого другого мобильного гаджета, а также с используя различные браузеры. Так вот, по умолчанию Google Analytics назначает каждому устройству и браузеру уникальный идентификатор клиента – Client ID.
То есть, Google Analytics считает каждое устройство или браузер, даже если они используются одним и тем же человеком, новым уникальным пользователем! Пожалуйста, запомните это.
Зачем нужен Client ID?
Благодаря Client ID Google Analytics может «узнавать» и различать уникальных посетителей и их сессии, связывать данные по ним, поступившие в разные периоды времени, а также хранить эти данные.
Где хранится Client ID?
По умолчанию библиотека analytics.js (которую вы подключаете, устанавливая код GA на сайте) сохраняет идентификатор клиента в cookie браузера посетителя создавая следующие файлы:
Название файла cookie | Срок действия | Описание |
---|---|---|
_ga | 2 года | Позволяет различать пользователей. |
_gid | 24 часа | Позволяет различать пользователей. |
_gat | 10 минут | Ограничивает частоту запросов. |
Нас интересует кука _ga которая и хранит Client ID. Срок ее жизни 2 года, однако он обновляется с каждым новым хитом.
Из чего состоит Client ID?
Кука _ga состоит из 4-х частей:
- Формат версии cookie (сейчас он всего один).
- Уровень домена (по умолчанию устанавливается домен верхнего уровня).
- Уникальный случайно-сгенерированный идентификатор.
- Дата первого посещения сайта в формате UNIX.
Третья и четвертая часть куки образуют Client ID.
Как найти Client ID?
Увидеть Client ID можно либо открыв консоль браузера (F12 в Chrome):
Либо найдя в настройках браузера сохраненные куки сайтов:
Кстати, если очистить кукис и обновить страницу, то сгенерируется новый Client ID. То есть Google Analytics будет считать вас новым пользователем
Как фиксировать Client ID?
Фиксировать Client ID лучше всего через GTM, про это у нас написана отдельная статья.
Кросс-девайсное отслеживание или как объединить несколько Client ID?
Как уже было сказано выше, разные устройства одного и того же человека Google Analytics будет считать разными уникальными пользователями. Но есть ли возможность «склеить» все устройства пользователя независимо от того, как и на чем он открывают ваш сайт ? Да есть! Для этого в Google Analytics предусмотрена специальная функция — User ID.
Client ID в Google Analytics 4
Рабочий способ передачи уникального идентификатора пользователя (Client ID) в Google Analytics 4 через Google Tag Manager.
Пока я переписывался с технической поддержкой Google (на протяжении месяца) по поводу принудительного изменения типа данных в Google Analytics 4 и готовил материал по Client ID, Симо Ахава (Simo Ahava) выпустил публикацию на эту тему, подтвердил в ней возникшую и у меня проблему, а также предложил интересное решение. Поэтому данная статья будет основана на его способе передачи уникального идентификатора пользователя (Client ID) в GA4, но с моими комментариями.
Итак, с переходом на GA4 у многих интернет-маркетологов встал вопрос переноса настроек из Universal Analytics в новый счетчик Аналитики. В том числе и отслеживание уникального идентификатора пользователя. Client ID (он же cid) — одна из тех метрик, которая необходима для настройки «сквозной аналитики» и на основе которой счетчики веб-аналитики связывают действия пользователей ( 1 конкретный браузер — 1 конкретное устройство = 1 файл cookie ).
Несколько материалов в блоге по настройке Client ID для Universal Analytics и Яндекс.Метрики я публиковал ранее. Рекомендую к прочтению:
Чтобы просмотреть все действия, которые совершал пользователь на вашем сайте, вы можете воспользоваться отчетом Статистика по пользователям. Он находится в разделе Аудитория.
Отчет «Статистика по пользователям» в Universal Analytics
В Universal Analytics параметр, отвечающий за Client ID, называется Идентификатор клиента. Если вы подведете курсор мыши к вопросительному знаку, то увидите его определение: A unique ID that Analytics assigns to each device from which users engage your content (Уникальный идентификатор, который Google Analytics присваивает каждому устройству, с которого пользователи взаимодействуют с вашим контентом).
Открыв конкретный профиль, вы сможете посмотреть все действия этого пользователя (сеансы, их длительность, хиты, события и транзакции):
Профиль пользователя с определенным идентификатором клиента (Client ID) в Universal Analytics
В Google Analytics 4 в центре анализа (Analysis Hub) доступен шаблон Статистика пользователей:
Методики — Статистика пользователей
Создав его, вы увидите схожий с Universal Analytics отчет:
Отчет «Статистика по пользователям» в Google Analytics 4
В Google Analytics 4 параметр, отвечающий за Client ID, называется Идентификатор экземпляра приложения (App-instance ID). Если вы подведете курсор мыши к вопросительному знаку, то увидите его определение: A unique, user-resettable ID for advertising. Device ID corresponds to Advertising ID on Android and Identifier for Advertisers on iOS (Уникальный сбрасываемый идентификатор для показа рекламы. Идентификатор устройства соответствует рекламному идентификатору на Android и идентификатору рекламодателя (IDFA) на iOS). Написано сложно, но это все тот же уникальный идентификатор клиента (устройства).
Открыв конкретный профиль в GA4, вы увидите все действия этого пользователя, точно также, как и в Universal Analytics (сеансы, их длительность, хиты, события и транзакции):
Профиль пользователя с определенным идентификатором клиента (Client ID) в Google Analytics 4
В Universal Analytics мы для того, чтобы использовать Client ID в других отчетах (не только в Статистика по пользователям), создавали специальный параметр и методом customTask (как наиболее приоритетным и точным) передавали cid в UA.
К сожалению, метод customTask в GA4 не поддерживается. Поэтому нам необходимо использовать другой вариант передачи данных. Я предлагаю использовать тот, который описал Симо в своем блоге.
Для этого перейдите в Google Tag Manager и в галерее шаблонов сообщества найдите тег с именем GTAG GET API:
Тег GTAG GET API
Добавьте его в рабочую область с помощью соответствующей кнопки. В завершение нажмите Добавить.
Тег GTAG GET API от Симо позволяет получать различные значения из gtag.js (включая значения, заданные с помощью команды set), записывать их в уровень данных (dataLayer) и использовать эти данные в тегах других поставщиков. Подробнее про API gtag.js читайте в официальной документации Google.
Настройки тега GTAG GET API
В открывшемся окне с настройками тега задайте идентификатор счетчика GA4 в поле Measurement ID. Поскольку нас интересует уникальный идентификтор клиента, галочку Default Fields To Get — Client ID (client_id) оставьте активной.
Конфигурация тега GTAG GET API
Сохраните тег без триггера. Теперь необходимо зайти в сам тег Google Аналитика: конфигурация GA 4 и в расширенных настройках добавить порядок активации тегов, поставив галочку напротив Активировать тег после тега [Название вашего тега] и выбрав тег GTAG GET API из раскрывающегося списка:
Порядок активации тегов
Используя порядок активации тегов, вы гарантируете, что API не будет вызываться до тех пор, пока функция gtag() не будет загружена и инициализирована на странице. Сохраните изменения.
Когда вы откроете режим предварительного просмотра, вы увидите новое событие gtagApiGet. Если вы его не видите, скорее всего, это связано с тем, что на странице нет тега с конфигурацией GA4 или потому, что тег API сработал до того, как gtag() успел загрузиться.
— триггер с именем события gtagApiGet;
Пользовательское событие gtagApiGet
— пользовательскую переменную типа Переменная уровня данных с именем переменной gtagApiResult.client_id
Переменная уровня данных gtagApiResult.client_id
Осталось только определиться с тем, как вы планируете передавать Client ID в Google Analytics 4. Вы можете создать специальный параметр (custom event dimension) или использовать свойство пользователя (user property). И в том и другом случае обязательно провести дополнительную настройку в интерфейсе GA4, создав или пользовательское определение, или свойство пользователя.
Например, задав такие имена в GA4: Настроить — Свойства пользователей — Создать свойство пользователя и События — Все события — Настроить пользовательские определения
Свойство пользователя и специальный параметр
Примечание: придумывайте такие имена, которые будут характеризовать отслеживаемую величину.
В тег Google Аналитика: конфигурация GA 4 получится добавить свойство пользователя, но не получится передавать специальный параметр, поскольку этот объект предназначается для тега событий. Вы можете создать отдельное событие под это отслеживание, либо добавить все необходимые метрики в уже существующие события. Пример такого тега события:
Пример конфигурации тега события
А вот теперь самое интересное! При передачи данных о Client ID пользователя режим отладки GTM и само значение переменной отображается корректно и имеет тип данных string (строка).
Значение Client ID имеет текстовый формат представления
Однако когда вы будете смотреть в отчеты Google Analytics 4, то увидите, что данные передались в измененном виде, а точнее формата double (число двойной точности). Вот как это будет выглядеть в GA4:
Измененный тип отображения Client ID
Есть предположение, что Google преобразует строковое представление числа в эквивалентное ему число двойной точности с плавающей запятой с помощью метода double.Parse. Но я не являюсь разработчиком, чтобы утверждать это со 100% точностью, и поэтому данный вопрос я задал техподдержке Google месяц назад.
Как оказалось, это не локальная проблема, и Симо в своей публикации это подтвердил. Ему удалось найти решение: всего лишь нужно добавить символ точки (.) в конце значения переменной. В моем примере — в двух местах (и для специального параметра, и для свойства пользователя):
Сохраните изменения и не забудьте опубликовать новую версию контейнера GTM. Все!
Проверить корректность передачи данных можно с помощью инструмета DebugView.
Как видите, в конце уникального идентификатора пользователя стоит точка (.). Она нужна для того, чтобы GA4 не преобразовывал эту строку в число.
В дальнейшем, если вы создали специальный параметр и свойство пользователя в интерфейсе Google Analytics 4, вы сможете использовать Client ID в отчетах центра анализа.