Analytics
Сейчас в сети: 676
Сейчас в сети: 676
Настройка целей, отслеживание электронной торговли, многоканальные последовательности и тд
Подсказки
star_border
Ответить

Есть идея, как решить проблему реферального спама

Студент ✭ ✭ ✭

Есть идея, как побороть реферальный спам, который отправляется через Measurement Protocol в Google Analytics. Если к параметрам запроса в Measurement Protocol добавить как опцию обязательный уникальный токен, который будет доступен из аккаунта Analytics при включении этой опции, то без него не смогут отправлять реферальный спам.

Т.е. как это выглядит со стороны клиента:
1. Он включает галочку "Принимать запросы из Measurement Protocol только с токеном".
2. В аккаунте появляется уникальный токен.
3. Если клиент использует Measurement Protocol, то он просто добавляет этот токен как еще один параметр запроса. Если не использует, то для него ничего не изменится кроме того, что пропадет реферальный спам.

Проблема реферального спама из Measurement Protocol будет решена, если эту опцию реализовать!

2 Ответ экспертаverified_user

Re: Есть идея, как решить проблему реферального спама

Ведущий участник

Отличная идея. Дело за гуглом

C уважением,
Павел

Re: Есть идея, как решить проблему реферального спама

Студент ✭ ✭ ✭

К сожалению, я не учел, что JS код на сайте тоже использует для отправки данных Measurement Protocol.  Спасибо Андрею Москальцу, за то, что написал об этом Веселый

 

Самый простой обходной путь, который я вижу - передавать через custom dimensions токен и фильтром включить сеансы только с этим пользовательским параметром.

 

Этим самым мы обрежем всех тех ботов, которые перебирают номера счетчиков и отправляют запросы в Analytics.

Re: Есть идея, как решить проблему реферального спама

Ведущий участник

Чтобы остальные тоже попробовали выкладываю решение.
Что может браузер и что не может спамер или слабенький бот?
Браузер может выполнить javascript и сохранить куки! Поэтому нам нужно отделить одних от других.
Делаем скрипт на javascript который сохранит и прочитает куку и сохранит результат в переменной:

<script>
var nospamtoken='';
function setCookie(name, value, options) {
  options = options || {};

  var expires = options.expires;

  if (typeof expires == "number" && expires) {
    var d = new Date();
    d.setTime(d.getTime() + expires * 1000);
    expires = options.expires = d;
  }
  if (expires && expires.toUTCString) {
    options.expires = expires.toUTCString();
  }

  value = encodeURIComponent(value);

  var updatedCookie = name + "=" + value;

  for (var propName in options) {
    updatedCookie += "; " + propName;
    var propValue = options[propName];
    if (propValue !== true) {
      updatedCookie += "=" + propValue;
    }
  }

  document.cookie = updatedCookie;
};

function getCookie(name) {
  var matches = document.cookie.match(new RegExp(
    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
  ));
  return matches ? decodeURIComponent(matches[1]) : undefined;
}

setCookie ('nospam', '445566'); //наш ключ, по которому будем фильтровать
var nospamtoken=getCookie('nospam');
</script>

Этот код вставляем до скрипта аналитики.
В аналитике создаем пользовательский параметр: 
2016-01-17 12-59-03 Скриншот экрана.png

2016-01-17 12-53-05 Скриншот экрана.png

Обратите внимание, на код javascript, в нем указан номер параметра. В примере это dimension1

Создаем фильтр, в котором пропускаем только те хиты, которые содержат наш ключ:
2016-01-17 13-01-11 Скриншот экрана.png

И добавляем строчку в код счетчика перед pageview:

  ga('create', 'UA-XXXXXXXX-X', 'ваш сайт');
  ga('require', 'displayfeatures'); //Этого может у вас не быть
  ga('set', 'dimension1', nospamtoken); // То, что мы добавляем
  ga('send', 'pageview');

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

ga('set', 'dimension1', '445566'); 

А настройка в аналитике остается той же

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

Re: Есть идея, как решить проблему реферального спама

Студент ✭ ✭ ✭
не затруднит все это описать с использованием GTM. Вот есть вариант https://youtu.be/hhUwcv6wAaw, но у меня он не заработал - возможно, потому, что тег скрипта расположился до кода UA. Можете проанализировать данное видео. Спасибо

Re: Есть идея, как решить проблему реферального спама

Студент ✭ ✭ ✭
Дмитрий, здесь я расписал довольно подробно, как сделать вариант без использования cookies. Это немного проще, а эффект по сути тот же:
http://goo.gl/prGKXA
Есть вариант с GTM и без GTM.

Re: Есть идея, как решить проблему реферального спама

Студент ✭ ✭ ✭
спасибо

Re: Есть идея, как решить проблему реферального спама

Студент ✭
а почему просто не сделать фильтр и не фильтровать пустые hostname?

Re: Есть идея, как решить проблему реферального спама

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

Re: Есть идея, как решить проблему реферального спама

Студент ✭
значит надо фильтровать не пустые hostname, а только используемые.
Ни разу не видел, чтобы спамеры подставляли актуальные hostname.