Главная страница     Новости     Цены     Скачать     О сайте     Контакты     Документация     Программы     Музей     Ссылки     Форум  
 
English version  

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

Для чего нужен учет кликов

 Сейчас многие стали устанавливать на своих веб-сайтах контекстную рекламу таких компаний как Яндекс, Бегун, 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);
}
?>


  Рейтинг@Mail.ru  
  Copyright © Андрей Ваваев 1998-2008, тел. (905)722-8188 Webdesign © D-Studio Design 2003