Не отправлять хит при инициализации счетчика
Как поставить на сайт счетчик яндекс: Быстрый старт — Метрика. Справка
Как создать и установить код счетчика Яндекс.Метрики на сайт
Любые бизнес-процессы построены на аналитике. Аналитика построена на данных. Но эти данные нужно откуда-то взять. Когда речь заходит о веб-аналитике, не упомянуть Яндекс.Метрику просто нельзя. Сегодня мы расскажем об основе основ: создании, установке и настройке счетчика Метрики.
Яндекс.Метрика – бесплатный инструмент для веб-аналитики. Он предоставляет информацию о посещениях сайта, поведении пользователей, их интересах и демографических данных, а также помогает оценить эффективность рекламных кампаний.
Принцип работы Метрики
Для каждой страницы сайта создается один или несколько счетчиков. Счетчик – это java-код, который добавляется в код сайта. Как только пользователь заходит на страницу, код передает серверу Метрики информацию о событиях на странице и о взаимодействии пользователей с ней. Благодаря сервисам Яндекса данные, собранные счетчиками, дополняются. Например, добавляются интересы пользователей и демографические данные, которые доступны в отдельных отчетах.
Зачем устанавливать Метрику на сайт
Метрика связана с другими сервисами Яндекса. А сервисами и приложениями Яндекса пользуются 90,4% аудитории рунета[1]. Такая интеграция может упростить маркетинг проекта, а также улучшить эффективность рекламных кампаний. Плюс ко всему, в Метрике есть полезный инструмент «Вебвизор». Он помогает проанализировать поведение пользователей на странице сайта, понять, где именно сайт теряет посетителей и какие изменения необходимо сделать.
Синхронизация Яндекс.Метрики и Директа даст наиболее полную статистику по рекламным кампаниям. Также будет возможность подключить дополнительные функции Директа. Например, настроить ретаргетинг по целям/сегментам из Метрики. Также будет возможность подключить функцию «Целевой звонок», чтобы оценить эффективность каналов привлечения клиентов.
Яндекс. Метрика подойдет как для продающих сайтов, чтобы проанализировать действия посетителей, предшествующие покупке, так и для информационных сайтов, чтобы понять, какой контент пользуется наибольшей популярностью и как меняется количество посетителей.
Из несомненных плюсов еще можно отметить то, что сервис бесплатный и считается более простым и понятным по сравнению с другими системами аналитики.
Создаем счетчик. Три шага
Первый шаг. Создайте аккаунт на Яндекс, а затем авторизуйтесь в системе Метрики.
Второй шаг. В разделе «Счетчики» нажмите на кнопку «Добавить счетчик».
Третий шаг. Далее откроется форма для заполнения. Здесь мы вводим имя счетчика, адрес (домен или полный путь), выбираем часовой пояс и включаем или отключаем вебвизор, карту скроллинга, аналитику форм. Мы советуем включить эти функции, они точно пригодятся.
После создания счетчика нужно сделать еще несколько настроек перед установкой на сайт.
Настаиваем счетчик
Помимо основных настроек (имя счетчика, адрес, часовой пояс и подключение вебвизора, карт, аналитики форм) в Метрике доступны дополнительные.
Для AJAX-сайтов можно включить функцию отслеживания хеша в адресной строке. Она поможет корректно подсчитать просмотры на страницах, которые обновляются без перезагрузки.
Специальная настройка для XML-сайтов (элемент noscript не должен использоваться в XML-документах).
Настройка В одну строку вытягивает код счетчика в одну строчку, а не разбивает на несколько.
По умолчанию счетчик Метрики невидимый, но если активировать Информер, то можно настроить его внешний вид. Например, при выборе расширенного типа отобразит виджет со статистикой сайта за неделю:
Включение опции Альтернативный CDN позволит корректно учитывать посещения из тех регионов, в которых ограничен доступ к ресурсам Яндекса. Но здесь нужно иметь в виду, что включение этой настройки может снизить скорость загрузки кода счётчика.
Устаревший код счетчика включают только в том случае, если необходим Вебвизор 1.0.
Электронная коммерция отлично подойдет для интернет-магазинов. При подключении этой функции будет доступна информация о продажах, доходах, среднем чеке. Также будет представлена статистика по товарам, брендам и категориям, которыми посетители интересуются чаще.
Тайм-аут визита – это время бездействия на сайте, по истечению которого визит засчитывается как завершенный. В дополнительных настройках можно установить время бездействия посетителя на сайте: от 30 минут до 360. Число обязательно должно быть целым, по умолчанию в настройках установлено 30 минут.
Добавление на сайт
Код счетчика можно установить на сайт несколькими способами.
- Для сайтов без CMS-системы код счетчика добавляется в HTML-код сайта.
Расширенная настройка: SDK для iOS
В этом документе представлен краткий обзор расширенных настроек в SDK Google Analytics для iOS версии 3.
Обзор
SDK Google Analytics для iOS предоставляет класс GAITracker для установки и отправки значений в Google Аналитику, а также синглтон GAI , который служит интерфейсом для глобальных значений конфигурации вашего приложения.
Инициализация
Прежде чем вы сможете получать аналитические данные, необходимо инициализировать хотя бы один трекер через синглтон GoogleAnalytics , предоставив название трекера и идентификатор ресурса Google Аналитики:
Теперь этот трекер можно использовать для настройки и отправки данных в Google Аналитику.
Настройка и отправка данных
Для отправки данных в Google Аналитику необходимо задать в счетчике пары «параметр-значение» с помощью метода set и затем передать их с помощью метода send , как показано ниже.
Класс GAIDictionaryBuilder упрощает создание обращений и рекомендуется к использованию в большинстве случаев. Чтобы отправить тот же просмотр экрана, вам потребуется меньше строк кода:
Амперсанд-синтаксис протокола передачи статистических данных
Если обращение единственное, его значение можно задать в Builder , а всех последующих – в самом трекере, используя амперсанд-синтаксис протокола Measurement Protocol:
Применение значений к нескольким обращениям
Все значения, которые вы задаете в самом трекере, сохраняются и применяются к нескольким обращениям, как в этом примере:
В счетчике следует задавать только те значения, которые вы хотите использовать в нескольких обращениях, например название экрана, поскольку оно останется тем же для последующих просмотров и событий. Однако напрямую не рекомендуется устанавливать такие поля, как тип обращения, так как он может каждый раз меняться.
Использование нескольких счетчиков
Вы можете реализовать в приложении несколько трекеров, отправляющих данные на разные ресурсы:
Если вы настроили автоматическое отслеживание (например, экранов и неперехваченных исключений), для отправки данных в Google Аналитику будет использоваться только один счетчик. В этом случае передавать информацию с нескольких трекеров вам придется вручную.
Для справки: при автоматическом отслеживании экранов используется трекер, указанный в свойстве tracker данного контроллера представления GAITrackedViewController , а при автоматическом отслеживании неперехваченных исключений – трекер, заданный в экземпляре GAI .
Счетчик по умолчанию
В Google Аналитике по умолчанию используется первый инициализированный счетчик, однако при желании вы можете указать вместо него другой:
Выборка
Чтобы сократить количество обращений в Google Аналитику, можно настроить выборку данных на стороне клиента. Если у вашего приложения много пользователей или оно отправляет в Google Аналитику большой объем информации, выборка поможет избежать перебоев в отчетности.
Например, следующий код задает выборку 50 %:
Отказ от отслеживания на уровне приложения
Вы можете добавить пометку, позволяющую отключить сбор данных Google Аналитики на уровне приложения. Учтите, что она должна устанавливаться при каждом запуске приложения, а ее значение по умолчанию – NO .
Чтобы реализовать отказ от отслеживания на уровне приложения, используйте следующий код:
Также это можно сделать следующим способом:
Удаление пользовательских данных на стороне клиента
Если необходимо сбросить или удалить данные Google Аналитики о конечном пользователе на стороне клиента, удалите файлы Google Аналитики или задайте новый идентификатор клиента.
Вариант 1. Удаление файлов Google Аналитики
Если в вашем приложении конечному пользователю не присваивается явным образом идентификатор клиента, вы можете инициировать создание этого идентификатора, удалив файлы Google Аналитики, которые хранят его значение.
Ниже приведен пример удаления файлов Google Аналитики. Этот метод должен выполняться до инициализации Google Аналитики.
Вариант 2. Установка нового идентификатора клиента
Вы можете сгенерировать и установить новый уникальный идентификатор клиента, который будет использоваться для всех последующих обращений. Прежние данные не будут связываться с новым идентификатором.
Чтобы сгенерировать и установить новый идентификатор клиента, выполните следующий код:
Если вы хотите задать идентификатор клиента явным образом (вместо генерации случайного значения), убедитесь, что он является строкой UUID версии 4, как описано в разделе https://goo.gl/0dlrGx. Если вы используете идентификатор IDFA, то при установке нового идентификатора клиента он будет немедленно заменен новым идентификатором клиента, сгенерированным случайным образом. Если вам необходимо установить определенный идентификатор клиента и вы используете IDFA, этот способ не рекомендуется. В этом случае выберите Вариант 1. Удаление файлов Google Аналитики.
Анонимизация IP
Если эта функция включена, Google Аналитика скрывает сведения об IP-адресах, отправляемые SDK, удаляя последний октет из адреса перед его сохранением.
В следующем коде включается анонимизация IP для трекера:
Эту функцию можно активировать в любое время.
Тестирование и отладка
В помощь разработчикам SDK Google Analytics для iOS предоставляет следующие инструменты для тестирования и отладки.
Флаг dryRun
Флаг dryRun позволяет запретить отправку данных в Google Аналитику. Используйте dryRun при тестировании и отладке, чтобы не засорять отчеты Google Аналитики.
Вот как установить этот флаг:
Logger
Для журналирования служит протокол GAILogger . Он позволяет обрабатывать сообщения от SDK на следующих уровнях детализации: error (ошибка), warning (предупреждение), info (информация) и verbose (подробности).
SDK инициализирует стандартную реализацию Logger , при которой по умолчанию на консоли регистрируются только предупреждения и сообщения об ошибках. Вот как задать уровень детализации для интерфейса Logger :
Также возможна пользовательская реализация Logger :
Полный пример
Далее приведен пример кода, который инициализирует отслеживание Google Аналитики и сообщает о просмотре экрана.
Просмотр экрана учитывается, когда пользователь видит первый экран приложения.
Обычно инициализацию можно выполнить из делегата приложения, как в этом примере:
Затем учитывается просмотр экрана:
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Инструкция: настройка счетчика Яндекс.Метрики через Google Tag Manager
Шаг 1. Инициализация счетчика
Создайте переменную с типом «Константа» и значением идентификатора вашего счетчика. После все коды будут представлены с учетом того, что переменная называется `YM — Tracker`.
Для корректной инициализации счетчика используйте следующий код:
Этот код отличается от стандартного. В нем мы заменили явный номер счетчика на обращение к соответствующей переменной. При инициализации счетчика включили событие о готовности счетчика: при корректной инициализации в dataLayer отправится событие `YMReady`, при совершении ошибки — `YMFail`. Далее для фиксации этих событий соответствующие настройки нужно произвести и в контейнере. Также в этом коде мы использовали глобальную функцию `goalSender`. Это значит, что в отличие от стандартного метода счетчика reachGoal, при вызове функции будет происходить проверка инициализации счетчика. Если счетчик загружен, то в Яндекс.Метрику отправляется событие достижения цели, если нет, то повторяется каждые 0,3 с.
Код не универсальный, и при необходимости добавьте другие параметры инициализации из документации (https://yandex.ru/support/metrika/code/counter-initialize.html).
Далее установите код в контейнер через тег с типом «Пользовательский HTML» со стандартным правилом активации на всех страницах.
Шаг 2. Проверка готовности счетчика
Итак, мы настроили следующие события:
- `YMReady` – счетчик загружен, и его можно использовать;
- `YMFail` – во время инициализации счетчика произошла ошибка.
Добавьте эти события в GTM при помощи триггеров с типом **Пользовательское событие**. Пример такого триггера:
При необходимости можно создать несколько переменных на основе данных, которые передаются в уровень данных сайта при инициализации счетчика:
- `isYMReady` – переменная-индикатор успешной инициализации счетчика. В случае успешной инициализации содержит значение `true`, при наличии ошибки — `false`;
- `ymclid` – идентификатор клиента Яндекс.Метрики. Содержит значение только при успешной инициализации;
- `failReason` – описание ошибки инициализации. Содержит значение только в случае ошибки инициализации.
Чтобы задать эти переменные, используйте триггер с типом **Переменная уровня данных**.
Шаг 3. Отправка параметров пользователя
Подготовка данных завершена, теперь нужно настроить их отправку. Для наглядности покажем на примере. Мы будем передавать идентификаторы клиента Google Analytics и Яндекс.Метрики в качестве параметров пользователя Яндекс.Метрики и идентификатор пользователя Google Analytics в качестве пользовательского идентификатора Яндекс.Метрики .
Чтобы получить идентификатор пользователя Google Analytics, используйте готовые функции библиотеки *analytics.js*, а именно:
Полный код передачи параметров добавьте в контейнер через тег с типом
«Пользовательский HTML» с правилом активации на триггер (ранее мы определили его через событие «YMReady»).
Получите следующий код:
Шаг 4 Отправка целей
Для отправки целей создайте новый тег с типом «Пользовательский HTML». Этого достаточно, поскольку ранее, при инициализации счетчика была задана функция отправки целей с проверкой наличия счетчика на странице.
Активируйте подобный тег на интересующее вас событие, дополнительных настроек в этом случае не потребуется.
Заключение
Эта модель внедрения счетчика Яндекс.Метрики дает ряд преимуществ по сравнению со стандартным вариантом:
- в системе Google Tag Manager сохраняется событие-индикатор готовности счетчика Метрики и значение идентификатора пользователя Яндекс.Метрики, которое можно передавать в другие системы аналитики;
- в Яндекс.Метрику отправляются значения идентификаторов Google Analytics и Яндекс.Метрики в качестве параметров пользователя;
- идентификатор пользователя Google Analytics определяет пользовательский идентификатор Яндекс.Метрики.
Запись сведений в окне выхода с помощью точек трассировки в Visual Studio
Точки трассировки позволяют записывать сведения в окно выхода в разделе настраиваемых условий без изменения или остановки кода. Эта функция поддерживается и для управляемых языков (C#, Visual Basic, F#), и для машинного кода, а также для таких языков, как JavaScript и Python.
Рассмотрим пример.
В следующем примере приводится простой цикл for с переменной counter, которая увеличивается на единицу каждый раз, когда цикл выполняет очередную итерацию.
Установка точек трассировки в исходном коде
Чтобы установить точки трассировки, можно указать выходную строку под флажком Действие в окне Параметры точки останова.
Чтобы инициализировать точку трассировки, сначала щелкните поле слева от номера строки, в которой требуется установить точку трассировки.
Наведите указатель мыши на красный кружок и щелкните значок шестеренки.
Откроется окно Параметры точки останова.
Установите флажок Действие.
Обратите внимание, что красный кружок изменяется на ромб, что указывает переключение с точки останова на точку трассировки.
Введите сообщение, которое хотите выводить, в текстовое поле Показать сообщение в окне вывода (дополнительные сведения см. следующих разделах этой статьи).
Теперь точка трассировки установлена. Если все, что вы хотели сделать, — это записать некоторые сведения в окно вывода, нажмите кнопку «Закрыть».
Если вы хотите добавить условия, определяющие, когда должно отображаться ваше сообщение, установите флажок Условия.
Существует три варианта условий: условное выражение, фильтр и количество обращений.
Меню «Действия»
Это меню позволяет записывать сообщения в окно вывода. Введите строки, которые хотите выводить, в поле сообщения (кавычки не требуются). Если нужно отображать значения переменных, обязательно заключайте переменные в фигурные скобки.
Например, чтобы отображать значение переменной counter в консоли вывода, в текстовом поле сообщения введите
Если теперь вы нажмете кнопку Закрыть, а затем запустите отладку программы (нажав клавишу F5), в окне вывода отобразится следующий результат.
Для отображения более точных сведений можно также использовать специальные ключевые слова. Вводите ключевое слово точно так, как показано ниже (указывайте «$» перед каждым ключевым словом, а само ключевое слово записывайте прописными буквами).
Ключевое слово | Что отображается |
---|---|
$ADDRESS | Текущая инструкция |
$CALLER | Имя вызывающей функции |
$CALLSTACK | Стек вызовов |
$FUNCTION | Имя текущей функции |
$PID | ИД процесса |
$PNAME | Имя процесса |
$TID | Идентификатор потока |
$TNAME | Имя потока |
$TICK | Счетчик тактов (из Windows GetTickCount) |
Меню «Условия»
С помощью меню «Условия» можно фильтровать выходные сообщения, чтобы они отображались только в определенных сценариях. Существует три основных типа условий.
Условное выражение
Когда используется условное выражение, выходное сообщение отображается только при соблюдении определенных условий.
С помощью условных выражений можно задать, чтобы точка трассировки выводила сообщение, когда определенное условие имеет значение true или когда значение условия изменилось. Например, если требуется отображать значение счетчика только во время четных итераций цикла for , можно выбрать вариант Is true и ввести в текстовом поле сообщения i%2 == 0 .
Если вы хотите печатать значение счетчика при изменении итерации цикла for , выберите When changed и введите в текстовом поле сообщения i .
Поведение условного выражения When Changed зависит от языка программирования.
- В машинном коде отладчик не рассматривает первое вычисление условия как изменение значения, поэтому при первом вычислении выражения точка трассировки не сработает.
- В управляемом коде отладчик активирует точку трассировки при первом вычислении после выбора условия When changed.
Более полный обзор допустимых выражений, которые можно использовать при задании условий, см. в разделе Выражения в отладчике.
Количество обращений
Условие «количество обращений» позволяет отправлять выходное сообщение только после того, как строка кода, в которой установлена точка трассировки, выполнилась указанное число раз.
При использовании количества обращений можно указать вывод сообщения в том случае, когда количество выполнений строки кода, в которой установлена точка трассировки, равно, кратно или больше или равно значению, заданному в условии. Выберите наиболее подходящий вариант и введите в поле целочисленное значение (например, 5), представляющее нужную итерацию.
Фильтр
При использовании условия фильтра можно указать, для каких устройств, процессов или потоков должно отображаться выходное сообщение.
Список выражений фильтра:
- MachineName = «имя»
- ProcessId = значение
- ProcessName = «имя»
- ThreadId = значение
- ThreadName = «имя»
Строки (такие как имена) необходимо заключать в двойные кавычки. Значения можно указывать без кавычек. Предложения можно объединять, используя операторы & ( AND ), || ( OR ), ! ( NOT ) и круглые скобки.
Особенности
Хотя точки трассировки предназначены для того, чтобы сделать интерфейс отладчика более понятным и удобным, при их использовании необходимо учитывать некоторые важные аспекты.
Иногда при проверке свойства или атрибута объекта его значение может измениться. Если значение изменяется во время проверки, эта ошибка не является следствием работы самой точки трассировки. Однако использование точек трассировки для проверки объектов не позволяет избежать этих случайных изменений.
Выражения в поле сообщений Действие могут вычисляться не таким способом, как в языке программирования, который вы используете для разработки. Например, чтобы вывести строку, не нужно заключать сообщение в кавычки, даже если обычно вы должны это делать при использовании Debug.WriteLine() или console.log() . Кроме того, синтаксис фигурных скобок ( < >) для выражений вывода также может отличаться от правил для вывода значений в используемом вами языке разработки. (Однако содержимое в фигурных скобках ( < >) в любом случае должно быть написано с использованием синтаксиса используемого языка разработки.)
Если вы пытаетесь отладить интерактивное приложение и ищете какую-нибудь аналогичную функцию, ознакомьтесь с нашей функциональностью точек ведения журнала в Snapshot Debugger. Отладчик моментальных снимков — это средство, используемое для исследования проблем в рабочих приложениях. Точки ведения журнала также позволяют отправлять сообщения в окно вывода без изменения исходного кода и не влияют на работу приложения. Дополнительные сведения см. в статье Отладка интерактивных приложений Azure.