Скликиванием (или кликфродом, от английского click fraud ) называются намеренные переходы по рекламным объявлениям, чаще всего направленные на бессмысленное расходование бюджета рекламодателя. Это очень распространенное явление, значительно снижающее и причиняющее существенный ущерб многим организациям. К счастью, у всех крупных рекламных систем существуют достаточно мощная защита от скликивания.
Плохо замаскированный кликфрод обычно имеет следующие признаки:
Скликивание наносит значительный вред имиджу рекламных систем, поэтому каждый игрок данного рынка имеет собственные защитные алгоритмы, позволяющие выявить и отфильтровать недействительные клики.
Кликфрод во всех случаях считается мошенничеством, однако может осуществляться в интересах разных игроков:
По способу реализации кликфрод можно разделить на два вида:
Простейшие случаи плохо замаскированного кликфрода можно определить при помощи систем веб-аналитики и серверных лог-файлов, в которых фиксируются все действия посетителей, а также источники трафика.
Определение ручного скликивания:
Определение автоматического скликивания:
Технология защиты от скликивания включает в себя несколько уровней автоматической и ручной фильтрации. Каждый переход по рекламному объявлению подвергается автоматическому анализу с учетом более чем двадцати параметров. Данные параметры запрограммированы разработчиками изначально, но умный алгоритм пересчитывает их влияние, индивидуально подстраиваясь под каждую рекламную кампанию.
Если анализатор определил переход как недействительный, он не заносится в отчет и средства из рекламного бюджета не списываются. При этом ведётся дополнительная статистика неучтенных кликов, позволяющая своевременно замечать подозрительную активность со стороны конкурентов и других недоброжелателей. В эту статистику попадают также случайные и повторяющиеся клики, поэтому небольшое количество недействительных переходов будет присутствовать всегда.
Алгоритмы AdWords фильтруют переходы в несколько этапов, учитывая IP-адрес, специфику площадки, время и другие факторы. Случайные и повторные клики отсеиваются сразу же.
В реальном времени отфильтровываются все заведомо недействительные переходы. Для данного этапа характерны такие особенности как:
На данном этапе происходит более аккуратная и тщательная чистка рекламного трафика от неочевидного скликивания. Характерные особенности этапа:
В особых случаях могут проводиться расследования, поскольку любые манипуляции с недействительными кликами могут быть классифицированы как финансовое мошенничество. Особенности данного этапа:
Все недействительные клики автоматически удаляются из основных отчетов, никак не влияют на рекламный бюджет и CTR. Но в определенных случаях может возникнуть необходимость проанализировать подозрительную активность, поэтому в интерфейсе AdSense предусмотрена возможность посмотреть статистику и по недействительным кликам.
Скликивания – одна из самых серьезных проблем в сфере интернет-рекламы, поэтому бороться с ним следует всеми доступными способами. Это необходимо делать как самостоятельно, внося запрещенные IP в блок-листы (или даже блокируя им доступ на своем сервере), так и посредством жалоб в службы поддержки рекламных сетей.
Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».
Скликивание ( – переходы по объявлению с целью растратить бюджет кампании рекламодателя. Есть много кликов по рекламе, деньги списываются со счета, но нет лидов. Таким нехорошим делом занимаются конкуренты, обиженные клиенты и владельцы сайтов, зарабатывая на переходах со своих площадок. Если не знать, как защититься, то можно быстро и с нулевой эффективностью слить все выделенные на кампанию средства.
В статье расскажем, как определить, что вашу рекламную кампанию пытаются скликать и как от этого защититься.
Есть несколько признаков того, что ваше объявление стало целью злоумышленников:
До 24 февраля 2014 года в Яндекс.Метрике можно было вычислять кликеров по их айпи-адресу. Теперь показ айпи-адресов отключен.
Татьяна Лаушкина
Предотвратить катастрофическое убывание средств со счета рекламной кампании из-за скликивания вам помогут следующие действия.
Многоступенчатая система Директа совмещает автоматизированные и ручные инструменты обнаружения и удаления неестественных кликов.
Так Яндекс иллюстрирует свою борьбу со скликиванием
Каждый клик по рекламе анализируется и оценивается по 250 параметрам с различными коэффициентами: сезонности, времени суток, айпи и другим характеристикам. После оценки клик может признаваться действительным или недействительным. Недействительные клики не учитываются в статистике и деньги из бюджета за них не вычитаются.
Количество неестественных кликов за день и общую статистику можно посмотреть в отчетах. Это не конечные цифры – они могут измениться в большую сторону при признании некоторых кликов неестественными при последующей обработке массива данных.
Автоматические алгоритмы отслеживания неестественных кликов в AdWords считают недействительными следующие события:
AdWords отслеживает и удаляет неестественные клики до того, как они отобразятся в статистике аккаунта. Учитывается user agent пользователя, айпи, время выполнения операции, повторные клики и так далее.
Сюда относятся фильтрующие алгоритмы и системы анализа данных. Они в реальном времени отслеживают неестественные клики, вычисляют их источники и создают фильтр, который отклоняет такие нажатия и не отображает их в статистике. Большая часть мошеннических действий теряет эффективность на этом этапе.
Эти меры предпринимаются после поступления жалобы от рекламодателя сети. Если специалисты AdWords подтвердят то, что клики были накручены, деньги за них вам вернут.
Обнаруженные недействительные показы не влияют на CTR и не снижают качество ключа.
При следующем запуске кампании замените ключи, использованные в предыдущей кампании. Если цель – максимальный возврат инвестиций, то стоит делать упор только на самые релевантные и высококонкурентные ключи. Это позволит сгенерировать максимально целевой трафик и получить естественные клики. Обязательно перепроверяйте статистику, чтобы отсеять реальных посетителей от ботнета: сравнивайте статистику переходов по рекламе в Директе и Метрике. Если статистика разнится в три и более раз – пора останавливать кампанию и покопаться в статистике.
После формирования семантического ядра кампании разработайте ставочную стратегию, рассчитайте и ограничьте дневной бюджет.
Не всегда в снижении эффективности кампании повинны конкуренты и обиженные клиенты. Есть несколько типовых случаев, когда это объясняется другими причинами.
Для интернет-магазинов популярных товаров конверсия в 1-1,5% – обычное дело. Если конверсия еще ниже, или вы продаете специфичный товар или услугу, соберите статистику хотя бы за пару недель, и на ее основе делайте выводы. Если тенденция будет поддерживаться, смоделируйте путь посетителя до вашего сайта, чтобы точно определить, есть ли проблемное место в цепочке от входа на сайт до заказа или виноват кликфрод.
Причиной может быть что угодно. Сезонность спроса, изменившаяся структура и интерфейс сайта, выход на рынок сильного конкурента. Все эти факторы нужно исследовать и сопоставить со статистикой кампании.
Точность статистики зависит от количества переходов: чем их больше, тем лучше.
Возможные причины: возросший сезонный спрос, перегретый аукцион, конкуренция и внезапный всплеск интереса вследствие влияния СМИ и общественных событий. Используйте расширенную статистику рекламной сети, чтобы точно узнать причины роста затрат.
Компания занимается бурением скважин. С приходом весны выросло количество переходов по рекламе – явное влияние сезонности.
Отказ засчитывается, если клиент был на сайте менее 15 секунд.
Это значит лишь то, что ваш сайт не заинтересовал посетителя, и он закрыл вкладку. Неплохой способ проверить реальное время посещения и юзабилити сайта – Вебвизор в Яндекс.Метрике.
Всем-всем привет!
В последнее время скликивание Яндекс Директ набрало большие обороты — все только и твердят, что конкуренты постоянно кликают на объявления, а что еще хуже — используют специальных роботов или ботов (если так угодно), пытаясь скликать весь бюджет. Да еще и Яндекс не плохо наживается на склике. А если говорить про РСЯ, то и владельцы сайтов-партнеров скликивают. Прям теория заговора какая-то!
Но давайте подойдем к этой теме серьезно: действительно ли конкуренты могут скликать весь Ваш бюджет, лишив Вас возможности получить свой кусок пирога? И каким способом можно это понять? Попытаемся разобраться со всем возможными нюансами.
Все мы знаем, что наши конкуренты — это подлецы, которые готовы подгадить в любой момент в любом месте, чтобы лишить нас возможности борьбы за клиентов. В контекстной рекламе, в частности, Яндекс.Директ можно насолить просто кликая по объявлениям, но насколько это оправдывает себя?
Уже не раз представители системы контекстной рекламы от Яндекса, отвечая на вопросы данной темы, утверждали, что активно борются с подобным всеми возможными средствами. Дабы подтвердить это, можно привести несколько доводов:
Однако, система проверки не настолько уж идеальна, чтобы выявлять абсолютно все «левые» посещения и не списывать за них деньги. Тем более, что боты, которые разрабатываются специально для склика, становятся совершеннее и ведут себя как самые настоящие люди.
Отсюда становится понятно, что скликивание Яндекс.Директ возможно. Однако возможно ли оно в том объеме, чтобы действительно навредить? Мой ответ: НЕТ! (лично мое мнение). Я считаю, что таким способом можно поднасрать (прошу прощения) исключительно в минимальных объемах, но чтобы нанести ощутимый урон нужно действовать более радикальными методами.
Для того, чтобы понять скликивают Вас или нет, достаточно воспользоваться статистикой о посещениях в Яндекс.Метрике, а именно обратить внимание на следующие вещи:
Все вышеперечисленные методы выявления скликивания я распишу чуть позже, так как на данный момент — на момент написания статьи, нет возможности все разложить по полочкам — садится батарея на ноутбуке, поэтому пишу с мобильного телефона.
Для борьбы со скликиванием в Яндекс.Директ предусмотрен такой инструмент, как запрещенные IP. Но там есть жесткое ограничение по количеству запрещенных АйПи — 25, то есть если у Вас скликивают большое количество конкурентов, то закрыть всех не получится. Однако, как правило, подобным негодяйским действом занимается от силы 2-3 конкурента.
Но при работе с данным инструментом стоит учитывать один момент — динамические IP-адреса. Это адреса, которые постоянно меняются, делая это довольно часто. А используются подобное многими провайдерами и под-сетям. Следовательно, довериться без сомнений этому инструменту нельзя.
Можно, конечно, заблокировать целую под сеть, но это может привести к потере определённого количества целевых посетителей.
Исходя из всего вышесказанного, я могу сделать такой вывод:
Как только Вы определите IP-адреса своих конкурентов, попробуйте их добавить в запрещенные. Если это даст результат, то хорошо, в противном случае боритесь с конкурентами с помощью ширины семантического ядра, показываясь там, где их нет.
Показывая объявления на сайтах-партнерах РСЯ, Вы подвергаете себя риску получения «левых» кликов от самих владельцев этих сайтов и их друзей. С каждого клика вебмастер получает определённый процент от Яндекса со списываемой цены. Так что они так зарабатывают.
Выявить подобного «негодяя» можно с помощью анализа площадок в Директе, либо в Метрике. А запретить показы можно просто добавив URL-адрес площадки в запрещенные в параметрах кампании. Как правило, такие площадки не очень качественные, ведь трафика там мало, а значит и получим от такого сайта мы неважные результаты.
Анализируйте статистические данные, используйте все возможности аналитики и, самое главное, во время вносите правки в кампании. Тогда Вы даже не заметите никакого скликивания в Яндекс Директе.
Ну а на этом все, дорогие друзья!
Буду заканчивать урок. Прошу прощения, что получилось мало практической информации: все-таки тяжеловато с телефона делать скриншоты, да и нет прямого доступа к нужным данным.
До свидания!
Предыдущая статьяТема наличия склика при размещении контекстной рекламы Яндекс Директ в некоторых случаях очень сильно раздута. Я встречал рекламодателей, которые прекращали подавать объявления из-за скликивания конкурентами. Стоит ли последовать их примеру и какова реальная вероятность наличия некачественных кликов в вашей кампании, узнаете ниже.
Для начала определимся с понятиями. В Яндекс Директе скликивание (кликфрод ) – это массовая целенаправленная накрутка кликов по рекламе с целью быстрого расхода бюджета жертвы. В основном бывает автоматическое – боты/скрипты для склика имитируют действия пользователей на выдаче и сайте. Но бывает также и скликивание ручным способом.
Яндекс довольно удачно борется с намеренным кликфродом/накрутками кликов, оперируя более 20 параметрами и отсеивая клики в автоматическом режиме. Эффективность защиты от скликивания можно проверить, сравнив свои логи сервера при использовании меток и статистику Директа за продолжительный промежуток времени. Недействительные клики не учитываются в статистике. К тому же обнаружить публичные скрипты для накрутки кликов поисковику не составляет труда.
Если один рекламодатель захочет скликать конкурента, с одной стороны, можно подумать Яндекс должен отнестись к этому положительно, поскольку деньги пойдут поисковику в казну. Однако это не так, поскольку его представители не раз заявляли о заинтересованности в долгосрочном сотрудничестве, а не в мимолетной прибыли от кликфрода. К тому же существует возможность заказать ручную проверку на склик, обратившись в поддержку.
Для некоторых тематик (очень узких) действительно такое количество посещений приводит к заказу, однако для большинства тематик конверсия колеблется от 1% до 10%. Рекламодатели недооценивают, что очень многое зависит от сайта, на который попадает потенциальный клиент.
Причины могут крыться в сезонности спроса на предлагаемые товары или услуги, в кардинальных изменениях на сайте и в возросшей конкуренции, которая привела к смещению объявления с высокой позиции. Отслеживать звонки с Яндекс Директа можно с помощью инструмента « «.
Проанализируйте влияние всех факторов за отчетный период и сопоставьте их со статистикой.
Опять же сезонность, только теперь возросшая или перегретый аукцион и «поджималки» со стороны конкурентов. А также возможен всплеск поисковых запросов, провоцируемых влиянием телевидения , общественно-политических и культурных событий. Менее распространенный вариант, когда выстреливают доп. релевантные фразы или тематические площадки. Из последнего можно выделить всплеск из-за введения .
Расширенная статистика Директа поможет определить, что повлияло на рост затрат.
Если в рамках визита состоялся один просмотр (без рефрешей), то у таких посещений будет длительность 00:00 или 00:15 (при включенном точном показателе отказов). Найдя эти посещения в Вебвизоре становиться понятно, что Ваш сайт не заинтересовал посетителей.
Реальное время посещения в данном случае может колебаться от 00:01 до 00:14.
За последние полгода нам удалось победить «скликивание» нашей контекстной рекламы с бюджетом в 1 миллион рублей в месяц.
Ключом победы над фродом стал поминутный мониторинг трафика с уведомлениями об аномальных изменениях и отключением проблемных объявлений по API, и ряд отчётов, которые отражают ситуацию в реальном времени.
Рисунок 1. Диаграмма количества посетителей по ключевым словам по декаминутам
В AdWords отображение уровня «недействительных кликов» можно включить на вкладке «столбцы»:
Рисунок 2. Настроенные столбцы с уровнем «недействительных кликов» в AdWords
В нашем случае, при среднем уровне «недействительных кликов » в Директе ≈ 10%, Яндексе вдруг стал возвращать 40% рекламного бюджета, а через месяц и вовсе 54%.
Следующий признак фрода – это необоснованный рост количества переходов и сильные изменения поведенческих показателей по ряду групп объявлений.
Мы заметили, что по ряду ключевых слов, по которым никогда не было больше 200 посетителей в день, вдруг появились всплески до 3 000 посетителей. По факту, бюджет, в дни подобных активностей, мог уйти на одну рекламную кампанию, если её вовремя не останавливали.
Рисунок 3. Необоснованный рост трафика по определенной группе объявлений в Директ
Google официально признаёт ошибки своей системы защиты и предоставляет рекламодателям «Refund Claims» (возврат израсходованного бюджета). По статистике сервиса ClickSease, Google Ads в среднем возвращает 12% рекламного бюджета.
Как вернуть часть денег за «склик» через AdWords
ClickFrog быстро доказал полную недееспособность:
ClickSease оказался полезнее: он начал вылавливать по 300-400 уникальных мошеннических IP в день. По каждому заблокированному IP сервис отдает статистику:
Рисунок 5. Пример анализа трафика по возрастным группам в Метрике для поиска паттернов фрода
Срезы трафика, которые помогут определить паттерны фрода:
А) вам удалось найти очевидный паттерн фрода, относящийся к полу, возрасту или мобильности:
Рисунок 6. Диаграмма количества посетителей по ключевым словам по декаминутам
Фрод происходит неравномерно по нескольким причинам:
Для визуализации лучше всего подойдёт Google Data Studio , поскольку корректно собирать данные, разбитые по времени на 1 и 10 минут, способен только Analytics, а Метрика, при построении отчетов по декаминутам, отдаёт некорректные показатели.
Как строить диаграммы по 10 минутам, а не по часу, в Google Data Studio
По умолчанию, в Analytics или Data Studio нельзя строить графики поминутно или по 10 минутам, однако это можно сделать следующим образом в Дата Студии:
Шаг 1. Открываем редактирование полей
Шаг 2. Создаем копии следующих полей: Год, Месяц года, День месяца, Час, Минута, и называем их, например, Год (число), Месяц года (число) и так далее. Также в скопированных полях необходимо изменить Тип с формата времени и даты на „число“ как показано на рисунке.
Шаг 2. Изменяем тип скопированного поля с «даты» на «число»
Шаг 3. Создаем новое поле, в котором прописываем следующую формулу: Год (число)*10000000+Месяц года (число)*100000+День месяца (число)*1000+Час (число)*10+FLOOR(Минута (число)/10)
Шаг 3. Создаём вычисляемое поле «Время по 10 минут»
Шаг 4. Сохраняем созданное поле, затем возвращаемся к списку всех полей и находим наше новое поле «Время по 10 минут (декаминут)». Необходимо изменить его тип с «Число» на «Дата и время» как показано на рисунке, а затем обратно присвоить этому полю тип «Число».
Шаг 4. Создаём вычисляемое поле „Время по 10 минут“
Шаг 5. Создаем «Комбинированную диаграмму» и ставим как параметр наше новое поле «Время по 10 минут», как показано на рисунке. Готово.
Шаг 5. Создаём «комбинированную диаграмму»
Google Таблицы поддерживают Core Reporting API , обращаться к которому можно через «Редактор скриптов» в Таблицах.
Шаг 1. Заходим в редактор скриптов для обращения к Analytics
Рисунок 7. Редактор скриптов для обращения к Analytics Core Reporting API через Гугл Таблицы
Шаг 2. Прописываем API запрос к Analytics, чтобы получать данные о нужных показателях (например, о количестве пользователей, перешедших по платной рекламе, в каждую минуту суток, как в нашем случае).
Код Google Script для запроса любых данных из Analytics в Google Таблицы
function runDemo() {
try {
var firstProfile = getFirstProfile();
var results = getReportDataForProfile(firstProfile);
outputToSpreadsheet(results);
} catch(error) {
Browser.msgBox(error.message);
}
}
function getFirstProfile() {
var accounts = Analytics.Management.Accounts.list();
if (accounts.getItems()) {
var firstAccountId = accounts.getItems().getId();
var webProperties = Analytics.Management.Webproperties.list(firstAccountId);
if (webProperties.getItems()) {
var firstWebPropertyId = webProperties.getItems().getId();
var profiles = Analytics.Management.Profiles.list(firstAccountId, firstWebPropertyId);
if (profiles.getItems()) {
var firstProfile = profiles.getItems();
return firstProfile;
} else {
throw new Error("No views (profiles) found.");
}
} else {
throw new Error("No webproperties found.");
}
} else {
throw new Error("No accounts found.");
}
}
function getReportDataForProfile(firstProfile) {
var profileId = firstProfile.getId();
var tableId = "ga:" + profileId;
var startDate = "today"; //например getLastNdays(14) равняется 2 weeks (a fortnight) ago.
var endDate = "today"; //getLastNdays(0) равняется Today.
var optArgs = {
"dimensions": "ga:date,ga:hour,ga:minute,ga:sourceMedium", // Comma separated list of dimensions.
"sort": "ga:date,ga:hour,ga:minute", // Sort by sessions descending, then keyword.
//"segment": "dynamic::ga:isMobile==Yes", // Process only mobile traffic.
"filters": "ga:sourceMedium==yandex / cpc",
"start-index": "1",
"max-results": "10000" // Display the first 250 results.
};
// Make a request to the API.
var results = Analytics.Data.Ga.get(tableId, // Table id (format ga:xxxxxx).
startDate, // Start-date (format yyyy-MM-dd).
endDate, // End-date (format yyyy-MM-dd).
"ga:users", // Comma seperated list of metrics.
optArgs);
if (results.getRows()) {
return results;
} else {
throw new Error("No views (profiles) found");
}
}
function getLastNdays(nDaysAgo) {
var today = new Date();
var before = new Date();
before.setDate(today.getDate() - nDaysAgo);
return Utilities.formatDate(before, "GMT", "yyyy-MM-dd");
}
function outputToSpreadsheet(results) {
var sheets = SpreadsheetApp.getActiveSpreadsheet();
var sheet = sheets.getSheetByName("coeff1");
var range = sheet.getRange("A:E");
range.clear();
// Print the headers.
var headerNames = ;
for (var i = 0, header; header = results.getColumnHeaders()[i]; ++i) {
headerNames.push(header.getName());
}
sheet.getRange(1, 1, 1, headerNames.length)
.setValues();
// Print the rows of data.
sheet.getRange(2, 1, results.getRows().length, headerNames.length)
.setValues(results.getRows());
}
Шаг 3. Задаем триггер на обновление данных каждую минуту:
Рисунок 8. Запрашиваем свежие данные каждую минуту для оперативного реагирования на фрод
Шаг 4. Создаем сводную таблицу из листа, обновляемого нужными данными раз в минуту, и анализируем эти показатели для настройки триггеров для уведомлений на электронную почту или же отключения групп объявлений по API Я.Директа или AdWords.
Рисунок 9. Пример настройки формул для уведомлений об аномалиях
Пример моего кода Google Script для отправки уведомлений на электронную почту
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("notification");
var range = sheet.getRange("D2:E4");
// The row and column here are relative to the range
// getCell(1,1) in this code returns the cell at B2, B2
var cell = range.getCell(1, 2);
Logger.log(cell.getValue());
if (cell.getValue() !== "no") {
MailApp.sendEmail("[email protected]", "Fraud notification "+cell.getValue(), "Check me "+range.getCell(1, 1).getValue());
}
else {
}
var cell2 = range.getCell(2, 2);
Logger.log(cell2.getValue());
if (cell2.getValue() !== "no") {
MailApp.sendEmail("[email protected]", "Fraud notification "+cell2.getValue(), "Check me "+range.getCell(2, 1).getValue());
}
else {
}
var cell3 = range.getCell(3, 2);
Logger.log(cell3.getValue());
if (cell3.getValue() !== "no") {
MailApp.sendEmail("[email protected]", "Fraud notification "+cell3.getValue(), "Check me "+range.getCell(3, 1).getValue());
}
else {
}
}
А) Упреждающие действия:
Добавить метки