Pull to refresh

Учим Google Analytics дружить с Яндекс.Директ

Reading time 8 min
Views 14K
Google Analytics —бесплатный сервис статистики для веб-сайтов от компании неравнодушия Google, предоставляет настолько детальную статистику под управлением множества мощных инструментов, что мгновенно стал популярным среди веб-мастеров, включая специалистов Рунета. Но и столь развитая и продуманная система имеет ряд своих недостатков. И справится с ними получается далеко не всегда, и уж точно не малой кровью, ведь все инструменты Google Analytics, скрипты для обработки данных и, главное, вся полученная статистика хранятся на серверах Google, официальная справка и консультанты выдают минимум информации, а основной скрипт для сбора ga.js и тот обфусцирован до невозможности. Всё это связывает руки при попытках решения возникающих с обработкой данных проблем.
Множеством из таких проблем Google бережно треплет нервы именно русскоязычным пользователям: тут и загадочные проблемы с кодировками, пренебрежение к поисковикам Рунета и проблема, давно угнетающая, как скромных владельцев интернет-магазинов, так и матёрых веб-аналитиков — категорический отказ воспринимать рекламные площадки Яндекс.Директ. Причём такая ненависть не взаимна, и Яндекс.Метрика честно пытается обработать, как умеет, переходы с Google Adwords, но максимум, как предлагает выходить из положения поддержка Analytics — пользоваться Компоновщиком URL для пометки своих рекламных кампаний. Мне всё-таки удалось найти решение сложившейся ситуации и подружить суровый Google со своим русскоязычным коллегой.

1) Используем компоновщик URL

Первый, самый популярный и почти единственно используемый всеми метод для отслеживания собственных рекламных кампаний. В том числе и кампаний Яндекс.Директ.
Инструмент для реализации данного метода предлагает сам Google Analytics — Компоновщик URL. Суть инструмента в добавлении к целевому URL вашего рекламного объявления определённых параметров-меток, которые в свою очередь с успехом распознаёт и сортирует Analytics.
Это метки:
utm_source (обязательная) —для пометки источника перехода, в нашем случае YandexDirect;
utm_medium (обязательная) —средство кампании, например, баннер или рассылка. У нас — cpc;
utm_campaign (обязательная) — название кампании для удобства их различения. Тот же YandexDirect;
utm_term — само ключевое слово. Например, tort_habrahabr;
utm_content — пометка объявления или каких-либо различий в размещении в пределах одного источника. Например, text_ad1.
В итоге получается ссылка вроде:
yummyhabr.ru/tort/?utm_source=YandexDirect&utm_medium=cpc
...&utm_term=tort_habrahabr&utm_content=text_ad1&utm_campaign=YandexDirect
Которую мы и должны сделать целевой для наших объявлений в Яндекс.Директ.

Рассмотрим плюсы и минусы такого способа:
+ Работает наверняка и достаточно точно. Ведь сам Analytics обещает его работу.
+ Учёт разных параметров (средство, содержание, название) при пометке объявлений.

Это всё. И при этом:
Не зря в примере я не использовал кириллицу. С ней всё очень и очень туго. Редко когда стабильно работает и распознаётся. Используйте транслит.
И вместо пробелов лучше использовать символы нижнего подчёркивания.
Если у вас в Яндекс.Директ уже запущена рекламная кампания с сотней-другой объявлений, то вас ждёт та ещё работёнка по переводу ключевых слов с горячо ценимого русского на транслит и пометке всей этой доброй сотни.
Кроме того, у многих на одном объявлении крутятся несколько ключевых фраз. Так вот с помощью такой пометки мы сможем отслеживать только сами объявления, а не фразы, им соответствующие, ведь Яндекс.Директ позволяет назначать целевые URL непосредственно объявлению.

Бонус:
При особом обострении лени желании можно написать свой небольшой скрипт для автоматической генерации URL и пометки объявлений. Например, используя класс PHPExcel и возможность выгрузки данных из кампаний в xls-файл, которую любезно предоставляет Яндекс.Директ. Я «на коленке» набросал вот такой (принимает выгруженные xls или созданные по шаблону Яндекса).

2) Используем _openstat

Первое к чему я пришёл, не удовлетворившись официальным компоновщиком URL — это извращённый метод использования меток OpenStat. OpenStat — это закодированный в base64 набор параметров, который включается в URL и распознаётся некоторыми системами статистики, как например, LiveInternet или SpyLog, но не нашим любимым Google Analytics. Яндекс.Директ поддерживает и позволяет использовать эти метки в автоматическом режиме в своих рекламных кампаниях. При этом в метку включается идентификационный номер объявления в системе Яндекс.Директ, номер ключевого слова, источник и позиция объявления на странице выдачи. Метки генерируются Яндексом автоматически для каждого объявления при каждой выдаче пользователю. Включается на странице параметров кампании галочкой на «Внешняя интернет статистика: — Подключиться». Теперь целевые URL, помеченные параметром _openstat можно фильтровать в Google Analytics, как принадлежащие Яндекс.Директ.
Для этого в Google Analytics создаём три пользовательских расширенных фильтра (подробнее здесь):
• Фильтр1
Поле А-> “URI запроса”: (/?_openstat=.*)
Вывод в-> “Источник кампании”: YandexDirect
• Фильтр 2
Поле А-> “Средство кампании”: organic
Поле B-> “Источник кампании”: YandexDirect
Вывод в-> “Средство кампании”: cpc
*Поле Б обязательно для заполнения
• Фильтр 3
Поле А-> “Источник кампании”: YandexDirect
Вывод в-> “Название кампании”: Яндекс.Директ
Таким образом мы берём все переходы сделанные по URL, содержащему параметр openstat и определяем их как переходы с объявлений Яндекс.Директ.
Получим такую картину:

Что получилось:
+ Быстро одним щелчком включаем слежение по всем объявлениям сразу.
+ Под ключевыми словами видим именно запросы пользователей, по которым они нас нашли.
+ Всё на русском языке.

Но:
Мы не можем разделить и оценить статистику именно по нашим ключевым словам.
Вся картина рушится, если мы ещё где-то для статистики используем пометки openstat или такие ссылки где-то засветились (например, были проиндексированы поисковыми системами или добавлены пользователем в закладки). Поэтому сразу добавляем в robots.txt параметр Disallow: /*_openstat.
А главный минус в том, что после захода на наш сайт пользователя с использованием помеченного URL и его перехода на другую внутреннюю страницу, метка теряется, а значит, не обрабатывается нашими фильтрами и не помечается как рекламный переход. В итоге, мы не получим отчёты по конверсиям по этому источнику и среднее число посещённых страниц тут всегда будет меньше 2.

Бонус:
Если же этот способ вам чем-то понравился, не смущает отображение в ключевых словах поисковых запросов пользователей, то для отслеживания полной статистики по таким переходам можно использовать Пользовательский сегмент в Google Analytics (справа вверху в отчётах «Сегменты с расширенными настройками»), где параметр «Кампания» «точно соответствует» «Яндекс.Директ», то есть заданному нами в фильтрах названию. В таком случае Google Analytics для этого сегмента показывает не только статистику по заходам на сайт, у которых источник YandexDirect, но и внутренние переходы по сайту посетителей с таким источником, а соответственно конверсии и прочее. Отчего он так загадочно поступает, мне неведомо. Ведь получается, что знает, хитрец, про источник захода нашего блуждающего пользователя, но в статистику по кампаниям внутренние переходы заносить отказывается.

3) Используем шаблоны Яндекс.Директ

Пытаемся улучшить первый способ и научить Google Analytics хоть как-то распознавать отдельные ключевые запросы и дружить с русским языком. Пока учил, пытался даже создавать 30 внутренних фильтров по обратной транслитерации наших ключевых фраз, но ничего хорошего из этого не получилось…
Но обращаем своё внимание на инструмент «шаблоны» у Яндекс.Директ. Работает он просто. Если мы выделяем какое-либо слово или фразу в нашем текстовом объявлении тегами # (октоторп, он же «решётка»), то при выдаче пользователю в поиске нашего объявления слово или фраза между этими тегами будет заменено на ключевое слово, соответствующее поисковому запросу этого пользователя. В случае невозможности замены используется по умолчанию заключенное в эти теги слово или фраза.
И самое для нас полезное в этом инструменте то, что возможно применение шаблонов даже к целевому URL объявления. В этом случае кириллица ключевых слов подставляется в ссылку в формате UTF-8.
Теперь уже мы можем составить с помощью компоновщика URL нечто такое:
yummyhabr.ru/tort/?utm_source=YandexDirect&utm_medium=cpc…
...&utm_term=tort_habrahabr&utm_content=#text_ad1#&utm_campaign=YandexDirect

И увидим в статистике это:

В столбце «содержание объявления» теперь показываются наши ключевые запросы, полученные после применения шаблонов. Сразу видно, что далеко не всегда у нас тут UTF-8. Впрочем, это уже очередная радость от Google Analytics, инструмент Яндекс.Директ тут ни при чём. И становится понятно, почему, чтобы не портить статистику, мы использовали шаблоны именно в utm_content («содержание объявления»), а не в utm_term («ключевые слова»).

Но плюсы и тут есть:
+ Всё та же стабильность, так как применяется официальный компоновщик URL.
+ Теперь худо-бедно, но можем распознавать конкретно наши ключевые слова.
+ Более того, можем даже соотносить и фильтровать статистику по отдельным объявлениям и соответствующим им словам.

Минусы очевидны:
«Кракозябру» никто не любит и тяжело понять «откуда же именно пришли те 23 человека».
Опять придётся возиться со всеми нашими объявлениями.
В итоге полно мусора, всё равно приходится ломать глаза над транслитом, да теперь ещё и над «левыми» кодировками.

4) Используем все наработки

На этот метод меня натолкнул пример Брайана Клифтона (Brian Clifton), главы отдела Веб-Аналитики Google, который он привёл в своей книге «Advanced Web Metrics with Google Analytics». В том примере описывалась возможность добавления в основной скрипт Google Analytics, размещаемый на каждой странице сайта, собственного кода, позволяющего работать с Cookie и собирать информацию по источникам перехода.
Итак, возьмём всё, что мы использовали ранее и добавим немного JavaScript.
Для этого мы:
• Помечаем все объявления в нашей кампании метками компоновщика Google, с использованием шаблонов Яндекс.Директ, как в третьем способе. Получаем:
yummyhabr.ru/tort/?utm_source=YandexDirect&utm_medium=cpc…
...&utm_term=tort_habrahabr&utm_content=#text_ad1#&utm_campaign=YandexDirect

• Пишем скрипт на JavaScript (назовём его, к примеру, directdecode.js), который будет вытаскивать параметр utm_content из URL нашей страницы (location.search), раскодируем его с помощью decodeURIComponent и в случае с IE применяем ещё конвертор из Win-1251 в UTF-8. Полученное значение записываем с помощью функции Directkey() в пользовательскую переменную методом "_gaq.push(['_setVar', keyw]);", где keyw — раскодированное нами значение.
• Подключаем на страницы скрипт directdecode.js и добавляем в код Google Analytics, размещаемый на всех наших страницах, вызов функции Directkey() таким образом:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);
//Вызов функции
Directkey();
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();


Эта функция будет вытаскивать из URL наше ключевое слово, заботливо подставленное туда шаблоном Яндекс.Директа, в случае, необходимости декодировать его и записывать как пользовательскую переменную Analytics.
• Добавляем в нашем аккаунте Google Analytics следующий пользовательский расширенный фильтр к профилю:
Фильтр YandexDirect
Поле А-> “Источник кампании”: YandexDirect
Поле B-> “Определено пользователем”: (.*)
Вывод в-> “Условие поиска кампании”: $B1
*Поле Б обязательно для заполнения

Таким образом мы берём из пользовательской переменной наше декодированное ключевое слово и записываем его в наши отчёты по Яндекс.Директ.
Всё. Даём время на прохождение модерации объявлений и перекеширование скрипта у пользователей сайта. Получаем искомую картинку:

Плюсы:
+ Всё на русском языке.
+ Все данные полноценны, отображаются во всех отчётах.
+ Статистика по конкретным ключевым словам.

И минусы:
Достаточно сложное подключение. И опять придётся пользоваться компоновщиком URL (кстати, мой автоматический конвертер выдаёт URL сразу под этот способ с применением шаблонов).
Возможны небольшие глюки из-за сбоя кодировок.


У меня была возможность тщательно протестировать все способы на большой выборке сайтов достаточное время, и я остановился именно на четвёртом способе. Теперь с удовольствием собираю в Google Analytics статистику по контекстной рекламе Яндекс.Директ.
Погрешность измерения по переходам во всех способах составляет 5-10%. Это в пределах нормы.
Tags:
Hubs:
+39
Comments 51
Comments Comments 51

Articles