Друзья всех приветствую! Давно ничего не публиковал. Сегодня хочу рассказать об одной не очевидной проблеме, которую обнаружил в одном из свои проектов.Сижу я значит ковыряю данные Google Analytics 4 в Google BigQuery и обнаружил что у меня на одного уникального clientID приходится более одно устройства.Что послужило поводом написать такой sql запрос я даже не знаю, ведь все мы знаем, что, на одни уникальный clientID не должно быть больше одно устройства. Но тем не менее, запрос написал, результат получил!google bigqueryКак такое, может быть, задался я вопросом, ведь как мы знаем значение clientID это уникальное сочетание устройства + браузер. То есть clientID формируется из файлов cookie, а на каждый браузер на каждом устройстве создается уникальный файл cookie которые формирует уникальный clientID.Таких пользователей не много и можно было бы не обращать внимания на них, но мой пытливый ум не дал мне покоя и заставил меня разобраться в это ситуации.За ответом я пошел в Google, но внятной информации я не нашел (по крайней мере в русскоязычном сегменте интернета), что и послужило мне мотивацией после нахождения причины написать данную статью.Тут я начал очень сильно думать и накидывать варианты причин данного явления.Основная гипотеза у меня была такая: Google склеивает пользователей, которые заходили на сайт с разных устройств будучи залогиненеыми под одним аккаунтом Google на этих устройствах. Проверил эту гипотезу, положительного результата она не дала.Стал думать дальше и ничего не придумал до момента пока не увидел, как один из моих разработчиков сидит на сайте с включённым инспектором в браузере и что-то смотрит в режиме Taggle divece toolbar который отображает сайт как на мобильном устройстве.И тут у меня появилась еще одна гипотеза. Первое что я сделал, это запомнил свой clientID.Примечание: дальше все манипуляции и действия я буду делать через браузер Google ChromeНадеюсь, если вы читаете эту статью и задались вопросом почему может быть 2 разных устройства на один ClientID, то вы уже знаете, что такое это самый ClientID и как его найти.Но если нет, то найти clientID можно следующим образом:1. Необходимо открыть inspect и перейти во вкладку Application2. В левой панели находим слово Cookies и кликаем на название своего сайта.3. В строке поиска вводим значение _ga и в низу в колонке Domain находим url своего сайта и в лево колонке Value видим свой ClientIDСкопируем наш clientID и идем писать наш sql запрос к базе.При помощи функции фильтрации where в sql фильтруем данные по-нашему clientID.Как видим у меня сейчас только одно устройство, что логично.Теперь давайте переключим Taggle divece toolbar для отображения экрана мобильного устройства и сделаем несколько манипуляций с сайтом, так же дополнительно рекомендую запомнить модель и тип псевдоустройства, которое нам дал браузер. (мы так же можем выбрать необходимое сами) . В моем случае я специально выбрал устройство, которое никогда в жизни не использовал.После того как данные попадут в базу, вы увидите, что количество устройств на ваш clienID увеличилось.Google BigQueryДля того чтобы убедиться, что количество устройств выросло благодаря нашим действиям, выведем результат, который показывать тип и модель устройства.Для этого в sql запрос добавим отображение дополнительных столбцов.device. category – Тип устройства (смартфон, планшет или компьютер). device. mobile_brand_name – Бренд устройстваdevice. mobile_marketing_name – Торговое название устройстваКак я писал ранее, что необходимо запомнить какую модель устройства мы выбрал. В моем случае, я выбрал именно Samsung Galaxy S8+. Вот он и отобразился в отчете.Так же можно увидеть, что в отчет попало мобильное устройство Google. Это отображается модель устройства, которое Google подставляет по умолчанию в момент, когда вы включаете Taggle divece toolbar и до момента, когда вы переключаете на другое устройство.Переключение Taggle divece toolbarВыбор другого типа устройства.Вот мы и выяснили от куда берутся у одного clientID несколько устройств. В моем случае это были все пользователи с нашего офис которые используют функцию браузера Taggle divece toolbar (разработчики, верстальщики и прочие причастные лица). Чтобы таких данных не было в рабочих отчета, следует в настройках Google Analytics 4 отфильтровать адреса ваших офисов! Если нет возможности произвести настройку фильтра в GA4, то можно такие clientID отфильтровывать на уровне sql запроса.