Скрипт для подсчета количества кликов на контекстную рекламу
Для чего нужен учет кликов Сейчас многие стали устанавливать на своих веб-сайтах контекстную рекламу таких компаний как Яндекс, Бегун, Google. Мы пока остановились на Яндексе, так как именно эта реклама крутится на нашем сайте и потому, что Яндекс преобретает все большую популярность. Не секрет Супер предложение. Сравнение ставок по вкладам Петрокоммерц банка. , что рекламная система имеет так называемую антискликовую защиту, которая определяет неправильные с ее точки зрения клики, и не засчитывает их на ваш счет. Алгоритмы и критерии "отсечки" держатся в секрете и зачастую отсекают порядочное число кликов. Неучтенные клики в статистике Яндекса не учитываются и вы лишены возможности проконтролировать эффективность размещения рекламы на сайте. Мы предлагаем ( Motorola l7 Аська скачать. ) простейший скрипт для самостоятельного учета количества кликов на контекстную рекламу Яндекс, которую вы установили на своем сайте.
Как это работает
Скрипт состоит из двух частей - клиентского сценария 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 в нижеследующем скрипте (также выделено красным цветом). (
Code
<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 следующего содержания :
Code
<?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);
}
?>