Mostrar anuncios geolocalizados a tus visitas

Cualquier persona que trabaje con programas de afiliados sabe que muchas de estas empresas no contabilizan todas las conversiones que has hecho, sino que las que realizas solamente en el país que a ellos les conviene. Algo que me parece bien por ellos ya que solo les interesa tener clientes de lugares especificos. La parte mala se ejemplifica en las empresas que ofrecen estos programas de afiliados, como TradeDoubler que no lo especifican y están jugando con la ignorancia de muchos webmasters.

Por esa misma razón, siempre que utilicemos programas de afiliados que estén designados para un país específico tenemos que utilizar la geolocalización para no estar perdiendo dinero y hacer conversiones que no se nos van a pagar.

Pero como se realiza? hay muchos métodos, pero el que yo utilizo y considero más simple para el usuario es el siguiente:

Nos tenemos que descargar la base de datos de MaxMind. Existe una versión gratuita la cual supuestamente acierta las nacionalidades del 97% de las IP, mientras que la de pago ($50) acierta el 99%.

  1. Descargar la base de datos
  2. Descargar la API PHP
  3. Descomprimir ambas en el root (geoip.inc y geoip.dat)

Una vez lo tenemos en el root tendremos que modificar la/s páginas donde queramos geolocalizar. Para ello tendremos que agregar este código en el principio de nuestro .php:

function getCountryCode()
{
if(isset($_COOKIE["geoCode"]))
{
$countryCode = $_COOKIE["geoCode"];
}
else
{
include("geoip.inc");
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
$countryCode = geoip_country_code_by_addr($gi, $_SERVER["REMOTE_ADDR"]);
geoip_close($gi);
setcookie("geoCode", $countryCode, time()+15552000, "/", ".supaginaweb.com", 0); //Cookie de 6 meses
}
return $countryCode;
}

Una vez tenemos el código escrito hay que llamar a la función. Vamos a poner un ejemplo donde mostraría a los españoles un texto y los demás otros.

if(getCountryCode() == "ES")
{
echo "Hola usuario español";
}
else
{
echo "Hola usuario"
}

Para mostrar los anuncios, en vez de hacer un echo pegas el código de la publicidad que quieres mostrar, así de simple.