
Однажды при общении с коллегами из AdRiver выяснилось, что далеко не все клики по рекламным объявлениям становятся переходами на целевой сайт. Для меня было бы нормальным услышать, что теряется 5-10% посетителей (вполне естественные цифры в рамках общей погрешности измерений). Но, как оказалось, потери могут составить до 50%. И мы решили разобраться подробнее, где же происходят утечки, почему обычные, здоровые, адекватные клики не становятся переходами.
Препятствие 1: на этом берегу

На потери кликов это препятствие никак не влияет: между фиксацией клика и переходом на целевой сайт нет никаких лишних действий со стороны пользователя. Но при определенных условиях данный шаг (особенно, если происходит не один редирект, а несколько) может занимать существенное (от 1 секунды и выше) время, что приводит к увеличению потерь на следующих шагах. Ведь пользователь при редиректах видит белый экран в браузере и не знает, покажется ли ему целевой сайт после N секунд ожидания или нет.
Что можно сделать: если есть возможность учитывать действия пользователя через JavaScript (отправка невидимых пикселов на сервер статистики для тех пользователей, которые это могут делать) — то так и нужно поступать. Дополнительно нужно сводить DNS-запрос для сервера статистики к 0 (обычно именно он занимает большую часть времени ожидания при редиректах), сделать это можно, вызывая прозрачный пиксел с этого домена при загрузке рекламного объявления (либо производить загрузку объявлений с того же домена, что и производит учет переходов): браузер сделает обычный запрос к сайту, закэширует DNS ответ и в течение ближайшего времени сможет его использовать. И, естественно, нужен круглосуточный мониторинг доступности и работоспособности как сервера учета статистики, так и серверов показа объявлений, в том числе для того чтобы время ответа не превышало минимальных (10-20 мс) значений.
Потери: до 1,5% кликов, почти всегда это нецелевые заходы. И эти потери, если и происходят, рекламной сетью никак не фиксируются (поскольку происходят еще до записи самого факта клика).
Препятствие 2: локальная недоступность

Сюда же стоит отнести не только проблемы сетевой доступности веб-ресурсов, но и проблемы большого времени ответа от сервера, которые эти проблемы могут усугублять (и для пользователей, по большому счету, нет никакой разницы, почему их браузер не смог открыть сайт: потерялись пакеты по дороге или браузер не дождался ответа от сервера). Нормальным считается время ответа сервера до 200 мс (с учетом всех сетевых задержек, поэтому если у вас пользователи находятся по всей России, то сервер должен стоять строго в Москве и отдавать страницы не более чем за 100 мс): в этом случае пользователи проблем с сервером замечать не будут. Даже для крупных ресурсов до 1% пользователей не успевают дождаться ответа от сервера (типичная ситуация, когда в пути у мобильных пользователя меняется базовая станция, и нужно отправлять запрос повторно, если ответ от сервера не пришел достаточно быстро).
И конечно, сам сайт может тоже быть физически недоступен из-за большой посещаемости или проблем на сервере (проблемы с отказоустойчивостью сайта проверяем через loadimpact.com). Но обычно доля таких проблем (для качественных и надежных сайтов) невелика, до 0,1%.
Что можно сделать: нужно диагностировать проблемы с подключением у целевых пользователей к сайту. Сделать это можно при помощи мониторинга доступности из нескольких точек (даже лучше использовать несколько сервисов мониторинга, чтобы максимально расширить диапазон). Далее нужно либо переносить сайт на другую хостинговую площадку (у которой будет существенно меньше проблем с доступностью), либо сразу списывать зафиксированное количество потерь из рекламного бюджета: эти пользователи до сайта не дойдут.
Потери: 1-10% кликов.
Препятствие 3: в пути

Самое интересное, что, практически, все счетчики не фиксируют отказы пользователей на этой стадии загрузки сайта: они сами еще не загрузились, чтобы что-то считать.
Что можно сделать: применить максимум методов клиентской оптимизации (FEO) для ускорения сайта, чтобы свести время белого экрана (до события DOMready) к 1-1,5с на подключении 5 Мбит/с — можно использовать www.webpagetest.org для проверки результата.
Потери: 2-10% кликов. В большинстве случаев это нецелевые заходы: пользователи успевают закрыть браузер раньше, чем будет зафиксирован их переход на целевой сайт.
Препятствие 4: почти приплыли

В случае медленных сайтов (перегруженных графикой или интерактивными элементами) всегда будет значительное количество отказов, связанных со скоростью. Но при грамотном подходе до 80% таких отказов можно устранить.
Что можно сделать: применить все известные техники клиентской оптимизации — начиная от сжатия текстовой информации и оптимизации изображений и заканчивая отложенной загрузкой второстепенных информационных блоков (виджетов). В случае «тяжелых» сайтов имеет смысл разработать «легкую» версию (для региональных или мобильных пользователей), на которую можно будет переключать пользователей (например, даже динамически — на стадии белого экрана без дополнительных редиректов) и максимально снижать показатель отказов тем самым. Задача — максимально снизить значение времени полной загрузки страницы (onload). Это время как скорость сайта показывает Google Analytics и учитывает Google Webmasters, для замеров можно использовать указанный в предыдущем пункте сервис — www.webpagetest.org.
Потери: 3-20% кликов.
Препятствие 5: был ли суслик?

Счетчики используют разные гео-базы (разное соответствие IP адресов и городов/стран). Это приводит к тому, что пользователи из России учитываются как пользователи из других стран. Или наоборот: российские IP-адреса используются зарубежными пользователями. Особенно плачевно состояние гео-баз по городам России, точность составляет около 80%. Также счетчики используют разные схемы учета пользователей с множеством нюансов: как выставляются cookie (с того же домена через JavaScript или со стороннего — через HTTP-заголовки); как учитываются пользователи с одним IP (корпоративные пользователи) — по браузеру, по cookie; как пользовательские устройства (особенно, мобильные) воспринимают cookie (устанавливают, не устанавливают).
Что можно сделать: использовать единый счетчик (базу) для учета и кликов, и переходов. Это сведет к минимуму возможные расхождения показателей.
Потери: 1-10% кликов.
Заключение
Как мы видим, вроде бы незначительные и малозаметные проблемы в совокупности могут приводить к существенному снижению эффективности рекламных кампаний в Интернете (до 50% потери рекламного бюджета в силу различных причин). Перед запуском рекламном кампании (или подключения нового канала привлечения пользователей) необходимости провести аудит всех шагов загрузки сайта и убедиться в отсутствии значительных проблем.