Как измерить влияние Ad Blocker с помощью Google Tag Manager

Поделиться →

Вы когда-нибудь задавались вопросом сколько человек на вашем сайте используют Ad Blocker? Хотите знать какой эффект он имеет? Если ваш ответ «Да», то эта статья для вас.

Для того, чтобы начать измерение количества пользователей, использующих Ad Blocker вам понадобится иметь доступ к аккаунту Google Tag Manager или доступ к исходному коду вашего сайта. Так же вы должны будете иметь возможность добавить статический файл на ваш сервер. Если же у вас есть только доступ к Google Tag Manager, то попросите разработчиков, что бы они добавили этот файл вам на сервер.

И так. Для начала вам вам понадобится добавить фэйковый рекламный скрипт на ваш сервер. Далее вы должны будете добавить ссылку на этот скрипт в исходный код вашего сайта и проверить, чтобы он правильно загружался и работал. Если скрипт не получается запустить, то вы будете знать о том, что Ad Blocker активен. Само собой, если скрипт запущен успешно, то искомый нами Ad Blocker отсутствует или не активирован у пользователя.

Давайте более подробно рассмотрим весь описанный выше процесс, что бы вы могли сами провести этот процесс и выявить Ad Blocker у посетителей вашего сайта.

 

Создаём фэйковый рекламный скрипт

Сам по себе это обыкновенный статический файл, который требуется разместить на сервере. Не важно где, но чем проще путь, тем меньше шансов запутаться в написании путей к нему же. Когда вы загрузите файл, останется добавить простые элементы на вашу страницу. Посмотрите содержание скрипта ниже. Назовите его «ads.js». Назвать файл именно так важно, потому что так Ad Blocker со 100% вероятностью определит его как рекламу.

//Setup
var fake_advertisement_block_id = 'ZqPhbvMCiKfe';
 
//Do not edit anything below this line
var e=document.createElement('div');
e.id=fake_advertisement_block_id;
e.style.display='none';
document.body.appendChild(e);

 

Код определения

Посмотрите сам код на изображении ниже. Этот код поместит куку (“adbl_status”) в браузер, с параметром «true» если Ad Blocker активирован и «false» если он не активен или отсутствует. Конечно же вы можете улучшить этот скрипт, добавив дополнительные опции определения параметров Ad Blocker. К примеру, можно отправить событие в Google Analytics, когда Ad Blocker найден и определен скриптом.

Имейте ввиду, что этот код сработает, только если “adbl_status” (Статсус Ad Block) в куках еще не существует. Эта кука будет активна в браузере на протяжении тридцати минут. Затем вы сможете использовать эту куку для заполнения полей для вашего сервиса аналитики. Например, для заполнения какого-либо параметра в Google Analytics, удобным для вас способом.

<script>
(function(){
	//Setup
	var advertisement_file_url = "//www.yourdomain.com/ads.js"; //Set this link to your own file.
	var fake_advertisement_block_id = 'ZqPhbvMCiKfe'; //This should be the same ID as the one used in the fake ad script.
	var cookie_name = 'adbl_status'; //The name of the cookie that is created.
	var on_detection_function = function(isAdblockActive){
		//This function is executed when the script has found out if Ad Block is active or not.
		//Add any code you want to be executed when detection is finished.
		//This will only be fired once per session (30 minutes).
 
		//For example: uncomment the next lines to push an event to the Google Tag Manager dataLayer.
		// dataLayer.push({
		// 	event: 'adblock_detection',
		// 	adblock_active: (isAdblockActive ? "Active" : "Not Active")
		// });
	};
 
	//Do not edit things behind this line unless you know what youre doing.
	var adblock_cookie = getCookie(cookie_name);
	if(adblock_cookie){
		return;
	}
 
	//Add a link to a fake advertising script
	var s = document.createElement("script");
	s.type = "text/javascript";
	s.src = advertisement_file_url;
	document.body.appendChild(s);
 
	//Use a timeout to check for the created element from the script.
	//If it does not exist after 1.5 seconds (script not executed yet), we assume that Ad Block blocked the script.
	setTimeout(function(){
		var isAdblockActive = true;
		if(document.getElementById(fake_advertisement_block_id)){
			isAdblockActive = false; //Element is found, this means adblocker is not active.
		}
		setCookie(cookie_name, (isAdblockActive ? "Active" : "Not Active"), 60*30); //Set adblock status cookie for 30 minutes
		on_detection_function(isAdblockActive);
	}, 1500);
 
	function setCookie(e,o,n,t){var z=encodeURIComponent;var i=new Date,m=1e3*(n?n:3600);i.setTime(i.getTime()+m);var a=i.toGMTString(),c=z(e)+"="+z(o)+";expires="+a+";path=/";t&&(c+=";domain="+t),document.cookie=c}
	function getCookie(o,e){return e=document.cookie.match("(^|;)\\s*"+o+"\\s*=\\s*([^;]+)"),e?decodeURIComponent(e.pop()):""}
})();
</script>

 

Практическое применение в Google Tag Manager

Что бы утвердить вышенаписанное, мы воспроизведем это в Google Tag Manager. Мы уже поместили фэйковую рекламу на наш сервер. Теперь мы добавим код, который проверит наличие Ad Block у пользователя. Что бы это сделать, создайте HTML tag и запустите на DOM Ready ивенте, затем скопируйте код обнаружения и поместите его в tag. Как показано на скриншоте. Не забудьте изменить «advertisement_file_url» указав путь к «ads.js» файлу, который вы предварительно уже создали.

Далее вы должны дать определение переменной, чтобы зафиксировать «adbl_status» куку. Создайте новую First Party Cookie переменную и назовите её как-нибудь в стиле «Is Ad Block Active». Кука будет называться «adbl_status» до тех пор, пока вы не измените код. Имейте ввиду, что эта переменная не будет определяться на первом просмотре страницы. Таким образом, если посетитель сразу «отскочит», вы не получите никакой информации о статусе его Ad Block. Затем создайте тригер для данного ивента «adblock_detection» и создайте Google Analytics tag связанный с тригером. Таким образом ивент будет реагировать на каждую сессию вашего сайта. Так же в этом тэге убедитесь настроить «Non-Interaction Hit» на «True». Если вы этого не сделаете, то посадочные страницы не будут показывать показатели отказов. Фиксируйте состояние в TheDataLayer переменной «adblock_active».

Теперь мы можем отслеживать эту переменную и измерять её. Если вы ещё не настроили эту величину для Ad Block статуса в Google Analytics, сделай это сейчас же. Откройте ваш главный Google Universal Analytics tag(тот который отвечает за стандартные просмотры страниц) и добавьте custom dimension в tag. Убедитесь, что такой же, как индекс вашего custom dimension в Google Analytics. Теперь с каждым просмотром страницы, состояние AdBlock будет отправляться в Google Analytics.

Вуаля! Теперь вы будете получать данные о статусе Ad Block среди ваших пользователей.

Поделиться →

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

Как измерять кампании лидеров мнений. 5 аналитических подходов

3 причины неотъемлимости SMM для роста SEO

Начинаем работу с Facebook Analytics

Получай лучшие статьи по
интернет-маркетингу на
свою почту