javascript - una - google tag manager
¿Cómo rastrear con Google Analytics en una página de redireccionamiento con PHP? (5)
Generalmente hablando
Si su página utiliza redirecciones, la página de redirección se convierte en el referente de la página de destino. Por ejemplo, si ha cambiado su sitio para que index.html ahora redireccione a home.html, entonces index.html se convierte en la referencia para home.html. Si alguien llegó a su sitio a través de una búsqueda en Google que lo envió primero a index.html, no tendrá ningún dato relacionado con la búsqueda en Google.
Por este motivo, debe colocar el código de seguimiento de Google Analytics en la página de redireccionamiento, así como en la página de destino. De esta manera, la página de redireccionamiento capturará la información de referencia real para sus informes.
Tenga en cuenta que algunos navegadores pueden redirigir antes de que se pueda realizar la llamada de JavaScript desde el código.
(consulte https://support.google.com/analytics/answer/1009614?hl=en )
Tu caso especifico
Dado que PHP se procesa y ejecuta antes que cualquier Javascript, el rastreador de Google Analytics no tiene oportunidad de enviar datos a su servidor.
Soluciones
Teniendo en cuenta que no puede realizar un seguimiento de una página de redireccionamiento de PHP, hay varias alternativas posibles:
- Redirección de Javascript: https://stackoverflow.com/a/4745622/1672895
window.location = "http://www.yoururl.com";
- Meta actualización: https://stackoverflow.com/a/8692559/1672895
-
<meta http-equiv="refresh" content="5; url=http://example.com/">
-
- Seguimiento de página virtual: https://developers.google.com/analytics/devguides/collection/analyticsjs/pages
-
ga(''send'', ''pageview'', ''/index.php?id=32'');
-
- Seguimiento de campañas ( no usaría este método personalmente en este caso específico ) .
-
/products.php?utm_source=index&utm_medium=redirection-page&utm_campaign=32
-
Los dos últimos elementos de la lista se implementan en los enlaces individuales de la página inicial antes de ingresar a la página de redirección de PHP.
Tengo un sitio web donde quiero hacer un seguimiento de quién ha hecho clic en enlaces específicos con GA.
Digamos que tengo esta página: /index.php?id=32
En esta página ejecuto alguna consulta basada en la variable ID (en este caso: 32), y obtengo la URL del elemento 32 id desde la base de datos para redirigir al visitante.
Estoy usando una función de PHP: header (''Location: http://www.example.com '') ;. Antes de redirigir al usuario, quiero que Google capture la información del visitante y que luego redirija a la página web deseada.
He intentado pegar el código GA y ECHO justo antes de la redirección, pero no funcionó. ¿Cómo es posible rastrear este tipo de páginas con GA?
Si deshabilita la redirección e inspecciona la página, ¿ve que se está realizando una llamada a GA en la pestaña de su red? Descubrí que a veces los eventos push no aparecen en GA durante aproximadamente 24 horas.
Si ve que se está enviando a Google, lo dejaría habilitado y esperaría un día antes de verificar GA para ver si se ha registrado algo.
Si observa su registro de errores, verá un error que dice aproximadamente "No se puede enviar el encabezado de redireccionamiento, el encabezado ya se envió". No es posible realizar una redirección a través del encabezado de la ubicación cuando ya ha tenido una salida HTML / Javascript antes de su fragmento de código PHP (porque en ese momento ya ha enviado implícitamente sus encabezados http).
Sería posible usar el protocolo de medición de Google para crear una solución del lado del servidor que rastree la página antes de redirigir. En ese caso, deberá crear un ID de cliente usted mismo y, en caso de que las propiedades que redirija sean suyas, adjúntelo a la URL de redireccionamiento para el seguimiento entre dominios.
Si eso no te preocupa, puedes usar Curl o fopen para enviar una llamada a GA a través de una URL como esta:
https://www.google-analytics.com/collect?v=1&tid=UA-XXXX-Y&cid=XXXXXXXXt=pageview&dp=%2redirect
Donde UA-XXXX-Y es el ID de cuenta de google, cid es el ID de cliente que generó y / redirect es el nombre de su página. Si desea reconocer a los usuarios recurrentes, debe guardar el ID de cliente en una cookie y comprobar si existe una cookie y recuperar el ID si es así.
Sugeriría algo como lo siguiente. Utiliza hitCallback para hacer la redirección, por lo que el evento se enviará a GA y luego se producirá la redirección. También establece un Tiempo de espera para que analytics.js no esté disponible (por el motivo que sea) el espectador todavía (eventualmente) se envíe al lugar correcto.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>example</title>
<script>
setTimeout(redirect, 2000);
var redirected = false;
function redirect() {
if (!redirected) {
redirected = true;
location.href = ''http://your.website.here.com'';
}
}
(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'',''https://www.google-analytics.com/analytics.js'',''ga'');
ga(''create'', ''UA-NNNNNNN-N'', ''auto'');
ga(''send'', ''event'', ''Event Name'', ''redirect'', {
hitCallback: redirect
});
</script>
</head>
<body>
</body>
</html>
Por supuesto, los códigos de seguimiento y las URL deben actualizarse para que coincida con el suyo.
Referencias:
Ya que la página que está enviando visitantes a la redirección también está bajo su control, sugeriría un enfoque totalmente diferente: use el seguimiento de eventos en la página de origen.
En la página que tiene el enlace /index.php?id=32
, mida todos los clics en este enlace adjuntando un controlador onClick
al enlace y ejecutando algo como
ga(''send'', ''event'', {
eventCategory: ''Redirect Link'',
eventAction: ''click'',
eventLabel: event.target.href
});