Блог про интернет-маркетинг для бизнеса

Аналитика

Дополнение к стандартному коду Google Analytics для расшифровки пометки _openstat (upd)

64
21
4
13

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

А проблема эта заключается в том, что если помечать кампанию контекстной рекламы в Яндекс.Директе через автоматическую пометку, это происходит с использованием пометки _openstat, которую Google Analytics, к сожалению, не понимает. В результате весь трафик, помеченный таким образом в Яндекс.Директе, определяется Google Analytics как бесплатный поисковый либо реферальный. Мы дописали стандартный код Google Analytics для сайта, чтобы решить эту проблему.

Очень коротко об алгоритме решения

  • Как известно, метка _openstat представляет собой закодированную алгоритмом base64 строку с указанием рекламной сети, места размещения, идентификаторов кампании и самого объявления. Поэтому при наличии метки _openstat, мы извлекаем и расшифровываем ее значение.
  • После чего формируем строку для кода GA, в которой передаем значения utm_campaign равные месту размещения, utm_source равный названию рекламной сети (вероятнее всего, yandex.direct), utm_content равный идентификатору объявления, utm_medium равный cpc. Далее все работает стандартно - так, будто страница была помечена utm метками.

Преимущество данного решения перед другими: никаких редиректов, никаких "танцев с бубном" в фильтрах профиля, Яндекс.Метрика по-прежнему срабатывает в стандартном режиме. Преимущество перед utm метками: во вкладке "кампания" интерфейса Google Analytics можно будет увидеть отчет по местам, с которых происходили переходы. Модифицированный код можно найти тут. Также в коде есть актуальный список поисковиков, которые GA не всегда корректно распознает или не распознает вовсе. upd. 23.08 мы обновили код Теперь добавлен код Universal Analytics для парсинга _openstat. Строка вызова скрипа GA заменена на соответствующую DoubleClick (необходимый для сбора списков ремаркетинга). Но в случае с пользователем, у которого стоит AdBlock и ему подобных, код Google Analytics не отрабатывал бы. И это исправлено - теперь по событию Window.OnLoad выполняется проверка, сработал ли код GA и если не сработал, то срабатывает стандартный код GA. Также отправляется событие, которое соответствует сработавшему коду, соответственно появляется возможность оценить какой процент аудитории блокирует рекламу.

Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.

Комментарии (43)

  1. 0
    2 года назад

    Если настраивать через GTM, там уже включена процедура "знакомства" Google Analytics с другими поисковиками, чтоб он (GA) не определял их как direct-трафик.

  2. 0
    2 года назад

    Простите, в вашем хэлпе совсем не понял 5-го пункта: «Создайте тег Universal Analytics на просмотр страницы (триггер активации — openStatParsed)»

    Где это нужно создавать?

  3. 0
    3 года назад

    Привет! Спасибо за решение! Вопрос, а что на счёт строки для ремаркетинга в юниверсал?
    ga('require', 'displayfeatures');
    Её нужно дополнять в код, или же по апдейту оно уже есть в коде?

  4. 0
    3 года назад

    Для кода UA есть такие строчки:
    if (OpenStatParser.hasMarker()) {
    var campaignParams = OpenStatParser.buildCampaignParams();
    if (campaignParams !== false) {
    ga('set', {'campaignName': utmcampaign, 'campaignSource': utmsource, 'campaignMedium': 'cpc', 'campaignContent': utmcontent});
    }

    Я так понял, что это включение отслеживания залогиненного пользователя. Видел в вебинаре подключения USER-ID путем установки кода

    ga('set', '&uid','USER_ID')

    Возник вопрос. Если я буду реализовывать USER-ID, не перезатрет ли данные строчки из Вашего кода? Спасибо.

    • 0
      Ivan Dziuba
      3 года назад

      Это не имеет отношения к UserID.

      UserID можно добавить отдельной строкой. Или добавить в эту строку.

      if (OpenStatParser.hasMarker()) {
      var campaignParams = OpenStatParser.buildCampaignParams();
      if (campaignParams !== false) {
      ga('set', {'campaignName': utmcampaign, 'campaignSource': utmsource, 'campaignMedium': 'cpc', 'campaignContent': utmcontent, 'UserID': 'USER_ID'});
      } else {
      ga('set', 'UserID','USER_ID');
      }

  5. 0
    3 года назад

    Спасибо, очень удачное решение. Но к сожалению есть проблемы со стороны Yandex.Direct.

    - при уже проставленных utm метках и включенном openstat иногда всеравно почему-то берутся проставленные utm;

    - при клике на изображение (не отображается в объявлениях в поиске yandex), идентификатор объявления не правильный, похоже что берется идентификатор объявления. Сравнивал с помощью расшифровки openstat метки ( http://marker.openstat.ru/decoder ) из destination url в GA с идектификатором каждого объявления в интефейсе директа. Писали в поддержку директа, оказалось это идентификатор изображения для объявления. Притом, что идентификатор кампании - правильный.

  6. 0
    4 года назад

    Александр, большое спасибо вам)

    Подскажите, пожалуйста, вы пользуетесь динамическими параметрами директ типа {source} и тд? Если да, как вы их используете при автоматической пометке openstat?

    • 0
      Сергей Лыткин
      4 года назад

      Добрый день.

      Они же не попадают в автоматическую пометку openstat, так, что если вы желаете их использовать совместно с Google Analytics, то придется настроить фильтры на вычленение этих данных из url, также есть вариант доработать код под ваши нужды и установить их в качестве custom variables. Ну или custom dimensions или custom metrics в случае Universal Analytics.

      • 0
        Александр Максименюк
        3 года назад

        Скажите, почему это решение лучше, чем utm пометки, ведь с их помошью можно отслеживать ключевые слова в аналитике?

        • 0
          Андрей
          3 года назад

          1. Оно автоматическое.
          2. С этим решением поисковые запросы отслеживаются автоматически, если переход будет с контекстной рекламы в поиске Яндекс.

  7. 0
    4 года назад

    Подскажите еще такой вопрос. Я установил Ваш код и он собирает статистику. Стоит ли его менять на обычный, когда перестаешь давать рекламу в Яндекс.Директ. Или пусть остается такой?

    • 0
      Ivan Dziuba
      4 года назад

      Код асинхронный, так что особого влияния на скорость работы не создает. Поэтому я считаю, что менять его на стандартный нет смысла.

      • 0
        Александр Максименюк
        4 года назад

        Здравствуйте. Наконец-то внедрил этот код. Но в отчетах не могу найти данные. Как они должны выглядеть, можете показать скрин? Спасибо. Есть пример картинки с работой данного кода?

  8. 0
    4 года назад

    Здравствуйте. По ссылке два кода. Выстраивать первый? Для чего расписан Universal? На сайт выстраивать с номером счетчика? Подскажите сколько кодов внедрять? )

    • 0
      Ivan Dziuba
      4 года назад

      Используйте первый если при создании аккаунты выбрали "стандартное отслеживание" и Universal, если "Universal Analytics". UA-XXXXXX-X заменяете на свой идентификатор аккаунта.

      Universal для расшифровки _openstat при использовании Universal Analytics. Код Universal Analytics отличается, но тоже не умет расшифровывать _openstat без модификации.

      • 0
        Александр Максименюк
        4 года назад

        Подскажите пожалуйста. Вот в конце функция _gaq.push(['_trackEvent', 'tracking_script', 'loaded', 'dc.js', ,true]); полностью дублирует до(после) else _gaq.push(['_trackEvent', 'tracking_script', 'loaded', 'dc.js', ,true]);

        Т.е. в событие будет идти всегда "loaded" - заблокировалась ли реклама или не заблокировалась. Или я что-то не так понял?

        • 0
          Ivan Dziuba
          4 года назад

          Вы немного не на то смотрите, там есть отличие в Label. Т.е. если сработает код dc.js - то запишется dc.js, если ga.js - аналогично.

          • 0
            Александр Максименюк
            4 года назад

            Подскажите пожалуйста, что отображает "Ярлык события" ga.js и dc.js . В каких случаях срабатывают эти ярлыки? Спасибо.

            • 0
              Ivan Dziuba
              4 года назад

              Они отрабатывают в соответствии с тем кодом, который отработал ga.js (который родной с сайта аналитикса) или dc.js (который собирает списки ремаркетинга и запускается с doubleclick).

              • 0
                Александр Максименюк
                4 года назад

                Ничего не понял, можно немного проще? Если Вас не затруднит. Я установил на сайт этот код и у меня в статистике есть события и с ga.js и с dc.js. Ремаркетинг я не настраивал. Почему в статистику идет два события?

          • 0
            Александр Максименюк
            4 года назад

            понял. спасибо.

  9. 1
    4 года назад

    Пометки _openstat включены, реклама идет, код установлен корректно (tag assistang не ругается), но статистики в Campaings в Analytics'e НЕ СОБИРАЕТСЯ. Проверил уже для двух разных РК для двух сайтов.

    В код включены также Remarketing + Double Clicks. Результата нет ни на чистом профиле, ни на профиле с фильтрами. Из фильтров использую (исключение ip, приведение всех урлов к нижнему регистру, получать полный путь перехода). Админка WP, _openstat метки из урла не вырезаются. В Analytics переходы из Директа можно найти только в "langing pages", вид у них там примерно вот такой:

    /resheniya/kitaj?_openstat=ZGlyZWN0LnlhbmRleC5ydTs3MjU0NDMwOzIwNDkxMDAzMjt5YW5kZXgucnU6cHJlbWl1bQ

    То есть метки добавляются корректно, но в аналитиксе никак не обрабатываются (в Campaings пусто). 2 дня чтобы набралась статистика ждал. Эффекта 0.

    Код взят по ссылке http://netpeak.ua/soft/ga-openstat-code/

    Может ли быть конфликт с добавками в код Remarketing + Double Clicks? Подскажите, в какую сторону можно порыть еще?

  10. 0
    4 года назад

    Полетит с Яндекс Маркетом?

    • 0
      Павел Романовский
      4 года назад

      Должно, работать, но есть ощущение, что в маркете иногда в пометку закрадываются артефакты, особенно если в товаре есть какие-то спецсимволы. Если не будет корректно работать, прошу скинуть пример пометок openstat, где не работает.

  11. 2
    4 года назад

    Спасибо, Лунаход! Если бы ты знал, как этого не хватало раньше :)

  12. 0
    4 года назад

    В Universal Analytics список поисковиков можно добавлять на уровне профиля, так что код можно немного сократить, если перейти на Universal.

    http://support.google.com/analytics/bin/answer.py?hl=ru&answer=2795821

    • 0
      Alex Danilin
      4 года назад

      Можно и когда он выйдет из демо - мы обновим код, но пока что в Universal Analytics есть некоторые проблемы.

      И еще отмечу, что в Universal Analytics этот список пока что нужно вручную вставлять для каждого проекта...

  13. 0
    4 года назад

    Вопрос от тех кто не часто пользуется Директом :)

    Это решение позволяет видеть полную статистику по переходам из Директ
    в GA? И для этого нужно в кампании в директе включить пометку openstat?

  14. 3
    4 года назад

    Одной проблемой меньше :)

    Спасибо, Лунаход!!!

  15. 2
    4 года назад

    спасибо, Lunaxod :)
    это очень круто!

Чтобы оставить комментарий, необходимо авторизироваться

Подписаться

на самую полезную рассылку по интернет-маркетингу

Самое

обсуждаемое популярное читаемое