За последние полгода нам удалось победить «скликивание» нашей контекстной рекламы с бюджетом в 1 миллион рублей в месяц.

Ключом победы над фродом стал поминутный мониторинг трафика с уведомлениями об аномальных изменениях и отключением проблемных объявлений по API, и ряд отчётов, которые отражают ситуацию в реальном времени.


Рисунок 1. Диаграмма количества посетителей по ключевым словам по декаминутам

Как узнать, что вас атакуют?


Одним из первых признаков «скликивания» рекламы будет увеличение процента возвращаемых средств за фрод в Директе и AdWords.
«В Яндекс Директ расходы на фрод автоматически возвращаются на баланс рекламной кампании. Количество кликов, отсеянных системой защиты от фрода, отображается в отчетах «статистика по дням» «общая статистика» в строке «недействительные клики за весь выбранный период.»
справка Я. Директа «недействительных кликах».

В AdWords отображение уровня «недействительных кликов» можно включить на вкладке «столбцы»:


Рисунок 2. Настроенные столбцы с уровнем «недействительных кликов» в AdWords

В нашем случае, при среднем уровне «недействительных кликов» в Директе ? 10%, Яндексе вдруг стал возвращать 40% рекламного бюджета, а через месяц и вовсе 54%.

Следующий признак фрода – это необоснованный рост количества переходов и сильные изменения поведенческих показателей по ряду групп объявлений.

Мы заметили, что по ряду ключевых слов, по которым никогда не было больше 200 посетителей в день, вдруг появились всплески до 3 000 посетителей. По факту, бюджет, в дни подобных активностей, мог уйти на одну рекламную кампанию, если её вовремя не останавливали.


Рисунок 3. Необоснованный рост трафика по определенной группе объявлений в Директ

Яндекс и Google не защищают от фрода


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

Google официально признаёт ошибки своей системы защиты и предоставляет рекламодателям «Refund Claims» (возврат израсходованного бюджета). По статистике сервиса ClickSease, Google Ads в среднем возвращает 12% рекламного бюджета.

Как вернуть часть денег за «склик» через AdWords
Необходимо отправить жалобу на «недействительные клики» в Адвордс, после рассмотрения которой вам возместят ? 12% потраченных средств. Также сервис ClickSease автоматический отправляет в Google подобные требования на возврат денег раз в 2 месяца.

В нашем случае, Google AdWords сначала признал 18% нашего трафика «недействительными» и вернул за них деньги, а когда мы отправили жалобу «refund claims», Google возместил ещё 13% бюджета.

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

В нашем случае, процент «недействительных кликов» в отчёте Я. Директа никогда не поднимался выше заветных 50% ни по одной из рекламных кампаний, даже в дни самых яростных всплесков, когда 80% бюджета «сливалось» на обычно мало популярную группу объявлений без звонков и заявок.


Рисунок 4. Уровень «недействительных кликов» в одной из кампаний в Директ

С каким уровнем атаки мы столкнулись


Мошеннический трафик направлялся по четырем направлениям бизнеса в двух городах. При подключении новых рекламных кампаний или запуске давно остановленных, в течение нескольких часов «скликивание» перераспределялось и на них.

Click Fraud не привязывался ко времени, и перераспределение бюджета, например на ночь, не давало никакого эффекта: свой объем левого трафика мы всё равно получали. «Скликивание» происходило одинаково активно и в РСЯ, и на поиске Яндекса, и в КМС Google.

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

Есть ли готовые средства защиты?


У всех сервисов защиты от кликфрода есть всего один инструмент прямой борьбы – это блокировка подозрительных IP адресов или площадок размещений в кампаниях Я.Директ и AdWords.

В случае, если против вас используются динамические IP, любой сервис борьбы с клик фродом всегда будет отставать на один шаг от мошенников в блокировке их по IP: бот уже совершит несколько кликов по вашей рекламе к тому моменту, когда сервис внесет этот IP в черный список и остановит по нему показ рекламы. К тому же, после того, как мошеннический софт не сможет увидеть вашу рекламу, он просто поменяет IP адрес, Hardware-ID и продолжит свои действия.

При атаке на рекламу в КМС или РСЯ, обычно используются различные места размещения, и системы автоматической защиты не могут обнаружить подозрительных площадок для блокировки.

Вернемся к блокировке по IP – здесь мы подходим к самому интересному – если в AdWords допускается блокировать до 500 IP адресов, то в Яндекс Директ можно блокировать всего лишь 25 уникальных IP адресов на одну рекламную кампанию! Столь маленький черный список IP адресов уже не актуален, так как сейчас можно спокойно закупить 500 IPv4 адресов за 10 тысяч рублей и обойти это ограничение.

Защититься от «скликивания», выполняемого на высоком уровне, можно всего двумя способами:

  1. научиться не показывать рекламу заведомо мошенническим пользователям или ботам, для чего надо найти определенные «паттерны» в их поведении и характеристиках;
  2. временно останавливать конкретные группы объявлений и ключевые слова, по которым идёт атака.

Отрезать часть аудитории, чтобы сохранить её большую часть


Если научиться не показывать рекламу клик ботам или мошенническим пользователям – то и навредить они не смогут.

Всегда можно отследить схожие модели поведения и паттерны, например, что фрод обычно идет по Windows 7 с 5:00 до 9:00 в Москве, и выставить корректировку ставок -100% для подобной аудитории во всех атакуемых рекламных кампаниях. Функционал корректировок ставок в AdWords достаточно обширен, чего не скажешь о корректировках в Yandex Direct.

Ищем паттерны во фроде через сервисы защиты


Для того, чтобы иметь представление о том, как именно нас атакуют, и вручную отследить закономерности в мошенническом трафике, мы подключили российский сервис защиты от фрода ClickFrog. Продукт это давно всем известный, популярный в среде CPA и так далее.

ClickFrog быстро доказал полную недееспособность:

  1. в день выделял не более 40 подозрительных IP адресов, при трафике с Директа в 3 000 тысячи переходов в день, и, признаваемых даже, Яндексом 1300 „левых“ кликов в день;
  2. основной инструмент защиты сервиса – это блокировка по IP адресу, команда о которой по API отправляется в Я.Директ, однако как только черный список в 25 IP адресов заполняется, необходимо вручную удалять последние несколько IP в каждой рекламной кампании и ждать очередного заполнения списка, и так по кругу.

Затем мы установили код американского сервиса ClickSease, нацеленного на AdWords, и пока ещё не работающего с Директом. У сервиса, кстати, есть, в отличие от ClickFrog, бесплатный тестовый период на 2 недели.

ClickSease оказался полезнее: он начал вылавливать по 300-400 уникальных мошеннических IP в день. По каждому заблокированному IP сервис отдает статистику:

  • интернет-провайдер;
  • площадка с которой совершился переход;
  • операционная система;
  • уникальный ID устройства;
  • время первого и последнего перехода;
  • регион.

Из отчета ClickSease нам удалось выявить закономерности во фроде:
  • в 81% случаев устройство симулирует мобильную ОС: Android или iOS;
  • в 59% случаев геолокация IP адреса относится не к Москве, при фроде направленном на Москву.

Ищем паттерны во фроде вручную


Однако даже таких очевидных паттернов оказалось мало для снижения вреда от фрода, да и отключать рекламу на мобильных не хотелось. Сервисы обычно способны только дать идеи по выявлению схожих паттернов во фроде, а дальше необходимо обнаружить фрод в Метрике (в случае атаки на Директ) и выделить его в отдельных сегмент Яндекс Аудиторий для последующего анализа и блокировки.


Рисунок 5. Пример анализа трафика по возрастным группам в Метрике для поиска паттернов фрода

Срезы трафика, которые помогут определить паттерны фрода:
  • динамика аудитории по возрастным группам;
  • динамика долгосрочных интересов пользователей;
  • динамика устройств и ОС.

В случае AdWords механика противодействия ясна:

  1. определяем сегмент аудитории «зараженный» фродом;
  2. выставляем корректировку ставок -100% для выбранного сегмента;
  3. отслеживаем изменение показателей: конверсия, время на сайте, глубина просмотра, показатель отказов.

В Яндекс Директ механика борьбы сложнее и разделяется на два варианта:

а) вам удалось найти очевидный паттерн фрода, относящийся к полу, возрасту или мобильности:

  1. выставляем корректировку ставки -50% или -100% для выбранного сегмента;
  2. отслеживаем изменение ключевых показателей.

б) очевидных паттернов не обнаружено:

  1. выделяем фродовый трафик в отдельный сегмент Яндекс.Аудиторий (например, вы точно знали, что с 1 по 20 октября не могло быть 5 000 переходов по группе объявлений, по которой всегда было не больше 30 посещений в день)
  2. через look-alike Яндекса cоздаем сегмент похожих на наш фрод пользователей;
  3. выставляем корректировку ставок -100% для созданного вручную сегмента аудитории;
  4. аккуратно тестируем понижение ставок в рекламе для созданных Яндексом сегментов.

Строим диаграммы, которые показывают фрод


Фрод всегда порождает очевидные очаги и пики, будь то заумный софт с имитацией поведения настоящего пользователя или группа фрилансеров, выполняющих техническое задание.


Рисунок 6. Диаграмма количества посетителей по ключевым словам по декаминутам

Фрод происходит неравномерно по нескольким причинам:
  • чтобы сделать атаку «сглажено» нужно владеть конфиденциальной информацией и знать кто, когда и сколько переходов совершает по вашей рекламе;
  • софт действует рывками, и на минутном, 10 минутном, а иногда и на часовом графике, его действия будут бросаться в глаза;
  • даже если против вас работают «школьники» с досок объявлений, то и они действуют по определенному заданию с алгоритмом, и аномалии, порожденные ими легко будет отследить.

Если научиться оперативно находить и устранять очаги, то можно заметно снизить вред от фрода. В нашем случае, очевидным признаком стало аномальное увеличение количества переходов по контекстной рекламе в конкретных 10 минутах или одной минуте по некоторым ключевым словам.

Для визуализации лучше всего подойдёт 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 Таблицах, который обновляет данные каждую минуту и уведомляет о начале фрода.

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()[0].getId();

    var webProperties = Analytics.Management.Webproperties.list(firstAccountId);
    if (webProperties.getItems()) {

      var firstWebPropertyId = webProperties.getItems()[0].getId();
      var profiles = Analytics.Management.Profiles.list(firstAccountId, firstWebPropertyId);

      if (profiles.getItems()) {
        var firstProfile = profiles.getItems()[0];
        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([headerNames]);

  // Print the rows of data.
  sheet.getRange(2, 1, results.getRows().length, headerNames.length)
      .setValues(results.getRows());
}



Шаг 3. Задаем триггер на обновление данных каждую минуту:


Рисунок 8. Запрашиваем свежие данные каждую минуту для оперативного реагирования на фрод

Шаг 4. Создаем сводную таблицу из листа, обновляемого нужными данными раз в минуту, и анализируем эти показатели для настройки триггеров для уведомлений на электронную почту или же отключения групп объявлений по API Я.Директа или AdWords.

imageРисунок 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("your_email@yandex.ru", "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("your_email@yandex.ru", "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("your_email@yandex.ru", "Fraud notification "+cell3.getValue(), "Check me "+range.getCell(3, 1).getValue());
    }
    else {
    }
}


Итоги: как победить скликивание


Противодействие клик фроду можно подразделить на три группы:

а) Упреждающие действия:
  • отключение «загрязненных площадок»;
  • отключение показа рекламы для аудитории с фродовыми для вас признаками, например, для людей на планшетах из Санкт-Петербурга (более сложные параметры для блокировки можно использовать через списки AdWords и сегменты Метрики);
  • корректировка ставок для сегментов аудитории, похожих на сегменты фрода («look-alike» сегменты создаются в Я. Аудиториях и списках Google);
  • блокировка фрода по маскам IP сетей (доступно только в AdWords).

б) Профилактические действия:
  • отправка жалоб о возврате бюджета в AdWords и Директ;
  • расследование «кто заказал атаку на вас»;
  • группировка подозрительных и часто атакуемых групп объявлений в единую рекламную кампанию;
  • «ловушки» для простейших ботов, а именно скрытые кнопки на сайте, которые видны только боту и при нажатии на которые он попадает в список.

в) Действия «post factum»:
  • блокировка по IP адресам;
  • оперативное отключение очагов скликивания: ключевых слов, групп объявлений, рекламных кампаний, сегментов аудитории.

image
Рисунок 10. Способы защиты от click fraud

Полезные ссылки:


Как узнать кто заказал атаку на вашу рекламу
Любой адекватный конкурент будет минимизировать свой ущерб при атаке на других:

  1. во-первых, атакующий постарается не показывать свою рекламу по направлениям, по которым идёт атака в данную минуту, чтобы не слить свой CTR и повысить себе цену за клик;
  2. во-вторых, недобросовестный конкурент подберет такие ключевые слова для атаки, по которым он может перестать показывать свою рекламу без особого вреда для себя.

В нашем случае, конкурент ещё и начал клик фрод по 4 направлениям в двух городах, поэтому вычислить его не составило труда.

Чтобы было проще анализировать конкурентов, с которыми вы пересекаетесь, можно смотреть все включенные объявления конкурентов по каждому ключевому слову в интерефейсе Директа:


Рисунок 9. Все объявления конкурентов по ключевому слову


Кто также столкнулся со скликиванием контекстной рекламы – пишите в комментариях, постараемся помочь друг другу!

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


  1. Tarson
    14.09.2018 19:47
    +4

    Если научиться не показывать рекламу клик ботам или мошенническим пользователям – то и навредить они не смогут.


    И мне и мне тоже ее не показывайте!


    1. Graf54r
      14.09.2018 22:29

      докажи что ты бот!


      1. Barsuk
        15.09.2018 00:10

        нужно всего лишь не распознать предложенную качу )


        1. Barsuk
          15.09.2018 00:16

          капчу*


  1. KevinMitnick
    14.09.2018 20:07

    Пользователь имеет IP, ID и историю (в google, yandex итд.)
    можно было бы включить тупую логику, что все что не имеет истории, то фрод
    но ни гуглу ни яндексу это не выгодно, на лицо конфликт интересов, по этому незачем кормить этих ублюдков, нужно искать альтернативные способы


    1. dumistoklus
      14.09.2018 22:29

      1) «но ни гуглу ни яндексу это не выгодно» это не совсем так. Яндекс и Гугл живут за счет рекламы в прямом смысле слова
      2) «Пользователь имеет IP, ID и историю» с этим все очень сложно, потому что все запросы для сетей (не собственный поиск) кроссдоменные, браузеры все хуже работают с куками для таких запросов.
      3) «все что не имеет истории, то фрод» сейчас это примерно так и работает. Для совсем новых аккаунтов Яндекс показывает рекламу своих сервисов, а Гугл показывает социальную рекламу. Но совсем полагаться на историю невозможно, потому что куки воруются, и аккаунт с хорошей историей вполне может быть фродером.

      Подбор объявления для пользователя производится без учета истории посещений, потому что иначе подбор в момент запроса занимал бы слишком много времени. После подбора происходит клик, который списывает со счета клиента деньги. Если не списывать деньги в момент клика, то при только что наступившем отрицательном балансе объявление продолжит показываться, а Яндекс и Гугл начнут показывать их за свой счет. После клика антифрод системы анализируют логи, отменяют клики и возвращают деньги.

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


      1. KevinMitnick
        15.09.2018 00:53

        1) деньги они уже получили, но чем меньше у них будет обязательств тем лучше, они понимают что мышки кроме кактуса не видят другой альтернативы.
        2) у гугла и яндекса везде аналитики и метрики, и историю они могут строить по ID, куки как бы непричем


        1. qw1
          15.09.2018 07:37

          Так где хранится ID, как не в куках?


          1. KevinMitnick
            15.09.2018 09:20

            на облаках))
            id формируется на основании информации которую отдает браузер (юзерагент, операционка, cpu, gpu, разрешение экрана и вообще все на свете если это хром, опера или фаерфокс )
            … ну и куки вам кинут для проформы


            1. qw1
              15.09.2018 11:22

              Это хорошо. Значит, регулярные обновления браузера будут обновлять мой user-agent, и следовательно менять ID трекинга.


              1. KevinMitnick
                15.09.2018 19:03
                -1

                да и гугл будет хранить все ваши юзерагенты и все устройства с которых вы заходили, и даже может отличать пользователей по движению мыши, прикиньте какие чудеса ))
                а вы все куки чистите?


                1. qw1
                  15.09.2018 21:19

                  Но треки с разными юзер-агентами будут отнесены к разным пользователям?

                  Насчёт идентификации по движению мыши было бы интересно почитать. Особенно интересует статистика коллизий: если записать 200 сессий от 100 пользователей, то сколько будет нераспознаваний, что пара сессий принадлежит одному пользователю и сколько ложных идентификаций, когда один юзер определён как другой.

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


                  1. KevinMitnick
                    15.09.2018 21:47

                    Но треки с разными юзер-агентами будут отнесены к разным пользователям?

                    Хранится многомерная сущность, у которой добавляются детальки и у которой может быть несколько пользователей. И распознаются пользователи не вообще, а в рамках управления конкретной сущностью.


    1. DanilNN Автор
      15.09.2018 00:30

      Пользователь имеет IP, ID и историю (в google, yandex итд.)
      можно было бы включить тупую логику, что все что не имеет истории, то фрод

      Сейчас не редки случаи, когда фрод гонят не с пустых и нигде не авторизованных аккаунтов, а с уже набравших определённую историю и даже авторизованных в сервисах. В пользу моих слов – наш «неожиданный» пул 45 и 55 летних атакующих ботов


      1. KevinMitnick
        15.09.2018 00:37

        по этому я и написал «тупую логику», но согласитесь набрать незабаниных дедиков, это не тоже самое что нагенерировать ID


      1. Sabubu
        15.09.2018 16:18

        В теории, после того как аккаунт попался на фроде, Яндекс мог бы его вносить в черный список. Это сделает такие аккаунты дорогими — представьте, например, вам надо 3 месяца накручивать «историю», потом несколько раз скликнуть рекламу и вы попали в черный список.

        Плюс, можно заодно «минусовать» IP адреса, с которых использовался плохой аккаунт — пусть злоумышленник новые адреса для каждого аккаунта покупает.


        1. qw1
          15.09.2018 21:22
          +1

          Пользователи с новым браузером, или у которых история недостаточно глубокая, или почищенная, или с браузером без кросс-доменных кук, вроде Сафари, будут честно ходить по объявлениям, но распознаваться как фрод, и не приносить Яндексу прибыль.


    1. umsbug
      15.09.2018 13:11

      Несколько лет назад я был свидетелем как мой приятель «прокликивал» ботом рекламу магазина, который его «кинул», продав неисправное железо. Ситуация была неприятной и по-человечески разобраться в ситуации не было возможности -магазин в лице гарантийного отдела спрятался в ракушку, огородившись юристами: «пишите письмо на юр адрес». Да можно было пройти все круги ада, подать в суд, но много ли людей в России сделает это — таков и был рассчет магазина, позднее было обнаружено целое сообщество пострадавших. То есть это были системные действия магазина по обворовыванию клиентов.
      Приятель выбрал иной вариант. Он не получил компенсации своих убытков, лишь моральное удовлетворение. Было ли это атакой? Безусловно. Было ли это законно? Безусловно в рамках закона. Лично я воспринял эту историю словно из романа «билет на планету Транай» — не каждое действие является незаконным, даже если оно вредоносно.


      1. Sabubu
        15.09.2018 16:21

        Тогда это проблема российского законодательства. Такое мошенничество должно наказываться таким образом, чтобы этим было невыгодно заниматься.


        1. qw1
          15.09.2018 21:23

          Так оно наказывается. Написано же — покупатель не захотел действовать законно.


  1. gennayo
    14.09.2018 21:56

    Получается, больше вреда рекламодателям не от блокировщиков рекламы, а от скликивателей?
    То есть, чем больше скликивают — тем меньше рекламы?


    1. tnuriev
      15.09.2018 02:50

      Чем больше скликивают — тем больше бюджета улетает в пустоту, и реклама не окупается. А если рекламу заблокировать, то ее не увидят, и деньги с рекламодателя не спишутся.


    1. Sabubu
      15.09.2018 16:22

      Да, за склики списываются деньги. За блокировщиков деньги не списываются, просто вашу рекламу не видят те, кто не любит рекламу.

      От блокировщиков впрочем теряют площадки, размещающие рекламу. А от склика они, наоборот, зарабатывают, и иногда сами им же занимаются.


  1. unitek
    15.09.2018 00:22

    Ещё один из признаков простого бота — отсутствие у него авторизации в распространённых сервисах, включая Я.Паспорт и аккаунт Гугла, а также свежие куки без истории посещения сайтов хотя бы за пару недель. Можно выделить таких в отдельную категорию и сравнить с пользователями, использующими режимы «инкогнито».

    А по поводу покупки 500 IP — это же неэффективно? Проще использовать тарифы с динамическими адресами от домашних и мобильных провайдеров.


    1. selivanov_pavel
      15.09.2018 02:07

      Я.Паспорт и аккаунт Гугла

      Ура, я — бот! Осталось убедить в этом всех рекламодателей и можно отключать uBlock.


      1. Sabubu
        15.09.2018 16:24

        Можно просто за разных пользователей брать разную цену. Кликнул аноним по рекламе — минимум оплаты, кликнул человек с 5 годами истории — максимум. И показывать рекламодателю распроделение типов аккаунтов, чтобы он мог оценить ситуацию. Яндексу это конечно невыгодно, так как может оказаться, что аудитория не очень качественная.


    1. isam_os
      15.09.2018 16:31

      да нахер мне твой паспорт? и акк гугла…


      1. unitek
        15.09.2018 21:05

        Поскольку речь шла о контекстной рекламе от Яндекса и Гугла, я упомянул их отдельно: регистрация и история сетевой активности для них будет плюсом, а для разработчиков ботов, соответственно, минусом (из-за необходимости дополнительных трудо- и времязатрат).


        1. DanilNN Автор
          15.09.2018 21:53

          Скорее нужна просто более гибкая система выставления ставок: текущих 6-9 критериев не хватает, и если рекламодателям позволить гибко настраивать ставки для различных сегментов аудитории – выиграют обе стороны. Но к сожалению Google и Яндекс пока от этого далеки.


          1. unitek
            15.09.2018 22:14

            Думаю, это будут взаимодополняющие подходы.


  1. dimonoid
    15.09.2018 03:34

    А вы не пробовали давать рекламу в YouTube? Просто платите блоггерам, а те вставляют рекламу совсем незаметно и главное по контексту. И не адблочится. Реклама на вебсайтах уже устарела в 2018 году.


  1. OldGrumbler
    15.09.2018 07:23

    не показывать рекламу заведомо мошенническим пользователям или ботам


    А где записывают в заведомо мошеннических пользователей? Хочу-хочу-хочу!!!)))

    ЗЫЖ Вот и идея нового поколения рекламодавов: дополнение в фоне старательно скликивает рекламу до ее полного исчезновения… )))


    1. mobi
      15.09.2018 09:04

      Есть же такой, AdNauseam. В Chrome Web Store его (неожиданно) сразу же заблокировали, но в Firefox'е вроде бы живет и здравстувует. Наверняка есть и другие аналоги.


      1. xFFFF
        15.09.2018 15:47

        Спасибо, поставил)))


    1. ArPi
      15.09.2018 09:07

      Вы только что изобрели Ad nauseam :) https://habr.com/post/370043/


      1. OldGrumbler
        15.09.2018 11:04

        У меня более злостная идея — не фальшивых кликов, а целенаправленное скликивание тыщ по 100500 на каждый баннер. Не одну [фальшивую] копеечку попрошайке кинуть, а камазом фальшивок засыпать — чтоб и он не встал, и другие впредь забоялись )))


        1. qw1
          15.09.2018 11:27

          Какая цель всего этого? Сейчас, кто не хочет видеть Я.Д., просто блочит его любым способом, хоть через hosts. Если Директ поломать, рекламщики будут мержить свою рекламу в контент так, что не отделишь и выдумывать прочие гадости, от которых так просто не избавиться. То есть, «назло маме отморожу уши»?


          1. xFFFF
            15.09.2018 15:32

            К сожалению, яндекс научился обходить многие блокировки…


            1. qw1
              16.09.2018 20:47

              У меня есть только 1 пример, где объявления Директа скачиваются не с домена Яндекса, а с самого сайта (который проксирует на Яндекс) — это gismeteo.ru

              Но для него был написал userscript, который удалял рекламные блоки (все div-ы были с рандомными id, но с определённой структурой имени, типа 6 буквоцифр, дефис, 2 буквоцифры, что ловилось regex-ом). А сейчас с зашёл на gismeteo, и юзерскрипт перестал работать — поменяли формат рандомного имени.

              Однако, с усложнением они обманули сами себя: теперь скрипты скачивают объявления и вставляют в страницу. Я просто отключил в uMatrix запросы типа XHR на gismeteo.ru и реклама снова пропала.


        1. cyberzx23
          15.09.2018 15:17

          такую примитивную атаку и яндекс и гугл очень легко определят.


    1. Sabubu
      15.09.2018 16:26

      Мне это не очень нравится, так как страдать будут обычные рекламодатели, а не Яндекс или сайты, размещающие рекламу (они сами часто делают фальшивые клики чтобы повысить прибыль).


      1. OldGrumbler
        15.09.2018 20:50
        +1

        Вы просто смирились с рекламной наценкой, чем негласно одобряете деятельность этой и подобных контор, ежемесячно выкидывающих адблоку под хвост лимоны ендъюзерских кровных. )))


  1. OldGrumbler
    15.09.2018 11:03

    не туда…


  1. Sabubu
    15.09.2018 16:16

    Не очень понимаю логику Яндекса: если они сами не способны бороться с фродом, почему бы не сделать API, позволяющее автоматически и точно отфильтровывать показы по разным критериям, без ограничения числа IP?


    1. DanilNN Автор
      15.09.2018 21:40

      Да и в Гугле базовых критериев для блокировки «зараженных» сегментов в поиске мало:


      Для КМС дополнительно доступны корректировки ставок по родительскому статусу и расширенные параметры таргетинга на мобильные и планшеты: версия ОС, модель устройства, операторы мобильной связи и Wi-Fi:


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

      Но даже этот жалкий список критериев для выставления ставок невозможно связать воедино и сделать, например, ставку -90% в КМС для пользователей на планшетах под управлением iOS с 4 до 9 утра в возрасте от 55 до 64 с оператором Теле2.

      Скорее всего, столь топорный инструмент настройки фильтров аудитории в Яндексе и Гугле – это следствие их заботы о себе любимых, им не хочется перегружать систему лишними возможностями, которые рекламодатели начнут активно использовать.


  1. isam_os
    15.09.2018 16:25

    засранцы из яндекса все понимают и даже не делают отключение показов на мобильных… хотя их даже на конференции просили об этом… бабло рубит!


    1. DanilNN Автор
      16.09.2018 12:36

      Если действительно остро стоит вопрос отключения показов на мобильных в Директе и корректировка к ставке -50% не помогла, можно попробовать следующее:

      1. хотя бы отключить повторные показы рекламы пользователям, которые совершили первый переход по объявлению с мобильных устройств*;
      2. добавить к объявлениям намеренно хуже написанные, чем обычные, мобильные объявления (им всегда будет отдаваться приоритет при запросе не с ПК);
      3. совсем авантюрный эксперимент, если ничего не помогает: создать сегмент Я. Аудитории похожих на ваших мобильных пользователей и выставить ставку -100% для этого сегмента.

      *Как полностью отключить повторные показы рекламы людям, перешедших с мобильных:
      1) В подходящем для вас отчёте Метрики создать сегмент, например, людей, которые используют смартфоны и их первый источник трафика – платная реклама (как на скриншоте). Назовем его «smartphones». (скрин)
      2) Создаём новое условие ретаргетинга и подбора аудитории и назовем его, например, «минимизация мобильных» (скрин).
      3) Выставляем корректировку ставки для нашего условия -100% в параметрах рекламной кампании Директ (скрин).


  1. aim17
    15.09.2018 17:40

    как наказали недобросовестного конкурента? :)


    1. riky
      15.09.2018 18:12

      так же :)


  1. ptfafol
    16.09.2018 18:05

    Какими силами проводили расследование «кто заказал атаку на вас»? Существуют какие-то агентства куда можно обратиться за помощью? Подскажите, пож-ста.