Geolocalización y geotargeting en páginas web

Geolocalización y geotargeting en páginas web

 

En el mundo de internet, la geolocalización es la capacidad para obtener la localización geográfica del usuario que está accediendo a un determinado recurso de internet. Esa información puede servir, como luego se verá, para muchas cosas. Si en vez de ofrecer a todos los usuarios la misma información, procedan de donde procedan, se les ofrece un contenido personalizado en función de su localización geográfica, entonces se está realizando ‘geotargeting‘.

En este artículo me voy a centrar en el uso de geolocalización y ‘geotargeting’ en sitios web. Las aplicaciones para dispositivos móviles también utilizan estas técnicas, pero aprovechan que disponen de GPS o que pueden obtener una localización aproximada a través de la red de telefonía o red WiFi a la que estén conectados. Sin embargo, estas diferencias entre navegador y aplicación desaparecen si al navegador web utilizado en los dispositivos móviles se le concede permiso para obtener la localización del dispositivo.

Beneficios

Algunas de las razones por las que se utiliza ‘geotargeting’ y los beneficios que aporta son:

  • Personalización de contenidos culturales o restricciones de derechos de autor según la localización del usuario.
  • Presentación de publicidad acorde a la localización del usuario, teniendo en cuenta el idioma, hora local, servicios y productos locales, fiestas locales, etc. Si el sitio web ofrece publicidad, ésta podrá elegirse con criterios más acertados, teniendo mayores posibilidades de éxito.
  • Prevención de fraudes, por ejemplo al realizar un pago con una tarjeta de crédito desde una localización no habitual.
  • Presentación de contenidos teniendo en cuenta la localización del usuario, su hora local, su idioma o su moneda. Esto aumenta la relevancia de la información que el sitio web presenta a los usuarios, mejorando la fidelización.
  • Ofrecer al usuario la información que solicita desde el servidor web más cercano a su localización para una mejor velocidad y calidad del servicio (servidores CDN). Se ofrece un servicio más ágil, con tiempos de espera mucho más pequeños.

Cómo se consigue

Existen varias maneras de obtener la localización de un usuario de un sitio web, pero se pueden clasificar en dos en función de la intervención del usuario:

  • Obtención de la localización sin la intervención del usuario.
  • Obtención de la localización con la intervención del usuario.

La primera forma de obtención de la localización, de forma automática, tiene como ventaja que no hace intervenir al usuario, no se le hacen preguntas ni se requiere una participación activa. Debe tenerse en cuenta que la precisión de la localización del usuario obtenida de forma automática tiene sus limitaciones y puede no ser suficiente.

La segunda forma, la determinación de la localización interviniendo el usuario, tiene como ventaja que éste obtiene exactamente lo que elige y que su elección no tienen por qué coincidir con regiones geográficas políticas concretas, sino que se puede ajustar a áreas geográficas arbitrarias.

Dirección IP

La forma más habitual de obtención automática de la localización de un usuario de un sitio web es utilizar la dirección IP de la petición que realiza. Cuando un usuario está conectado a internet, su proveedor de acceso a internet le asigna un número denominado dirección IP. Este número lo recibe el sitio web y se utiliza para saber qué ruta debe seguir la información de respuesta para llegar hasta el ordenador del usuario que la ha solicitado. Los proveedores de acceso a internet tienen asignadas unas cuantas direcciones IP para que las utilicen sus clientes, y esas direcciones son públicas. Existen empresas que utilizan esa información junto con información de localización geográfica de las infraestructuras de los proveedores de acceso a internet para así poder determinar la localización de una dirección IP y vender esa información como servicio.

La validez o no de los servicios de localización por dirección IP dependen del grado de precisión que se requiera. Conocer el país de origen es muy preciso, pero afinar más, intentando determinar la provincia o localidad es difícil o a veces imposible. A modo de ejemplo, en el sitio web de la empresa MaxMind se puede consultar la exactitud que ofrecen según el país y la precisión necesaria.

La falta de exactitud se debe a que las infraestructuras de red de los proveedores de alojamiento se concentran en lugares que ofrecen grandes velocidades de acceso a internet, y por tanto, por ejemplo, la mayoría de las veces que se solicita la localización de un usuario de internet en España se obtiene una localización de Madrid o Barcelona. Para paliar esto, algunas empresa de geolocalización realizan peticiones (técnicamente ‘ping’) desde ordenadores cuya localización exacta se conoce a la dirección IP que quieren localizar, y basándose en los tiempos de respuesta consiguen una mayor exactitud mediante triangulación.

Navegador

W3C ha especificado una API de geolocalización para que los navegadores de internet puedan consultar a través de javascript la localización del equipo que está ejecutando el navegador web. Si se trata de un ordenador la localización estará basada en la dirección IP o red WiFi, pero si el navegador se está ejecutando en un dispositivo móvil y tiene GPS activado o se conecta a internet a través de una red de telefonía móvil, se podrá utilizar cualquier de estos elementos para poder obtener con más precisión la localización del usuario. Hay que destacar que el navegador solicitará permiso al usuario antes de obtener su localización y que éste puede negarse a darla.

Usuario

Normalmente la geolocalización no es el fin sino el medio para realizar ‘geotargeting’, y si la geolocalización no es lo suficientemente precisa, el sitio web deberá basarse en las respuestas de los usuarios para ofrecerles aquellos contenidos que se ajusten a sus demandas.

Pongamos por ejemplo un sitio web que ofrece información sobre actividades culturales en toda España. Si la geolocalización no es capaz de acertar con la provincia desde la que realiza la consulta un usuario, el sitio web podrá presentarle un selector de provincias para así mostrar aquella información local o cercana que pueda interesar al usuario. Debe tenerse en cuenta que esta selección de área geográfica deberá estar presente en cualquier caso, porque aunque se pueda determinar la localización del usuario correctamente por geolocalización, quizá éste quiere consultar información de otra provincia.

Por tanto, aunque sea muy precisa la geolocalización automática, siempre debería existir la opción de elegir contenidos asociados a zonas geográficas de forma manual. Si un usuario visita habitualmente el sitio web del ejemplo, para no obligarle a seleccionar cada vez la provincia que desea consultar, se puede utilizar una ‘cookie’ que almacene la última provincia visitada, de tal forma que la siguiente vez que el usuario visite el sitio web, el servidor web obtenga la ‘cookie’ y sepa qué provincia seleccionar sin necesidad de que lo haga el usuario. Esto no funcionará, lógicamente, si el usuario bloquea o elimina las ‘cookies’ de su navegador. Si el sitio web utiliza usuarios registrados que pueden identificarse y que se almacenan en una base de datos, un dato más a guardar será la provincia por defecto que deseen consultar.

Otros conceptos relacionados

Dentro de la actual tendencia de mostrar contenidos personalizados a los usuarios según su localización geográfica, existen dos técnicas que se aplican a dispositivos móviles que merece la pena destacar:

  • Geofencing: son sistemas que definen un área cerrada en un territorio y cuando el dispositivo móvil que controla su localización entra o sale del área definida realiza una acción, normalmente recibir o enviar una notificación o generar algún tipo de alerta. Ejemplos de utilización son: recibir alertas de compras previamente programadas cuando se está cerca de un lugar donde puede realizarse la compra. Alertar de un vehículo o animal doméstico si abandona el área permitida donde puede estar.
  • Beaconing: son sistemas de geolocalización para espacios muy reducidos (una tienda, un centro comercial, una empresa) que utilizan Bluetooth Low Energy (BLE) o WiFi. Se pueden programar para que cuando un dispositivo móvil (con su correspondiente aplicación) se encuentre en una determinada localización o a una determinada distancia se produzca una acción concreta, normalmente enviar una notificación o generar una alerta.

Conclusiones

La presentación de contenidos de un sitio web personalizados según la localización del usuario que lo visite mejora la calidad del servicio dado. Si se puede obtener la localización de los usuarios con la precisión necesaria se podrán ofrecer contenidos personalizados de forma automática y transparente para el usuario. En cualquier caso se debe ofrecer al usuario la posibilidad de elegir el contenido asociado a una determinada localización que desea consultar y recordar la elección realizada para próximas visitas.


Rubén Razquin

Dedicado al análisis y desarrollo de software en entornos web (21 años de experiencia). Desarrollo de aplicaciones para dispositivos móviles.

Siempre descubriendo y buscando nuevas ideas.

“El talento da en la diana en la que nadie más puede dar. El ingenio da en la diana que nadie más puede ver.”


Post relacionados

la-otra-cara-temas-wordpress1

La otra cara de los temas de WordPress

¿Es una buena práctica utilizar un tema de WordPress para un proyecto web? En ttandem.com tenemos la impresión que los pros y contras de esta práctica no están lo suficientemente discutidos.

Alojamiento web

Sitio web busca alojamiento, espacioso, con buenos accesos y a buen precio

El alojamiento es una de las partes más importantes de un proyecto web. Descubre los factores para su elección y qué tipos de alojamientos existen.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

  He leído y acepto la política de privacidad de la web *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *

4 comentarios

  • Ruben dice:

    Hola veo que el post es un poco antiguo pero no se si aun podeis ayudarme, tengo implantado este sistema de geolocalizacion en una web, y desde un dispositivo movil a veces me da un margen de error de miles de metros y otras de 20 metros o menos, entiendo que a veces tira del gps y otras de la triangulacion. creo que con estos parametros (enableHighAccuracy: true,maximumAge: 2000,
    timeout: 10000) obligo a que tire del gps, pero no funciona correctamente

    • Rubén Razquin dice:

      Hola Rubén, cuando solicitas que se utilice geolocalización con una precisión alta, simplemente se trata de un deseo, pero es el usuario que visita tu sitio web quien tiene la última palabra. Quizás el usuario tenga desactivado el GPS o tiene configurado su navegador para que no comunique a los sitios web la localización del dispositivo. En estos casos no importa que el sitio web quiera obtener la localización precisa, el usuario no se la da.

  • Fede dice:

    Hola, muy interesante. Yo estoy emprendiendo con un web, que se dirije a distintos paises con tres lenguas distintas ( espanol, ingles, portugues ), y no se si se puede pero puede existir realmente y yo no saberlo. Me gustaria que el server o datacenter o servicio de hosting, tenga la menor latencia de respuesta independientemente del pais desde donde se visita mi web. Por ej con una misma web y dominio o subdominio….. que la informacion dedicado a lengua espanol este alojada en un datacenter de colombia o en pais epicentro de paises de lengua española y la de Brasil en un server de Brasil . algo lei de Amazon que podria dar algo asi, pero no encuentro info alli que me despeje dudas , con mi nivel novato. En Amazon AWS lei que con un par de clics se ajustaban las DNS segun el pais desde donde se visita. espero me puedan ayudar.. gracias por adelantado

    • Rubén Razquin dice:

      Hola Fede:
      Además de la opción que indicas, es posible que el uso de CDN te pueda ayudar. Te indico un artículo de este blog que el que se habla de CDN: https://www.ttandem.com/blog/optimiza-tu-sitio-wordpress-con-una-cdn/

      CDN (content delivery network) es una tecnología que utiliza una red de servidores a nivel mundial que tiene copia de los ficheros de tu sitio web que desees. Imagina que tu sitio web está en Colombia. Cuando un usuario acceda a tu sitio web los ficheros que tengas alojados en la red CDN que elijas se recibirán desde el servidor más cercano a la localización del usuario en vez de desde Colombia. Por ejemplo, imagina que la red CDN que te da servicio tiene servidores en Argentina. Si un usuario de Argentina accede a tu sitio web que está alojado en Colombia, la página web a la que acceda se recibirá desde Colombia, pero si todo el contenido de la página (ficheros JS, CSS, imágenes, etc) los gestiona la red CDN, el usuario los recibirá desde Argentina, no desde Colombia, y por tanto el usuario verá que su página se carga más rápidamente que si tuviera que descargar todo desde Colombia.