Google AdWords ahora se llama Google Ads. Este nuevo nombre refleja toda la gama de opciones publicitarias que ofrecemos en las redes de Búsqueda y de Display, en YouTube y en muchos otros sitios y plataformas web. Más información

344 anunciantes en línea
344 anunciantes en línea
Aquí encontraras toda la información necesaria sobre la implementación de tus códigos de seguimiento en Google Analytics. ¡Pregunta a nuestros expertos todas tus dudas!
Guiame
favorite_border
Responder

Contabilizar las visitas a ficheros PDF

Novato ✭
# 1
Novato ✭

Hola.


Estoy desarrollando la web de una revista, que tiene muchos archivos en PDF. ¿Existe alguna manera en Analytics de contabilizar las visitas a estos ficheros?
 
Gracias de antemano. Un cordial saludo.
1 SOLUCIÓN ACEPTADA

Soluciones aceptadas
Marcado como solución aceptada.
Solución
Aceptado por el autor del tema Alberto
julio 2017

Re: Contabilizar las visitas a ficheros PDF

Profesor ✭
# 2
Profesor ✭

 Hola @Alberto,

¿Existe alguna manera en Analytics de contabilizar las visitas a estos ficheros?

Técnicamente, sí se puede. Pero la ejecución del código javascript depende del tipo de lector usado y su versión. No es lo mismo para el preview del Mac, que para el Acrobat Reader, y para éste último no es lo mismo una versión que la siguiente, en Windows o en Mac…

O sea, que en la práctica no es suficientemente universal.

 

Además, debido a implicaciones de seguridad asociadas a la ejecución de código en un pdf, normalmente se mostraría un mensaje al usuario alertando del hecho que se pretende ejecutar código…

 

También hay empresas que comercializan sistemas de seguimiento de entrega y lectura de PDF. La mayoría de ellas lo que hacen es subir el PDF a un servidor y trazar la apertura del PDF alojado en su servidor, pero no tanto lo que sucede dentro del pdf.

 

Otra opción es hacer que el servidor se encargue (vía measurement protocol) de informar a Analytics de la apertura del PDF. Puedes leer más sobre eso, aquí.

 

En la práctica, suelo preferir enviar un hit a Analytics cuando el usuario clica en el enlace que lo abre. Bronwyn (una crack de la comunidad en inglés) nos propone esta solución para lanzar un evento:

 

<script type='text/javascript'>
if (typeof jQuery != 'undefined') {
    var filetypes = /\.(pdf)$/i;
    var baseHref = '';
    if (jQuery('base').attr('href') != undefined) baseHref = jQuery('base').attr('href');
    var hrefRedirect = '';
 
    jQuery('body').on('click', 'a', function(event) {
        var el = jQuery(this);
        var track = true;
        var href = (typeof(el.attr('href')) != 'undefined' ) ? el.attr('href') : '';
        var isThisDomain = href.match(document.domain.split('.').reverse()[1] + '.' + document.domain.split('.').reverse()[0]);
        if (!href.match(/^javascript&colon;/i)) {
            var elEv = []; elEv.value=0, elEv.non_i=false;
            if (href.match(filetypes)) {
                var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;
                elEv.category = 'download';
                elEv.action = 'click-' + extension[0];
                elEv.label = href.replace(/ /g,'-');
                elEv.loc = baseHref + href;
            }
            else track = false;
 
            if (track) {
                var ret = true;
 
                if((elEv.category == 'download') && (el.attr('target') == undefined || el.attr('target').toLowerCase() != '_blank') ) {
                    hrefRedirect = elEv.loc;
 
                    ga('send','event', elEv.category.toLowerCase(),elEv.action.toLowerCase(),elEv.label.toLowerCase(),elEv.value,{
                        'nonInteraction': elEv.non_i ,
                        'hitCallback':gaHitCallbackHandler
                    });
 
                    ret = false;
                }
                else {
                    ga('send','event', elEv.category.toLowerCase(),elEv.action.toLowerCase(),elEv.label.toLowerCase(),elEv.value,{
                        'nonInteraction': elEv.non_i
                    });
                }
 
                return ret;
            }
        }
    });
 
    gaHitCallbackHandler = function() {
        window.location.href = hrefRedirect;
    }
}
</script>

Es fácil cambiarla para que genere una página vista virtual. Hace falta jQuery para que funcione e insertarla tras el código de Analytics.

 

Espero que te ayude !

 

Saludos,

 

 

Xavier Serra
Si la respuesta ha solucionado tu problema, ayuda a los futuros compañeros marcándola como solución aceptada.

Ver la solución en mensaje original publicado

Marcado como solución aceptada.
Solución
Aceptado por el autor del tema Alberto
julio 2017

Re: Contabilizar las visitas a ficheros PDF

Profesor ✭
# 2
Profesor ✭

 Hola @Alberto,

¿Existe alguna manera en Analytics de contabilizar las visitas a estos ficheros?

Técnicamente, sí se puede. Pero la ejecución del código javascript depende del tipo de lector usado y su versión. No es lo mismo para el preview del Mac, que para el Acrobat Reader, y para éste último no es lo mismo una versión que la siguiente, en Windows o en Mac…

O sea, que en la práctica no es suficientemente universal.

 

Además, debido a implicaciones de seguridad asociadas a la ejecución de código en un pdf, normalmente se mostraría un mensaje al usuario alertando del hecho que se pretende ejecutar código…

 

También hay empresas que comercializan sistemas de seguimiento de entrega y lectura de PDF. La mayoría de ellas lo que hacen es subir el PDF a un servidor y trazar la apertura del PDF alojado en su servidor, pero no tanto lo que sucede dentro del pdf.

 

Otra opción es hacer que el servidor se encargue (vía measurement protocol) de informar a Analytics de la apertura del PDF. Puedes leer más sobre eso, aquí.

 

En la práctica, suelo preferir enviar un hit a Analytics cuando el usuario clica en el enlace que lo abre. Bronwyn (una crack de la comunidad en inglés) nos propone esta solución para lanzar un evento:

 

<script type='text/javascript'>
if (typeof jQuery != 'undefined') {
    var filetypes = /\.(pdf)$/i;
    var baseHref = '';
    if (jQuery('base').attr('href') != undefined) baseHref = jQuery('base').attr('href');
    var hrefRedirect = '';
 
    jQuery('body').on('click', 'a', function(event) {
        var el = jQuery(this);
        var track = true;
        var href = (typeof(el.attr('href')) != 'undefined' ) ? el.attr('href') : '';
        var isThisDomain = href.match(document.domain.split('.').reverse()[1] + '.' + document.domain.split('.').reverse()[0]);
        if (!href.match(/^javascript&colon;/i)) {
            var elEv = []; elEv.value=0, elEv.non_i=false;
            if (href.match(filetypes)) {
                var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;
                elEv.category = 'download';
                elEv.action = 'click-' + extension[0];
                elEv.label = href.replace(/ /g,'-');
                elEv.loc = baseHref + href;
            }
            else track = false;
 
            if (track) {
                var ret = true;
 
                if((elEv.category == 'download') && (el.attr('target') == undefined || el.attr('target').toLowerCase() != '_blank') ) {
                    hrefRedirect = elEv.loc;
 
                    ga('send','event', elEv.category.toLowerCase(),elEv.action.toLowerCase(),elEv.label.toLowerCase(),elEv.value,{
                        'nonInteraction': elEv.non_i ,
                        'hitCallback':gaHitCallbackHandler
                    });
 
                    ret = false;
                }
                else {
                    ga('send','event', elEv.category.toLowerCase(),elEv.action.toLowerCase(),elEv.label.toLowerCase(),elEv.value,{
                        'nonInteraction': elEv.non_i
                    });
                }
 
                return ret;
            }
        }
    });
 
    gaHitCallbackHandler = function() {
        window.location.href = hrefRedirect;
    }
}
</script>

Es fácil cambiarla para que genere una página vista virtual. Hace falta jQuery para que funcione e insertarla tras el código de Analytics.

 

Espero que te ayude !

 

Saludos,

 

 

Xavier Serra
Si la respuesta ha solucionado tu problema, ayuda a los futuros compañeros marcándola como solución aceptada.

Contabilizar las visitas a ficheros PDF

Novato ✭
# 3
Novato ✭

Hola Xavier. Muchas gracias por tu excelente respuesta.

 

Un cordial saludo.

Contabilizar las visitas a ficheros PDF

Graduado ✭ ✭
# 4
Graduado ✭ ✭

Excelente aportación! Xabier, siempre se aprende algo de tus post.