Con este simple script es posible contar y traquear (código de paÃs e IP) clicks de tus visitantes que han pinchado uno de tus links patrocinados o algún banner de publicidad, por ejemplo. Este script puede utilizarse tanto si ya cuentas con una base de datos de enlaces, o si has realizado modificaciones, con un array de enlaes. Utilizo la base de datos de IP2nation para obtener el código de paÃs de los visitantes y almacenarlo junto con la demás información. También uso la variable de servidor HTTP_REFERER para almacenar la URL (donde haya hecho click el usuario), junto con la otra información. También puedes utilizar este script para cubrir links de afiliados.
Utiliza estas sentencias SQL dentro de tu cliente MySQL.
CREATE TABLE `links` ( `id` int(11) NOT NULL auto_increment, `titel` varchar(75) NOT NULL default '', `naam` varchar(35) NOT NULL default '', `url` varchar(150) NOT NULL default '', `description` text NOT NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM; CREATE TABLE `clicks` ( `id` int(10) NOT NULL auto_increment, `link_id` int(10) NOT NULL default '0', `visitor_ip` varchar(15) NOT NULL default '', `click_at` datetime NOT NULL default '0000-00-00 00:00:00', `country` char(2) NOT NULL default '', `on_page` varchar(50) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM;
Introduce de la misma manera los datos de las tablas de ip2nation.
PHP
Crea un fichero PHP, y pega este código dentro de las etiquetas de PHP.
// place here your database connection code if (isset($_GET['id']) && intval($_GET['id']) > 0) { $delay = 12*3600; // change here the number of hours how often a unique click must be counted $sql_check = sprintf("SELECT COUNT(*) AS test FROM clicks WHERE link_id = %d AND visitor_ip = '%s' AND UNIX_TIMESTAMP(click_at) + %d > UNIX_TIMESTAMP(NOW())", $_GET['id'], $_SERVER['REMOTE_ADDR'], $delay); if (mysql_result(mysql_query($sql_check), 0, "test") == 0) { $country_sql = "SELECT country FROM ip2nation WHERE ip < INET_ATON('".$_SERVER['REMOTE_ADDR']."') ORDER BY ip DESC LIMIT 0,1"; $country = mysql_result(mysql_query($country_sql), 0, "country"); $sql_insert = sprintf("INSERT INTO clicks (link_id, visitor_ip, click_at, country, on_page) VALUES (%d, '%s', NOW(), '%s', '%s')", $_GET['id'], $_SERVER['REMOTE_ADDR'], $country, $_SERVER['HTTP_REFERER']); mysql_query($sql_insert); } $sql_url = sprintf("SELECT url FROM link_table WHERE id = %d", $_GET['id']); $url = mysql_result(mysql_query($sql_url), 0, "url"); header("Location: ".$url); exit; } else { header("Location: http://www.yourwebsite.com/"); exit; }
Cómo utilizar el script en tu sitio web
El script de arriba, serÃa el link target. Los enlaces que quieras contabilizar y traquear, debes crearlos de este modo:
<a href="http:domain.com/myclickscript.php?id=34">Click this link please</a>
Fuente: finalwebsites.com