Este sitio web utiliza cookies para realizar análisis y mediciones de tus visitas. [ Acepto ] [ Más información aquí ].
string(13) "analitica-web"

Cómo ver la IP de un visitante en Google Analytics

Para registrar la IP de cualquier visitante en Google Analytics, añade el siguiente código PHP en tu página web, antes del código principal de Google Analytics.

<?php

if (!empty($_SERVER['HTTP_CLIENT_IP'])) {

$ip=$_SERVER['HTTP_CLIENT_IP'];}

elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {

$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];} else {

$ip=$_SERVER['REMOTE_ADDR'];}

?>

A continuación, las instrucciones cambian según uses Universal Analytics o Analytics tradicional.

INSTRUCCIONES PARA UNIVERSAL ANALYTICS

Crea una nueva dimensión tal como se explica aquí, configura "IP" como nombre y "Sesión" como alcance. Utiliza este código, cambiando el parámetro UA:

<script>

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXXXX-X', 'auto');

ga('send', 'pageview', {

'dimension1': '<?=$ip;?>'

});

</script>

Para ver los datos:

1) Crear un informe en "Informe personalizado".

2) Seleccionar IP como primera dimensión, que aparecerá debajo del menú "Dimensiones Personalizadas".

3) Seleccionar Sesiones como métrica web.

INSTRUCCIONES PARA ANALYTICS TRADICIONAL

Añade este código a tus páginas antes de </body>:

<script type='text/javascript'>

_gaq.push(['_setCustomVar', 1, 'IP', '<?=$ip;?>', 1]);

</script>

Para ver los datos:

1) Crear un informe en "Informe personalizado".

2) Seleccionar Variable personalizada (Valor 01) como primera dimensión.

3) Seleccionar las métricas web que necesitemos (visitas, páginas vistas, tiempo en el sitio, etc.)

Cuando el código haya recogido los primeros datos, podremos ver las las direcciones IPs de los visitantes y combinarlas con los demás datos que ofrece Google Analytics.

CÓMO USAR JAVASCRIPT PARA REGISTRAR LA DIRECCIÓN IP

Si no puedes usar PHP, todavía puedes registrar la dirección IP de tus visitantes usando Javascript. Sin embargo, estarás dependiendo de un Javascript externo que, a pesar de funcionar bien ahora, en el futuro podría fallar. Úsalo bajo tu propia responsabilidad. El código es:

<script type="text/javascript" src="http://l2.io/ip.js?var=myip"></script>

<script>

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXXXX-X', 'auto');

ga('send', 'pageview', {

'dimension1': myip

});

</script>

INSTRUCCIONES PARA WORDPRESS

¡Gracias a Matt Holovach por esta solución!

1) Deshabilita el plugin de Analytics para Wordpress o elimínalo manualmente, si está incluido en el fichero headers.php.

2) Añade el siguiente código al fichero functions.php. Sugiero que copies el fichero original functions.php y lo guardes en tu escritorio. También, asegúrate de tener acceso FTP a los ficheros en tu servidor en caso de que tengas que ajustar el código de apertura o cierre, basado en lo que actualmente existe en tu fichero functions.php.

<? function get_the_user_ip() {

if ( ! empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {

//check ip from share internet

$ip = $_SERVER['HTTP_CLIENT_IP'];

} elseif ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {

//to check ip is pass from proxy

$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

} else {

$ip = $_SERVER['REMOTE_ADDR'];

}

return apply_filters( 'wpb_get_ip', $ip );

}

add_shortcode('show_ip', 'get_the_user_ip');

add_action('wp_head', 'add_google_analytics');

function add_google_analytics() { ?>

<script>

      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

    ga('create', 'UA-XXXXXXXX-1', 'auto');

    ga('send', 'pageview', {

      'dimension1':  '<?php echo get_the_user_ip();?>'

    });

</script>

<?php } ?>

¿ESTE CÓDIGO PARA VER LA DIRECCIÓN IP FUNCIONA NORMALMENTE EN WORDPRESS, BLOGSPOT O SHOPIFY?

Lo normal es que este código no funcione en los plugins de Analytics para Wordpress, Blogspot o Shopify, ya que sus plugins no ejecutan código PHP.

Añadir comentario

Comentarios

2013-07-11 - Jorge

Hola,muchas gracias por tu información ¿es posible esto en un blog de blogger?.Ya que blogger no soporta php.Muchas gracias de antemano.Saludos.

2013-07-19 - Daniel Piñero

Hola Jorge. Efectivamente, parece que Blogger no permite correr PHP. Te recomiendo que utilices un iframe que llame a un alojamiento externo donde tengas tu código guardado

2013-07-19 - javier

holame aparece en la web:_gaq.push([\'_setCustomVar\', 1, \'IP\', \'\

2013-07-19 - Daniel Piñero

Hola Javier. Necesitas incluir este código en un fichero PHP ejecutable. ¿Me pasas la URL para ver la causa del problema?

2013-07-19 - javier

holame aparece en la web:_gaq.push([\'_setCustomVar\', 1, \'IP\', \'\

2015-01-18 - Francisco Javier

Hola Daniel, Donde pone "dimension1" en el código ga('send', 'pageview', { 'dimension1': '' }); El nombre "dimension1", ¿debo haberlo creado en Google analytics? Parece un nombre personalizado. Gracias.

2015-01-18 - Daniel Piñero

Hola Francisco. Sí, debes crearlo dentro de Analytics. He colocado el enlace de cómo hacerlo dentro del post. Un saludo, Daniel.

2015-01-18 - Francisco Javier

Hola Daniel. No he visto ningún botón de responder. Respondo aquí jeje. He probado ha hacerlo con Blogger, pero el código... ga('send', 'pageview', { 'dimension1': '' }); ... produce un error. Luego lo inserté asi: ga('send', 'pageview', {'dimension1':'<?=$ip;?>'}); Blogger hace esto con algunos caracteres. Pero de de todas formas donde debería aparecer la IP en Google Analytics, aparece algo así:

2015-03-17 - Alberto

Muy interesante el artículo, he intentado seguir los pasos, pero no me registra ninguna ip. El código que dice google analytics que tengo que añadir var metricValue = '123'; ga('set', 'dimension1', metricValue); ¿Lo tengo que poner tal cual? Gracias!

2015-03-17 - Daniel Piñero

Hola Alberto. Por favor, indícame el sitio web donde estas subiendo el código para poder ayudarte. Un saludo, Daniel.

2015-03-20 - Daniel

Hola, eh seguido los pasos pero nome registra ninguna IP dentro de mi reporte, espero poder contar con tu apoyo. Estoy usando Analytics tradicional y mi página web es www.amasi.com.mx Muchas gracias.

2015-03-21 - Daniel Piñero

Hola Daniel. ¿En qué plataforma está programado este sitio web? Me puedes escribir directamente a mi correo electrónico. Un saludo, Daniel.

2015-06-05 - Veronica Olvera

Hola subi esto a mi pagina web pero no he obtenido ninguna IP. Podrias apoyarme

2015-06-05 - Daniel Piñero

Por favor indícame cuál es tu página web. Un saludo, Daniel.

2015-08-28 - Erickson Vasquez

Hola Daniel Piñero, muy buen tutorial te felicito. Sin embargo antes de hacerlo me gustaría que me aclararas las siguiente duda. ¿Esto no infringe las políticas de Google Analytics? Gracias de antemano.

2015-08-28 - Daniel Piñero

Hola Erickson. Yo lo he usado y no ha habido problemas. Puede ser contrario a políticas europeas, pero Google Analytics no suele poner obstáculos a esto.

2015-09-13 - Eddy J.C.

Hola Daniel, esto lo podría aplicar para un sistema web hecho en V.S. 2012 ASP.NET

2015-09-13 - Daniel Piñero

Hola Eddy. No conozco los códigos para detectar direcciones IP con ASP, pero la solución de Javascript presente en este mismo post te puede servir.

2015-10-09 - Fernando Jimenez

Hola Daniel. El codigo javascript se pone solo en el index.html o en todos los htmls que tenga mi sitio web ??

2015-10-09 - Daniel Piñero

Hola Fernando. Tienes que ponerlo en todos los HTMLs. Un saludo.

2015-10-14 - Franz

Hola Daniel, antes de todo darte la enhorabuena por tu articulo, y las gracias, porque la verdad que es muy interesante y util. te comento segui tus pasos pero tengo un problema con pegar el código de la dimension personalizada de google. La verdad que añadí la segunda linea: ga('set', 'dimension2', dimensionValue); al código de analytics, tal cual, y nada mas y claro no funciona. Me parece que falta algo. Gracias franco

2015-10-14 - Daniel Piñero

Hola Franco. ¿Me podrías indicar la URL donde estás poniendo el código? Un saludo.

2015-10-20 - franz

Hola Daniel esta es la URL: http://tufotocarcasa.es y esto es el directorio: /httpdocs/wp-content/themes/tufotocarcasa-maya/footer.php no se si te vale de esta manera. Dime tu si tengo que añadir algo. Gracias

2015-10-20 - Daniel Piñero

Hola Franz. Las líneas con "var dimensionValue" y "ga('set'...", las puedes eliminar. Por otra parte, estás utilizando dimension1 para almacenar la dirección IP. Confirma que es ésa y no dimension2. Depende de lo que hayas creado dentro de tu Analytics.

2015-10-20 - Franz

Buenas Daniel, así quedo después de eliminar las lineas y modificar la dimension de 1 a 2 : pero analytics sigue sin recibir los datos IP. Bueno si sabes como podría solucionarlo me vendría genial. Si no se puede gracias de todas formas

2015-10-20 - Daniel Piñero

El código, tal como está, debería funcionar. ¿Has creado la dimensión dentro de Google Analytics? ¿Lo tienes ya actualizado a Google Analytics Universal?

2015-10-21 - Franz

Ok, ahora funciona. Mi culpa no puse en el informe la métrica sesiones. Sorry Muchas gracias excelente post

2015-10-21 - Daniel Piñero

Hola. Me alegro de que te haya funcionado. Un saludo.

2016-06-13 - yo

que tengo que poner ahi UA-XXXXXXX-X'

2016-06-13 - Daniel Piñero

El número de tu propiedad en Google Analytics. Suele comenzar con UA.

2017-01-03 - Luis Vásquez

Hola Daniel, Me pregunto ¿cómo detecta Analytics la ubicación del visitante? ¿acaso no lo hace por la IP? Si coloco en la variable $ip solo ip's de españa (por ejemplo), analytics me dirá que todos mis visitantes vienen de España? Saludos

2017-01-03 - Daniel Piñero

Hola Luis. No. Si colocas en la variable IP sólo IPs de España, el país que muestra Analytics se mantiene intacto. La variable que estamos creando es una variable personalizada (como puede ser precio de un producto o un número aleatorio) que no tiene influencia sobre otras variables propias de Google Analytics.

2017-05-23 - Miguel

Hola Daniel, ¿Deberia mostrarme las IPs en tiempo real o cuanto tiempo es necesario esperar para conseguir datos? No consigo ver nada. Mi URL es be-studio.es. Muchas gracias.

2017-05-25 - Daniel Piñero

Se debe ver en pocos minutos mediante un reporte personalizado. He visto tu sitio web. El código está bien, por lo cual probablemente no has creado la dimensión dentro de Google Analytics.

2017-08-01 - David

Ante todo, gracias por el manual. Hay algo que no hago bien. He usado el script usando un javascript externo ya que con PHP tampoco me iba. He modificado mi UA, he creado la dimensión como decías pero nada. https://www.dropbox.com/s/havw9zn1m3axrcw/foto01.png?dl=0 https://www.dropbox.com/s/5qz8s8khuv8c1kt/foto02.png?dl=0 No se como pasarte la dirección de la web por privado, no puedo hacerla publica. Gracias de antemano

2017-08-01 - Daniel Piñero

Hola. Si te ha funcionado por Javascript y no por PHP, el problema está en el código PHP. Me puedes escribir a dpinero86@gmail.com.

2017-07-16 - javier

no logro hacer que me salga en analytycs en el menu de dimensiones la opcion IP Esto aun funciona?

2017-07-16 - Daniel Piñero

Hola. Sí funciona. En el caso de Google Analytics, debes crear una \"custom dimmension\" o \"dimensión personalizada\", como indico en el post. Te tiene que aparecer cuando creas los reportes personalizados, con el mismo nombre que le has asignado.

2017-10-24 - Ferney

Excelente tutorial! A la fecha, funciona correctamente!

2018-02-10 - David Furniet

Buenas Daniel! Para WP podemos utilizar la opción de introducir el código php que dejas al inicio seguido de universal analytics en mi caso? Es que al intentar usar el que dejas para WP no me reconoce el código de analytics el tag manager. Gracias por tu aporte!

2018-02-10 - Daniel Piñero

Hola David. WP no permite introducir código PHP. Hay una solución en este mismo post específica para Wordpress.

2018-02-01 - Lola

Hola. Pregunta: ¿para WP sólo es necesario añadir el código de la descripción cambiando el UA? ¿O también es necesario crear la dimensión? Excelente tutorial. Muchas gracias

2018-02-01 - Daniel Piñero

Hola Lola. También tienes que crear la dimensión.

2018-03-06 - Cristian Veloso

Daniel, tengo identificar el pais o ciudad de un visitante a mi sitio de manera online, para mostrarle publicidad dirigida, entiendo que esto se puede hacer a traves de su direccion IP, pero desconozco bien como ¿tu me puedes dar una mano con eso? saludos!

2018-03-20 - Daniel Piñero

Hola Cristian. Esto suele configurarse directamente desde tu gestor de publicidad.

2019-04-03 - Tony garcia

Hola Daniel! muchas gracias por el Post realmente me funciona muy bien!!! Quería preguntarte una cosa, las IP que se muestran, si hubiera alguna forma de saber que páginas han visitado, muchas gracias de ante mano. Saludos!