webit
19 мая 2015, 12:45
37

Передача поисковых фраз из «Яндекс.Метрики» в Google Analytics

Веб-аналитик агентства One Touch Дарья Тимакова поделилась с Cossa.ru опытом переноса поисковых слов из «Метрики» в Google Analytics, который их зашифровывает так, что скрытыми могут оказаться вплоть до 99% фраз.

C осени 2011 года Google, мотивируя свои действия попыткой защитить пользователей, приступил к шифрованию ключевых слов, по которым посетители попадают на сайты. Поисковые фразы начали постепенно заменяться значением «not provided».


На данный момент сегмент «not provided» может скрывать в себе до 99% ключевых слов.


Владельцы веб-сайтов не видят, что ищут посетители и по каким фразам переходят из результатов поиска Google. В скором времени к шифрованию поисковых запросов приступает и «Яндекс». В то время как статистика поисковых запросов по-прежнему остается доступна в «Яндекс.Метрике» и «Яндекс.Вебмастере», в системе Google Analytics ключевые фразы из «Яндекса» начинают заменяться фразой «not set».


Google Analytics является более мощной и гибкой системой аналитики благодаря таким преимуществам, как фильтрация, сегментация, отслеживание событий, возможность применения регулярных выражений, отслеживание электронной торговли и т. д. Поэтому мы поставили перед собой задачу — найти способ добавления в Google Analytics ключевых фраз, по которым пользователи пришли на сайт из поисковой системы «Яндекс». Решение данной задачи позволит лучше понять, что искали пользователи, посетившие сайт, и нашли ли они то, что искали.

Заканчивается продажа суперпакета рекламных опций на Cossa!

«Корпоративные пакеты» Cossa — это особый набор из десяти рекламных опций, включающий баннеры, анонсы в соцсетях и публикации о компании.

Это самый комплексный и высокий по КПД из коммерческих форматов на Cossa.
Продажа пакета завершается 1 марта!

Узнать больше >>>

Реклама

В ходе поисков путей передачи ключевых слов из одной системы аналитики в другую необходимо было решить 3 проблемы:

  • Идентификация и сопоставление пользователей в обоих системах аналитики, чтобы ключевая фраза записалась тому же посетителю Google Analytics у которого она была получена из «Метрики»;
  • Экспорт данных из «Метрики»;
  • Импорт данных в Google Analytics.

Сопоставление пользователей

Для распознавания пользователей в обоих системах аналитики используется уникальный идентификатор клиента. Это случайно сгенерированный номер, хранящийся в cookie Google Analytics пользователя, посетившего сайт.

После внесения изменений в код, счетчики начинают работать так, что в начале каждого сеанса идентификатор берется из cookie с помощью кода Google Analytics и передается в «Яндекс.Метрику» через параметры визита.

Экспорт данных

Экспорт поисковых фраз осуществляется с помощью API. Ежедневно из «Метрики» выгружаются пары ключевых слов и соответствующих им уникальных идентификаторов пользователей.

Импорт данных

Поисковые слова импортируются в Google Analytics с помощью Measurement Protocol. Данный протокол позволяет передавать статические данные с клиентского компьютера на сервер в виде HTTP-запросов.

Каждая пара, экспортированная из «Метрики», используется в качестве параметров HTTP-запроса и с помощью Measurement Protocol записывает поисковую фразу в Google Analytics посетителю с соответствующим уникальным идентификатором.

Пример передачи фраз

Данные о ключевых словах пользователей, пришедших на сайт из поисковой системы «Яндекс», в системе аналитики Google Analytics: 90% не определено.


Данные о ключевых словах пользователей, пришедших на сайт из поисковой системы «Яндекс», в системе аналитики «Яндекс.Метрика».


Данные о ключевых словах пользователей, пришедших на сайт из поисковой системы «Яндекс», в системе аналитики Google Analytics после передачи информации из «Метрики».


Как видно из скриншотов, фраза «not set» расшифрована. Полученные данные легко сегментируются и дают дополнительные возможности в оценке эффективности поисковых кампаний.


Источник картинки на тизере: Depositphotos

Не пропустите!

«Синдром утёнка» и другие восемь сигналов, что на собеседование пришёл непрофессиональный SEO-специа...
24ttl — digital-агентство с экспертизой в креативе и стратегии и работе с крупным бизнесом
230 минут TED Talks: лучшие лекции года о технологиях, бизнесе и интернете
«О настоящем и будущем киберспорта»: интервью с Романом Дворянкиным, генеральным менеджером Virtus.p...
Маркетинг в мире, где города превращаются в новые государства
«Кроссовки покупают все». Как мы искали ЦА для магазина кроссовок
Интернет-маркетинг в b2b: что будет (а что — не будет) работать в 2019-м
Клиентские манипуляции и как их нейтрализовать
5 классических факапов с репутацией
Фейсбук будет брать налог 20% с российских рекламодателей. Что изменится?
С чего начать работу над проектом — памятка проект-менеджеру
5 полезных бизнес-инструментов Facebook, о которых мало кто знает

Комментарии:

- -2 +
Danil Evdokimenko #
19.05.2015 13:57
Да? И каким хитом передаются ключевые фразы через протокол? Просмотром страницы?Вы каждому cid докидываете еще один pageview принудительно?Убогое решение, которое испортит всю статистику.
При передаче данных через Measurement Protocol есть возможность указать параметр, сообщающий, что обращение не является взаимодействием. Таким образом, полученная ранее статистика не искажается.
Добрый день, Дария. Подскажите, пожалуйста, какой тип набора данных используете в интерфейсе Google Analytics при импорте данных?
https://monosnap.com/file/NmfCOe0rjMk1N6mZa2VhW4vMZUiokg
Добрый день, в статье упоминается иной способ передачи данных, чем приведён на скриншоте, Measurement Protocol. Чтобы воспользоваться им никаких дополнительных настроек во вкладке администратора производить не надо.
- 0 +
Sergey Avdyushenko #
19.05.2015 14:33
Можно передавать в параметре Ключевое слово кампании информацию. Хит pageview чем не нравится?, главное не передавать новый хит, а взять id пользователя и туда подставить данные. Скажите подробнее, какие нужны изменения в код, чтобы сделать как тут сказано "После внесения изменений в код, счетчики начинают работать так, что в начале каждого сеанса идентификатор берется из cookie с помощью кода Google Analytics и передается в «Яндекс.Метрику» через параметры визита"
В код GA добавляется функция, получающая идентификатор клиента - clientId. Её код можно найти в справке. Далее clientID добавляется в объект параметров визитов и передаётся в Метрику, например, с помощью метода params(params), коды с подробными объяснениями также есть в справке.
По поводу корректности и работоспособности кода приведённого по ссылке, к сожалению, сказать ничего не могу, я с таким вариантом получения clientID не сталкивалась.
Надо еще раз вернуться, как-то неубедительно
Добрый день!
Вы предлагаете поисковые запросы из Яндекс добавлять в Google Analytics по ClientId.
Один ClientId в течении времени, может создать несколько сессий с разными поисковыми запросами!
Какой поисковый запрос, из всех сессий для ClientId из Яндекса, к какой сессии в Google Analytics вы прикрепите?
Добрый день!
Вы предлагаете поисковые запросы из Яндекс добавлять в Google Analytics по ClientId.
Один ClientId в течении времени, может создать несколько сессий с разными поисковыми запросами!
Какой поисковый запрос, из всех сессий для ClientId из Яндекса, к какой сессии в Google Analytics вы прикрепите?
Добрый день.
С помощью clientID переданная ключевая фраза "закрепляется" не за сеансом, а за посетителем.
Данные выгружаются раз в день, за предыдущие сутки. Передаются все ключевые фразы, по которым каждый из посетителей заходил на сайт.
Если в течении дня пользователь посещал сайт несколько раз по одной поисковой фразе, то это также будет отображено.
- 0 +
Alexander Kravchuk #
20.05.2015 16:01
Дарья, добрый день!
Вы, случайно, не планируете сделать пост с более полным описанием технического решения? На Хабре, например.
Добрый день.
Статья с описанием технического решения в планах есть, к сожалению, пока не могу сориентировать по срокам. Вероятно, в течение пары недель.
Целью этой статьи было донести идею и возможность создания подобного функционала. Для его полной реализации нужны навыки веб-программирования и опыт работы с системами аналитики.
- 1 +
Bit OK #
21.05.2015 09:51
Полезная статья!!!
Спасибо за статью!
Застрял на этапе экспорта из метрики - никак не могу найти точек соприкосновения у ключевых слов с переданным clientId из аналитикса(пробовал выводить отчеты "параметры визитов" и "поисковые фразы"), пересмотрел, кажется, весь хелп по апи метрики. Быть может, я не туда "копаю". Подскажите пожалуйста, как можно собрать эти данные в одну кучу?
Спасибо за статью!
Застрял на этапе экспорта из метрики - никак не могу найти точек соприкосновения у ключевых слов с переданным clientId из аналитикса(пробовал выводить отчеты "параметры визитов" и "поисковые фразы"), пересмотрел, кажется, весь хелп по апи метрики. Быть может, я не туда "копаю". Подскажите пожалуйста, как можно собрать эти данные в одну кучу?
Добрый день.
Данные можно собрать в одну кучу с помощью метода по ссылке https://tech.yandex.ru/metrika/doc/beta/api_v1/data-docpage/

dimensions=ym:s:searchPhrase,ym:s:paramsLevel2
metrics=ym:s:visits
filters=ym:s:%3Cattribution%3ESourceEngineName==%27%D0%AF%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%27%20AND%20ym:s:paramsLevel1==%27userId%27

Не забудьте userId заменить на название ваших параметров визитов. Удачи.
Огромное спасибо за информацию!!! Буду разбираться.
Дария, добрый день!Вроде бы все работает, но есть один нюанс: автоматический импорт пока не настроил и попробовал сегодня выгрузить информацию за прошедшие выходные. Пока не могу понять почему, но события привязываются не к дате за которую соответствующий посетитель заходил на сайт а к текущему дню (т.е. при импорте данных за 6ое число они импортируются в 8ое).Одно из первых пришедших в голову решений - делать выгрузку в 23:59 за текущий день, но при этом есть вероятность накладок - недоступность метрики/аналитикса и прочее. Подскажите, у вас импорт событий проходит корректно по датам или так же - данные привязываются только к текущей дате?
Добрый день.
Событие, вызванное MP привязывается к той дате, когда оно сработало. Поэтому, чтобы не было путаницы, ежедневно рано утром мы выгружаем данные за предыдущие сутки и передаём в GA. Получается, ключевые фразы приходят в систему с "опозданием" в один день.
Дария, добрый день. Спасибо за оригинальную методику, скажите, а как Вы поступаете с требованием MP: "For 'pageview' hits, either &dl or both &dh and &dp have to be specified for the hit to be valid"? Забираете из ЯМ еще и ym:s:startURL и передаете в GA?
Добрый день.
Мы не передаём через MP протокол параметры Document location URL или Document Path , поэтому с данной проблемой не сталкиваемся. Данные в GA передаются не просмотром страницы, а событием.
- 0 +
Alex Boykov #
25.10.2016 09:48
Дария, спасибо за материал. Но непонятно, как получать данные по поисковым фразам в группе отчетов по источникам трафика, если через MP мы передаем их событием. Пробовали ваш код, указанный ниже - данные попадают в отчеты по событиям, где Keyword - категория, а сами запросы - действия. Вы работаете с отчетами по событиям, или нужно делать какие-то дополнительные настройки, чтобы данные попадали в отчеты по источникам трафика?
- 0 +
Dmitry Gubanov #
09.07.2015 16:37
Дарья, спасибо за статью, метод вполне понятный. В плане реализации - Вы не могли бы привести код (ссылку, без конкрентых данных) передачи запросов событием через MP? Заранее спасибо.
Добрый день. Пример передачи данных через MP: $url = 'http://www.google-analytics.com/collect'; // url запроса $params = array( // параметры запроса 'v' => '1', // версия 'tid' => 'UA-ХХХХХХХХ-Х', // номер счётчика 'cid' => $query['client_id'], // идентификатор клиента 't' => 'event', // тип - событие 'ec' => 'Keyword', // название события 'ea' => $query['word'], // ключевое слово 'ni' => '1', // параметр, отвечающий за то, чтобы событие не генерировало дополнительный визит );
- 0 +
katerina1992 #
09.03.2017 14:48
Дария, добрый день.
Подскажите пожалуйста, 'cid' => $query['client_id'], данная строка берет все client id, а не только один конкретный? как понять, что данные берутся из метрики? не совсем понятно, что делает эта строка. Не могли бы вы пояснить, каким образом импортированные данные из Метрики загружаются через MP в Analytics?
- 0 +
https://api-metrika.yandex.ru/stat/v1/data?ids=**************&metrics=ym:s:visits&dimensions=ym:s:directSearchPhrase,ym:s:paramsLevel2&oauth_token=**************День добрый делаю для экспорта из метрики такой запрос но почему то не получается. В чем ошибка?По отдельности выгружаются данные а вместе никак. что не так?
Доброе утро.
Параметры "ключевая фраза Директа" и "параметр визита" не группируются и в интерфейсе Метрики, возможно, поэтому они не выгружаются парно по API.
Может вам подойдёт передача данных о посещениях с Директа с помощью utm-меток?
- 0 +
Мне хотелось бы выгружать данные о поисковой фразе и параметру визита. Но к сожалению Яндекс не дает такой отчет по политике безопасности.
Данные о поисковой фразе или о ключевой фразе пользователей, пришедших по объявлениям Директа?
- 0 +
Данные о фразе которую вбивал пользователь в поиске. то есть ключевой фразе пользователей
Если речь идёт о бесплатных переходах с поиска, то в вашем запросе замените "directSearchPhrase" на "searchPhrase".
- 0 +
Вот именно и есть загвоздка что речь идет о "directSearchPhrase"
Тогда я вам помочь не смогу Smile Лучше обратиться например в тех поддержку Метрики.
- 0 +
А вы не могли бы поделиться скриптом для автоматической выгрузки из метрики и загрузки в аналитикс ? я так полагаю у вас скрипт по крону просто срабатывает. руками чет не оч хочет ся это делать и может быть как то более точно можно передавать данные например каждый час или каждые пол часа что б небыло опоздания в целые сутки , так как отчет по многоканальным последовательностям в аналитиксе тем самым неестественно искажается Smileтак что более точно лучше отдавать данные за этот же день.
Запускайте код каждый час)
Я вроде выше всё подробно расписывала Joke
А есть ли более подробная пошаговая схема что и как нужно сделать для передачи данных?


Чем живёт диджитал?
Главное — в рассылке:




Вход на cossa.ru

Уже есть аккаунт?
Выбирай любой вариант входа:
Facebook Vkontakte

Используйте свой аккаунт в социальной сети Facebook или Вконтакте, чтобы пользоваться сайтом

Не забудьте написать email на странице своего профиля для управления рассылкой