Скрипт для подсчета количества кликов на контекстную рекламу
Для чего нужен учет кликов
Сейчас многие стали устанавливать на своих веб-сайтах контекстную рекламу
таких компаний как Яндекс, Бегун, Google. Мы пока остановились на Яндексе, так как
именно эта реклама крутится на нашем сайте и потому, что Яндекс преобретает все большую популярность.
Не секрет Супер предложение. банка. , что рекламная система имеет так называемую
антискликовую защиту, которая определяет неправильные с ее точки зрения
клики, и не засчитывает их на ваш счет. Алгоритмы и критерии "отсечки" держатся в секрете и зачастую
отсекают порядочное число кликов. Неучтенные клики в статистике Яндекса не учитываются и вы лишены
возможности проконтролировать эффективность размещения рекламы на сайте.
Мы предлагаем ( ) простейший скрипт для самостоятельного учета количества кликов на
контекстную рекламу Яндекс, которую вы установили на своем сайте.
Как это работает
Скрипт состоит из двух частей - клиентского сценария AJAX и PHP-скрипта на вашем
сервере. Когда посетитель кликает на рекламу Яндекс, JavaScript скрипт работающий на стороне браузера посетителя
отсылает запрос PHP-скрипту, находящемуся на сервере, который в свою учередь обновляет данные в лог-файле.
В результате на вашем сервере появится текстовый файлик clicks.txt вот такого вида:
03.03.2007 24
04.03.2007 25
05.03.2007 36
06.03.2007 27
07.03.2007 23
08.03.2007 19
09.03.2007 17
Первый столбец это дата, а цифры во втором столбце обозначают количество кликов на рекламу в соответствующий день.
Как установить скрипт
На страницу ( Не знаете как удивить мужа? подарите ему точную ), где появляется контекстная реклама Яндекс, необходимо вставить
Ява-скрипт. Этот скрипт будет работать, только если он расположен на странице ниже, чем код контекстной рекламы.
Не забудьте поменять URL-адрес своего сайта в переменной myURL (в тексте скрипта он выделен красным цветом).
Кроме того, запрос к рекламному скрипту Яндекса может начинаться не с "http://bs.yandex.ru/count",
а с другой подстроки. Проверьте свой код вызова рекламы и в случае необходимости поменяйте
значение переменной YandexURL в нижеследующем скрипте (также выделено красным цветом). (
<script>
var myURL="http://www.mysite.ru";
var YandexURL="http://bs.yandex.ru/count/";
function sendClick()
{
var xmlHttp = null;
var url_len=strlen(YandexURL);
try {xmlHttp=new ActiveXObject('Msxml2.XMLHTTP');} catch (e){}
if(!xmlHttp) try {xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');} catch (e){}
if(!xmlHttp) try {xmlHttp=new XMLHttpRequest();} catch (e){}
xmlHttp.open("POST", myURL+"/clicks.php",true);
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlHttp.send("click=1");}
for (var v in document.links) {
var str=document.links[v].toString().slice(0,url_len);
if (str==YandexURL) document.links[v].onclick=sendClick;
}
}
</script>
Теперь в корневом каталоге вашего www-сервера необходимо создать файл clicks.php следующего содержания :
<?php
if (isset($_POST['click'])) {
if(file_exists('clicks.txt')) $file=file_get_contents('clicks.txt'); else $file='';
$f=fopen('clicks.txt','wt');
$lastStrPos=strrpos($file,"\r\n");
$lastDate=strtok(substr($file,$lastStrPos+2),"\t");
$lastCount=strtok("\t");settype($lastCount,"integer");
if (($date=date("d.m.Y"))==$lastDate) {$file=substr_replace($file,++$lastCount,strrpos($file, "\t")+1);}
else {$file.="\r\n".$date."\t"."1";}
fwrite($f,$file);
fclose($f);
}
?>
|