Primero que nada, lamento el título. Realmente debería dejar de usar la palabra “easy”, ya que la gente siempre me cube que las cosas que digo que son fáciles y directas rara vez lo son. Pero como este es mi weblog, me reservo el derecho de utilizar cualquier terminología estúpida y engañosa que desee. Sostengo que lo que sigue ES bastante easy, especialmente si se considera la cantidad de complejidad que cut back en su Análisis common configuración.
A continuación, quiero dirigir tu mirada a mi última creación de Keynote/PowerPoint:
Esta obra de arte se llama “…mientras se espera el cosmos”. Nótese los enigmáticos puntos suspensivos al principio, la falta de mayúsculas y el hecho de que el título no tiene nada que ver con la imagen. Sí, amigo. ¡Esto es posmodernismo en su máxima expresión!
Entonces, supongo que mi increíble arte de alguna manera reveló lo que quiero mostrarles en este artículo. En resumen, es un pequeño complemento easy que he estado usando en los proyectos en los que trabajo y que duplica todas las visitas enviadas a una propiedad de Google Analytics. Estas visitas duplicadas se envían a otro Propiedad de Google Analytics, cuyo ID de propiedad especifica al iniciar el complemento.
Este tutorial utiliza un Complemento de análisis common (d’oh), que, a su vez, utiliza el API de tareas.
Antes de continuar, quiero dirigirte a El weblog de David Vallejo.donde él y un grupo de otras personas están trabajando juntos en un proyecto de código abierto que hace cosas similares, pero en un nivel MUCHO más configurable. El complemento que estoy a punto de explicarle simplemente creará una exacto duplicado del hit que enviaste, sin permitirte modificar la carga útil ni un bit.
¿Por qué, te preguntarás? Bueno, una cantidad sorprendentemente grande de proyectos con los que trabajo necesitan una propiedad “acumulada”, que recopila datos de todos los sitios de la organización. Los datos enviados al paquete acumulativo a menudo reflejan lo que se recopila en los sitios locales. Es toda una tarea duplicar ship
comandos en todos los rastreadores, por lo que si el proyecto está bien con una easy duplicación, uso este complemento.
ADVERTENCIA: Esto será mejor trabajar con rastreadores con nombre. De este modo Administrador de etiquetas de Google Configurar esto en Google Tag Supervisor es difícil, ya que tendrás que lidiar con el Nombre del rastreador campo. Si confía en sus habilidades de implementación de GTM, no dude en hacer lo que desee, por supuesto. Sin embargo, en su estado precise, el complemento se adapta mejor a una implementación de Common Analytics en la página.
incógnita
El boletín a fuego lento
Suscríbete al Boletín a fuego lento para recibir las últimas noticias y contenido de Simo Ahava en su bandeja de entrada de correo electrónico.
Modificar el código de seguimiento
Para que esto funcione, deberá realizar un pequeño cambio en su código de seguimiento de Common Analytics. Digamos que el código se ve así ahora:
<script>
(perform(i,s,o,g,r,a,m))(window,doc,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-12345-1', 'auto');
ga('ship', 'pageview');
script>
Deberá agregar la siguiente modificación:
<script>
(perform(i,s,o,g,r,a,m))(window,doc,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-12345-1', 'auto');
// ADD THIS LINE:
ga('require', 'simolatorDuplicator', {'newId' : 'UA-12345-2'});
ga('ship', 'pageview');
script>
Hay una única adición: ga('require', 'simolatorDuplicator', {'newId' : 'UA-12345-2'});
. Esta línea invoca un complemento llamado simolatorDuplicator
(¡Lo sé! ¡El nombre de complemento más increíble del UNIVERSO!), después de lo cual pasas un objeto con un único par clave-valor: {newId : newTrackerId}
. En lugar de newTrackerId
colocas un String con el ID de la propiedad de Google Analytics a la que deseas duplicar todos los hits.
El complemento en sí
Hay dos formas rápidas y fáciles (perdón por esas palabras nuevamente) de cargar el complemento. O hospedarlo en su propio archivo JavaScript que luego carga con un loader, o simplemente ejecute el código en la propia plantilla de página.
Lo importante es que el El código del complemento debe cargarse DESPUÉS del código de seguimiento.. El código se ve así:
(perform() {
var ga = window(window('GoogleAnalyticsObject'));
var GADuplicate = perform(tracker, propertyId) {
var o = tracker.get('sendHitTask');
var temp;
tracker.set('sendHitTask', perform(mannequin) {
o(mannequin);
temp = mannequin.get('hitPayload').substitute(new RegExp(mannequin.get('trackingId'), 'g'), propertyId.newId);
if (temp) {
mannequin.set('hitPayload', temp, true);
o(mannequin);
}
});
};
ga('present', 'simolatorDuplicator', GADuplicate);
})();
Entonces escribe esto en un archivo llamado algo.js (siéntase libre de reemplazar algo con algo más), o simplemente agregue el código en su propio bloque después del fragmento de seguimiento.
<script>
// GA Monitoring code right here
script>
<script src="one thing.js" async>script>
<script>
// GA Monitoring code right here
script>
<script>
(perform() {
var ga = window(window('GoogleAnalyticsObject')) || perform() {};
var GADuplicate = perform(tracker, config) {
var o = tracker.get('sendHitTask');
var temp;
tracker.set('sendHitTask', perform(mannequin) {
o(mannequin);
temp = mannequin.get('hitPayload').substitute(new RegExp(mannequin.get('trackingId'), 'g'), config.newId);
if (temp) {
mannequin.set('hitPayload', temp, true);
o(mannequin);
}
});
};
ga('present', 'simolatorDuplicator', GADuplicate);
})();
script>
Ambos están igualmente bien, aunque para mantener las cosas bonitas y ordenadas recomiendo el primer método.
Demos un rápido recorrido por el código.
(perform() {
var ga = window(window('GoogleAnalyticsObject')) || perform() {};
...
ga('present', 'simolatorDuplicator', GADuplicate);
})();
Estas líneas envuelven el código del complemento en un expresión de función inmediatamente invocadaque uso para proteger el espacio de nombres world. No, no necesitabas entender nada de eso.
La siguiente línea establece el ga()
interfaz localmente, asignándola al objeto world de Google Analytics. Esto es para que el complemento siga funcionando incluso si ha cambiado el nombre de la interfaz GA world de ga
a otra cosa.
Después del código del complemento (representado por “…”), ponemos el complemento a disposición del ga
interfaz. Esta es una línea muy importante, ya que es la contraparte de la ga('require', 'simolatorDuplicator'...);
Comando utilizado en el código de seguimiento. Si no tuviera esta línea, o si tuviera un error tipográfico en el nombre del complemento, ¡su código GA no funcionaría en absoluto! Así que recuerda probar, probar, PROBAR.
A continuación, el propio constructor del complemento:
var GADuplicate = perform(tracker, config) {
var o = tracker.get('sendHitTask');
var temp;
tracker.set('sendHitTask', perform(mannequin) {
o(mannequin);
temp = mannequin.get('hitPayload').substitute(new RegExp(mannequin.get('trackingId'), 'g'), config.newId);
if (temp) {
mannequin.set('hitPayload', temp, true);
o(mannequin);
}
});
};
Muchas cosas están pasando aquí.
Primero, la expresión de la función establece una nueva función llamada GADuplicate
que toma dos parámetros: tracker
y config
. El tracker
La lógica del complemento pasa automáticamente el parámetro y contiene una referencia al objeto de seguimiento de Common Analytics que invocó el complemento. El config
El objeto se pasa como parámetro en el código de seguimiento modificado. es el {'newId' : 'UA-12345-2'}
que cubrimos anteriormente.
A continuación, hacemos una copia del authentic. sendHitTask
. Este pequeño método es en realidad toda la lógica de envío de Analytics.js, por lo que lo necesitaremos para enviar nuestros datos a Google Analytics.
Lo necesitamos especialmente porque en la línea siguiente después de las declaraciones de variables exagerar el sendHitTask
del rastreador por uno nuevo!
Primero, el authentic sendHitTask
copiado temporalmente al método o()
se utiliza para enviar el hit routine a Common Analytics. ¡Esto es realmente importante, ya que sin esto solo estarías enviando tu visita duplicada!
Luego, tomamos el hitPayload
que acaba de enviar a GA y reemplazamos todas las instancias del ID de propiedad precise con el nuevo ID de propiedad que configuró en el código de seguimiento. Esta es la lógica principal de este complemento. Tomamos la carga útil, la enviamos primero regularmente y luego la modificamos y enviamos la versión modificada. Al usar mannequin.set('hitPayload', temp, true);
Estamos reescribiendo la carga útil, que luego se envía con una nueva invocación del o()
método.
Sostengo que es bastante easy si lo piensas, pero naturalmente requiere cierta comprensión de cómo funcionan las API. Así que siéntete libre de sumergirte en la documentacion.
¡Y eso es todo! Ese es el código, la configuración y la implementación. Recuerde, deberá modificar el código de seguimiento en consecuencia en todas las páginas de su sitio donde desee utilizar este complemento. También puedes usarlo con rastreadores con nombre; simplemente modifique la llamada del complemento a:
ga('myNamedTracker:require', 'simolatorDuplicator', {'newId' : 'UA-12345-2'});
Y Sípuedes cambiar el nombre del complemento a otro que no sea simolatorDuplicator
aunque te amaré un poco menos si lo haces.
Resumen
Por favor recuerde, este es un exacto golpear el método de duplicación. Si desea modificar la carga útil, deberá agregar algo de lógica adicional al código y realmente le recomiendo que consulte el enlace al weblog de David Vallejo en el capítulo introductorio de este artículo.
¡Avíseme si tiene problemas con esto o si tiene sugerencias! Pruebe esto a fondo antes de implementarlo. Estás jugando con un código que potencialmente puede paralizar tu implementación de Google Analytics.