Один раз в месяц мы присылаем статьи на почту
Нажимая на кнопку, вы даете согласие на обработку персональных данных и соглашаетесь c политикой конфиденциальности

Как увеличить конверсию лендинга

c помощью скрипта Simple Metrics
Статья будет полезна тем, кто делает лендинги и запускает контекстную, таргетированную и медийную рекламу.
Мы попросили Антона Астахова, сооснователя и веб-аналитика агентства Mello, рассказать, как отфильтровать некачественный трафик и перестать тратить деньги на рекламные площадки, которые приводят не покупателей, а случайных посетителей.
Антон Астахов
Сооснователь агентства Mello. Партнер по обучению Яндекс.Директ. Сертифицированный специалист по Яндекс.Директ и Яндекс.Метрике. Сертифицированный специалист Google Adwords и Google Analytics.
В последнее время существует сильный тренд на Perfomance Marketing — маркетинг, в котором можно подсчитать стоимость действия пользователя. Его еще называют маркетингом, нацеленным на повышение продаж.
Performance Marketing помогает компании точно узнать количество людей, зашедших на сайт: откуда они пришли, как себя вели и сколько из них совершили «целевое действие» — оставили заявку, заказали продукт.

Этот подход позволяет сосредоточиться на результатах и требует меньше затрат. Performance Marketing позволяет измерить точные результаты маркетинга на каждом этапе воронки: от первого контакта до покупки продукта. Такой контроль дает понимание, что конкретно влияет на увеличение объема заказов.
Почему для лендингов и одностраничных сайтов недостаточно стандартных показателей Google Analytics
1. Показатель отказов (Bounce Rate)
Один из базовых показателей Analytics — отказы (bounce rate). Вспомните, как вы хотели закрыть попап, но случайно кликнули на него и перешли по ссылке. Что вы сделали дальше? Тут же закрыли ее не глядя — то есть, отказались просмотреть.

В системе Google Analytics владелец сайта увидел статистику: переход по баннеру > отказ. Если отказов много (люди кликают на баннер, но тут же закрывают страницу), то владелец сайта делает вывод, что реклама, которую он разместил, неэффективна, и меняет стратегию. Все очень логично.
Проблема в том, что, если вы нарочно зашли на страницу, провели на ней много времени, изучили вдоль и поперек, а потом закрыли, то Google Analytics тоже посчитает это отказом. Он не учитывает время, которое вы провели на странице, и ваши действия (скроллинг, движение мышкой).

По умолчанию отказами в Google Analytics считаются такие посещения, в которых пользователь просмотрел 1 страницу (без ее перезагрузки) и не совершил никаких действий, которые учитывались бы в GA. Клики по кнопкам и формам, скроллинг сам по себе не учитываются системой.
Если посетитель зашел на сайт, но не нажал на кнопку, не перешел по ссылке, не перегрузил страницу, то Google говорит нам: это отказ.
Отказы в Google Analytics – посещения, у которых зафиксирован только один просмотр страницы (1 хит).
Хит – это любое уникальное взаимодействие на сайте. В основном — это просмотры страниц, но также события, транзакции, социальные взаимодействия.
Если у вас настроены цели, события, виртуальные страницы на лендинге, отказами не будут считаться:
1
Посещения, во время которых достигалась цель, фиксировалось событие или виртуальная страница (GA фиксирует несколько хитов).
2
Посещения, во время которых пользователь перезагружал страницу (GA фиксирует второй просмотр страницы в сеансе).
При такой трактовке подавляющее число посещений одностраничного сайта будет считаться отказами, и показатель отказов будет очень высок.
Исследование Hubspot указывает, что средний показатель отказов для лендинга составляет 70-90%
Высокий процент отказов не позволяет использовать Google Analytics для аналитики лендингов.
Даже если показатель отказов равен 70%, это не значит, что весь трафик некачественный и вам от него нужно отказаться.
2. Средняя длительность сеанса
Другой базовый показатель — средняя длительность сеанса.

Длительность определяется, если разделить суммарную длительность пребывания пользователей на сайте на количество сеансов. При расчете длительности отдельного сеанса учитывается, произошло ли взаимодействие на последней странице, просмотренной во время сеанса.
Сеанс (визит) — это каждое посещение пользователем вашего сайта, то время, когда он открыл вкладку, прочитал, перешел, вернулся, закрыл вкладку
То есть, если посетитель зашел на сайт, посмотрел одну страницу две минуты, потом перешел на другую, просмотрел ее одну минуту, потом закрыл страницу — это будет один сеанс, длительность которого равна двум минутам.
Важный момент
Посетитель должен обязательно совершить действие — нажать на кнопку, перейти на другую страницу, чтобы сеанс был учтен. Если он ничего (с точки зрения GA не сделал), длительность будет равна нулю, даже если посетитель на самом деле 20 минут внимательно читал ваше коммерческое предложение.
Резюмируем:
1
Если на лендинге не происходит взаимодействий (хитов), которые считывает Google Analytics, то длительность сеанса приравнивается 0 сек.
2
Если на лендинге происходят взаимодействия, которые считывает Google Analytics, то длительность сеанса рассчитывается как разница между временем, когда было совершено последнее взаимодействие, и временем захода на сайт.
Даже в этом случае длительность может рассчитываться с погрешностью. Например, после отправки заявки пользователь может остаться на странице и что-то почитать, но время этого чтения после последнего взаимодействия не попадет в длительность сеанса.

К сожалению, в стандартной комплектации у вас будет большая погрешность при расчете средней длительности сеанса для лендинга, и этот показатель нельзя использовать для анализа данных.
Что мы теряем, используя стандартные показатели длительности сеансов и процента отказов
Рассмотрим потери на примере. Андрон — персонаж условный, но ситуация, в которой он оказался — самая обычная.
Андрон продает авиабилеты. Он понимает, что контекстная реклама в поисковых системах не принесет ему большого количества кликов, так как там большая конкуренция, а ставки, которую он готов платить за 1 клик, не хватает, чтобы показываться высоко. Поэтому Андрон решает показывать контекстную рекламу в РСЯ (рекламная сеть Яндекса) и КМС (контекстно-медийная сеть Google). Настраивает рекламные кампании и запускает их.
Проходит неделя, и Андрон видит, что 30% бюджета тратится на площадках, которые генерируют не более 10 кликов каждая. Данных для оценки эффективности по конверсиям не хватает, чтобы понять, какие площадки эффективны, а какие — нет. Дальше набирать статистику дорого: на эти кампании приходится 30% всех затрат. Что делать?
Нужно посмотреть на качество приходящего трафика с этих площадок. На основании полученных выводов стоит отключить площадки, которые приводят некачественный трафик.
Некачественный (нецелевой) трафик легко определить по показателю отказов и длительности сеансов. Если посетители уходят сразу — реклама привела не тех. Если остаются на сайте и изучают страницу — это могут быть потенциальные, но, возможно, нерешительные клиенты.

Проблема в том, что по умолчанию эти показатели в большинстве случаев не считываются корректно в Google Analytics (особенно для лендингов). То есть, если Андрон заранее не сделал корректную настройку для своего лендинга, то ему придется или терять деньги дальше, набирая статистику, или отключить все сомнительное и недополучить конверсий.
Как скорректировать показатели отказов и среднюю длительность сеансов для лендинга
Есть несколько методов воздействия на показатель отказов и среднюю длительность сеансов. Рассмотрим плюсы и минусы наиболее распространенных.
1. Точный показатель отказов
Чтобы повлиять на этот показатель, в аналитике настраивают специальное событие через промежуток времени после захода на сайт.

Допустим, вы ставите в таймер 30 секунд. Все, что меньше 30 секунд — отказ, что больше — целевой трафик. Но тогда посетитель, который провел на сайте 31 секунду принципиально отличается от того, кто провел на сайте 29 секунд. Что-то тут не так.

И как провести границу между разными источниками трафика, которые приводят разную аудиторию? Например, одна аудитория уже в курсе вопроса, и им, чтобы сделать целевое действие, нужно меньше времени.
Вывод
Таймер снизит показатель отказов. Чем меньше значение таймера (в секундах) мы поставим, тем меньше будет показатель отказов в интерфейсе Google Analytics.
Проблема в том, что у нас появятся скрытые отказы — пользователи, которые провели на сайте больше времени, чем в таймере, но их поведение будет отказным.

Вспомним Андрона с его авиабилетами. Представьте ситуацию, когда пользователь из рекламы кликает по двум сайтам, первый клик идет по объявлению Aviasales, второй — по объявлению Андрона. Оба сайта открываются в браузере, и пользователь идет сначала на сайт Aviasales, там проводит 15 минут, выбирает билет и далее заходит на сайт Андрона только за тем, чтобы его закрыть (билет-то уже выбран).
Мы не влияем на среднюю длительность сеанса, а все ограничения и неудобства остаются.
С точки зрения данного метода посещение не будет отказным, так как с момента открытия сайта прошло больше времени, чем в таймере, но по сути это посещение — отказ.
2. Точный показатель отказов + коррекция длительности сеанса
Этот способ — развитие предыдущего. Делаем событие, которое постоянно срабатывает через определенный промежуток времени, например, каждые 15 секунд. История с показателем отказов та же самая, а вот длительность просмотра изменится.

В теории мы получим точную длительность сеанса пользователя, но есть ряд «но»:
1
Если пользователь открыл вкладку, посмотрел сайт, а потом перешел на другие вкладки браузера, не закрыв текущую, то Google Analytics вместо того, чтобы разорвать сессию через 30 мин и засчитать длительность сеанса по последнему хиту (взаимодействию), будет считать сессию активной, пока не достигнет лимита в 500 хитов на сеанс или пока пользователь не вернется или не закроет вкладку.
2
Активация события происходит во время открытия страницы, если пользователь открыл страницу, и не взаимодействовал с ней (перешел на другую вкладку) и через 5 минут закрыл, мы получим не отказ, а сеанс длительностью 5 минут с просмотром первой страницы.
Вывод
В показателе отказов мы получаем значение, которое сильно меньше, чем в стандартной комплектации, по сути выделяем нецелевую аудиторию. Но всю нецелевую аудиторию в отказы мы поместить не сможем, так как не получится адекватно рассчитать время срабатывания события.

Средняя длительность сеанса — с большой долей вероятности получим длительность сеанса больше, чем она есть на самом деле. Может возникнуть ситуация, когда из-за того, что мы попали в ограничение в 500 хитов на сессию, мы не сможем передать в Analytics данные по конверсии или другим целевым действиям.
Оранжевым прямоугольником отмечен период, в котором использован данный метод для уточнения среднего времени сеанса. До прямоугольника — стандартная комплектация, после — наш скрипт Simple Metrics (о нем далее). На скриншоте видно, что текущий метод показывал нам завышенную картину по средней длительности сеанса.
3. Уточнение показателя отказов с помощью скроллинга
Уточнять показатели отказов можно, измеряя глубину просмотра — как далеко проскроллил страницу пользователь. В этом случае учитывается место, до которого посетитель долистал страницу. Например, если он просмотрел лендинг только на одну треть, то это считается отказом.

У привязки к скроллингу для лендинга есть одна большая проблема — это контент страницы. Пользователь может сразу прокрутить страницу вниз, не читая, и закрыть ее. С точки зрения метода скролла сеанс будет неотказным, но если пользователь за 5 секунд пролистал лендинг до конца и ушел — разве он является для вас целевым пользователем?
Скроллинг лучше использовать для оценки просмотра определенных блоков лендинга, а не уточнять им показатель отказов.
Методы, основанные на скроллинге интереснее, чем событие, срабатывающее через интервал времени, но все же скроллинг очень сложно привязать к результату (микро- и макроконверсиям).
Simple Metrics Script
В основе этого метода лежит принцип разделения сеанса пользователя на равные временные отрезки и работа с ними. Рассмотрим на примере.
Взаимодействием с сайтом в Simple Metrics Script считается:

  • скроллинг;
  • движения мышкой;
  • клики мышкой;
  • выделение текста;
  • ввод данных с клавиатуры.

Это действия, которые с большой долей вероятности, говорят о вовлечении и активности пользователя.
Как это работает
Родион хочет купить абонемент на йогу для своей девушки. В поисковой строке Яндекс он набрал запрос «йога центры в москве»и стал смотреть результаты. В рекламном блоке его привлекло объявление центра йоги «Ом» — недалеко от дома его девушки и привлекательное по цене. Родион кликнул по объявлению и перешел на лендинг центра «Ом».

Посадочная страница йога-центра сделана на Тильде, к ней подключен Simple Metrics Script. Пока Родион изучает лендинг, читает, скролит, кликает по отзывам, скрипт каждые 10 секунд отправляет специальное событие в Google Analytics и Яндекс Метрику, чтобы эти системы корректно рассчитали показатель отказов и длительность сеанса. Как только Родион прекратит взаимодействовать с сайтом, скрипт перестанет отправлять события в системы аналитики.
Показатель отказов

Отказами будут считаться сеансы, в которых:

  • открыли только одну страницу за сеанс без взаимодействия с ней. Например, пользователь открыл ваш лендинг и практически сразу закрыл, при этом не взаимодействовал с ним;

  • пользователи взаимодействовали с сайтом только в одном или двух временных отрезках (этот показатель также можно поменять в bounce rate, поставив любое целое число, которое адекватно для вашего проекта).
Вы сможете отследить источник, который приносит вам трафик с высоким показателем отказов, и проанализировать, насколько вам выгодно его использовать.
В этом случае показатель отказов будет гораздо точнее отражать долю аудитории, которую не заинтересовал ваш сайт.
Средняя длительность сеанса
С Simple Metrics Script средняя длительность сеанса рассчитывается с точностью до 10 секунд. С такой небольшой погрешностью данный показатель можно использовать в качестве цели в GA, если эта цель помогает вам сделать полезные выводы.
Взаимодействия с сайтом
Simple Metrics Script фиксирует количество временных отрезков, во время которых были взаимодействия с сайтом. Для простоты мы будем считать, что, к примеру, если пользователь взаимодействовал с сайтом в четырех временных отрезках, то он взаимодействовал с сайтом четыре раза.
Пример

У нас есть 2 пользователя, которые не совершили конверсию:

  • Первый — это Родион, он изучал лендинг йога-центра, взаимодействовал с сайтом 12 раз (был активен на сайте в течение 2 минут). Он изучил информацию и думает, покупать или нет.

  • Второй пользователь — Яков, он зашел скопировать контакты в свою базу центров йоги, чтобы потом отправить им спам. Он взаимодействовал с сайтом 3 раза (был активен на сайте в течение 30 секунд).
Родион изучал наше предложение на сайте, поэтому он и похожие на него пользователи:
1
интересны для запуска инструментов ретаргетинга / ремаркетинга с отдельным призывом / акцией;
2
могут совершать отложенные покупки, а, значит, имеет смысл проверить данный факт через отчет по многоканальным последовательностям. Например, Родион мог запомнить название центра йоги и в следующий раз прийти не с рекламы, а после ввода названия бренда в поиске;
3
приходят из рекламных источников. Из аудитории, которая не конвертируется сразу (такой пласт всегда будет), необходимо максимизировать долю тех, кто тщательно изучает лендинг по сравнению с теми, кто уходит с сайта быстро.
Яков по диагонали прошелся по нашему лендингу, поэтому он и похожие на него пользователи:
1
с большой вероятностью не совершат отложенную покупку;
2
не очень интересны для запуска ретаргетинга / ремаркетинга;
3
приходят из рекламных источников – долю этих источников нужно снижать.
Пример сегмента с выделением пользователей, которые взаимодействовали с сайтом 3−10 раз за сеанс:
Пример готового сегмента.

Можно пойти дальше и распределить все посещения сайта по группам с определенным количеством взаимодействий:
На скриншоте видно, что лучше всего конвертируются пользователи, которые активно взаимодействуют с сайтом и проводят на нем много времени.
Эти группы условны, вы можете изменить размер групп под свой проект, чтобы выделить сегменты аудитории, которые лучше всех конвертируется, и другие сегменты — в которых аудитория хуже конвертируется, а после подробно изучить.
Примеры готовых сегментов:
Скрипт Simple Metrics отправляет определенное событие (1 раз за сеанс), когда достигает установленного количества взаимодействий. По умолчанию это значение равно 10 (target: 10). Вы можете поменять на любое целое значение, логичное для вашего проекта.
В прошлый раз Родион посмотрел лендинг и ушел думать. На следующий день он читал спортивные новости и в одной из новостей обнаружил рекламу с центром йоги, которая напомнила ему о подарке девушке. Родион подумал: вот это магия! Перешел на сайт центра, еще раз посмотрел условия и позвонил в центр, чтобы уточнить, когда можно прийти за абонементом.

Это была не магия. Благодаря скрипту, Родион попал в группу людей, которые активно изучали лендинг. Маркетологи йога-центра настроили специальную рекламную кампанию на таких пользователей (ретаргетинг / ремаркетинг) с интересным призывом. Поэтому Родион и другие пользователи, попавшие в эту группу, с интересом переходили повторно на лендинг, а многие из них потом покупали абонемент.
Чтобы установить этот механизм, вам нужно будет поставить цели в Google Analytics:
Поставить цели в Яндекс Метрике:
Количество взаимодействий можно изменить. Из этого события можно сделать цель, и использовать данные по ней в качестве микроконверсии — чтобы оптимизировать рекламные кампании и настройки ретаргетинга / ремаркетинга.

Далее на основании этих целей вы можете:
1
создавать списки ретаргетинга / ремаркетинга;
2
оптимизировать рекламную кампанию в РСЯ Яндекс Директ и КМС Google AdWords;
3
выделять заинтересованную аудиторию и оптимизировать рекламные каналы на основании этих данных.
Настройка Simple Metrics Script
Проектирование
Прежде, чем поставить код скрипта, вы можете спроектировать его конфигурацию для своих нужд.

Давайте представим, что значение таймера — 15 секунд, все посещения пользователя нарезаются на отрезки по 15 секунд (timer: 15), и, если пользователь взаимодействовал, то отправляется событие.

У Google Analytics есть ограничение 500 хитов на сеанс, если его превысить, то данные в Analytics перестанут передаваться. Наша задача — сделать так, чтобы скрипт не привел к такой ситуации.

Что нужно сделать:
1
Заходим в отчет: Источники трафика > Весь Трафик > Источник/канал.
2
Применяем к этому отчету сегмент «Сеансы без отказов» (стандартный сегмент, он уже создан).
3
Изучаем отчет:
Средняя длительность сеанса — 6 минут 17 секунд. После внедрения скрипта она вырастет как минимум на 20%, давайте заложим увеличение на 50%, после внедрения длительность будет 9 минут или 9*60=540 сек.

Если отправлять событие каждые 15 секунд, то получится, что мы отправим 540/15=36 хитов. В среднем за сеанс просматривают 2,28 страниц. Просмотр страницы — это 1 хит, если округлить, то, в среднем, у нас тратится 3 хита за сеанс.

Средний пользователь на изучение сайта потратит 36+3=39 хитов. У нас остается более 400 хитов на электронную торговлю, достижение целей, пользователей, которые будут изучать сайт глубже. Для небольших и средних сайтов — нормальный зазор.

Если у вас сложный сайт с большим количеством событий, целей, тогда вам нужно будет увеличивать интервал на большее значение. Например, можете взять 30 секунд (в коде время указано в миллисекундах: var t = 15 000. Если захотите вставить интервал в 30 секунд, впишите 30 000).

После того, как вы запустите скрипт, иногда проверяйте, какое количество пользователей переходит за отметку 450 событий за сеанс (в зависимости от ресурса вы можете изменить планку). Это событие делается так же, как события, используемые для анализа количества взаимодействий.

Как построить такой сегмент:
Если вы увидите, что за отметку начинает переходить больше 1% пользователей — это повод повысить интервал.

Для простоты анализа можно сделать оповещение Google Analytics, для этого сделайте сегмент больше 450 событий за сеанс и укажите его в качестве условия в GA:
Значение по сеансам посчитано как 1% от среднего количества посещений за день.
Установка скрипта Simple Metrics на сайт на Тильде
Сам скрипт бесплатный и устанавливается за 5−10 минут. Разработчиков привлекать не нужно, все очень просто.
Чтобы установить Simple Metrics Script на ваш сайт на Тильде, добавьте новый блок «Другое» > «Вставка html кода» и там вставьте код.
Код скрипта
Вместо XXXXXX в yaCounter нужно поставить номер вашего счетчика в Яндекс Метрике.
  <script type="text/javascript">
$(document).ready(function(){
    window.increaseUserActivity = (function() {
            var options = {
                timer: 10,
                bounce_rate: 2,
                target: 10,
                yandex: 'yaCounterXXXXXX',
                google: 'ga'
            };
            
            var timeCheck = false;
            var sended = false;
            var times = 0;
            var bounceCount = 0;
            var targetCount = 0;
            
            
            var start = function () {
                if (typeof jQuery !== 'function') return false;
                jQuery(document).on('scroll click dblclick mousemove keydown keyup error', function () {
                    timeCheck = true;
                });
                
                _start();
            };
            
            function _start() {
                setInterval(function () {
                    if (timeCheck) {
                        console.log('было действие ' + times.toString());
                        
                        if (typeof options.google != 'undefined')
                            window[options.google]('send', 'event', 'AvtoFocus', 'AvtoLoad', 'Отслеживание активности пользователя', {nonInteraction: _bounceCheck()});
                        
                        timeCheck = false;
                        
                        _targetCheck();
                    } else {
                        console.log('ничего не было ' + times.toString());
                    }
                    ++times;
                }, parseInt(options.timer * 1000));
            }
            
            function _targetCheck() {
                ++targetCount;
                if (!sended && (targetCount >= options.target)) {
                    console.log(targetCount);
                    if (typeof options.google != 'undefined')
                        window[options.google]('send', 'event', 'AvtoFocus', 'TargetLoad', 'Пользователь произвел {X} взаимодействий с сайтом'.replace(/\{X\}/i, targetCount));
                    
                    if (typeof options.yandex != 'undefined')
                        window[options.yandex].reachGoal('TargetLoad');
                    
                    sended = true;
                    console.log('Пользователь произвел {X} взаимодействий с сайтом'.replace(/\{X\}/i, targetCount));
                }
            }
            
            function _bounceCheck() {
                if (bounceCount <= options.bounce_rate) {
                    console.log('Взаимодействие #' + (++bounceCount));
                }
                return bounceCount <= options.bounce_rate;
            }
            
            return {
                start: start
            }
        }());
    $('body').append('<script '+'type="text/javascript">'+"\n"+'window.increaseUserActivity.start();'+"\n"+'</'+'script>');
});
</script>
Подведем итоги
В статье озвучена основная часть возможностей, которые можно использовать в работе с Simple Metrics Script. Получая данные в результате работы скрипта, можно строить более сложные сегменты и создавать свои расчетные показатели.
Скрипт Simple Metrics требует минимальных финансовых и временных вложений, а взамен вы получите более точные и простые метрики.

Текст: Антон Астахов
Иллюстрации, дизайн и верстка: Юлия Засс
Если материал вам понравился, расскажите о нем друзьям. Спасибо!
Читайте также: