Jump to content

[G.Analytics] Como hacer seguimiento de los adjuntos (attachment.php)?


locojaen

Recommended Posts

Hola,

 

Tengo esa duda, teniendo integrado analytics (asíncrono) en prestashop,

 

¿Como puedo efectuar un seguimiento del nº de descargas de los ficheros adjuntos?

 

Navegando he encontrado que se deben usar los 'Eventos', incluyendo en cada enlace de descarga algo así:

 

<a href="#" onClick="_gaq.push(['_trackEvent', 'Descargas', 'PDF', 'Producto_1']);">Link</a>

Pero no lo logro, verificando los informes de analytics, en las paginas de destino, es buscado encontrar "/attachments.php" pero no hay nada... pensándolo es lógico, en realidad eso devuelve un fichero y no una página... pero entonces como logramos en nuestras tiendas hacer seguimiento de pj: número de descargas de ficheros adjuntos, visualización de videos... incluso número de veces que hacen click hacia enlaces externos...

 

¿Alguna idea/ayuda?

Link to comment
Share on other sites

Si sí, perdona, he escrito rápido y he mezclado cosas (eventos y páginas destino).

 

Añadiendo ese trozo de código (PD: más info aquí) en cada enlace, se "activa" el tracking de eventos, aportando la jerarquía de clasificación.

Teóricamente los informes se consultan donde comentas, pero no se pq, no funciona en la tienda, no registra los eventos.

 

¿Pudiera ser que Prestashop bloquease la ejecución javascrip dentro de los .tpl? Seguramente estoy diciendo una salvajada (no entiendo mucho tampoco)... pero entonces tampoco funcionaria el track de página que se carga en el .tpl del header.....

 

Estoy perdido... y me parece muy interesante, para ratrear la cantidad de descargas de cada .pdf, registro de acciones sobre los videos... incluso el trafico que sale a través de los enlaces salientes de la tienda... es una gran cantidad de información útil para valorar la calidad de contenidos, que cosas funcionan más y que cosas funcionan menos...

Link to comment
Share on other sites

mmm entiendo, pero el código está dentro de la etiqueta <a> del enlace.. es decir, el .tpl tiene esta pinta:

 

<a href="{$base_dir}attachment.php?id_attachment=8" onClick="_gaq.push(['_trackEvent', 'Descargas', 'PDF', '/contact-form/formulario.pdf', '0']);"><img src="{$img_dir}icon/download.png" alt="form" width="32" height="32"></a>

 

Es decir, pj he creado dentro del contact-form de prestashop un enlace (imagen) que descarga un formulario .pdf; siguiendo el código de google, se añade el "onClick..."

Edited by locojaen (see edit history)
Link to comment
Share on other sites

Igual podrías probar con esto a ver que sucede :

 

{php}
<a href="{$base_dir}attachment.php?id_attachment=8" onClick="_gaq.push(['_trackEvent', 'Descargas', 'PDF', '/contact-form/formulario.pdf', '0']);"><img src="{$img_dir}icon/download.png" alt="form" width="32" height="32"></a>
{/php}

 

 

Otra forma es ponerlo en el código php y pasarlo como variable usando smarty al tpl.

Edited by petete2008 (see edit history)
Link to comment
Share on other sites

Hola,

 

gracias por la ayuda, lo he probado, con {php} y la pagina se queda en blanco.

tambien he probado el añadir...

 

onClick="{literal}_gaq.push(['_trackEvent', 'Descargas', 'PDF', '/contact-form/formulario.pdf', '0']);{/literal}"

 

que si bien, la pagina funciona, sigue sin registrar el evento....

Edited by locojaen (see edit history)
Link to comment
Share on other sites

Qué raro, yo optaría por hacer un php muy sencillito por tu parte e independiente de prestashop y poner ese código en un enlace de descarga para ir probando y descartando cosas.

A mi ahora mismo no se me ocurre que puede estar pasando, pero seguro que es un chorrada!!

Link to comment
Share on other sites

  • 6 months later...

Hola a todos,

 

Yo os propongo una solución casera que acabo de generar para el Prestashop 1.5.

 

Primero he creado una nueva tabla tal que así:

 

CREATE TABLE IF NOT EXISTS `lc_descargas` (

`id_attachment` int(11) NOT NULL,

`fecha` date NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

Después, he añadido este código en el archivo ./controllers/front/AttachmentController.php justo antes de las sentencias header.

 

$sql = "INSERT INTO lc_descargas(id_attachment,fecha) VALUES(".(int)Tools::getValue('id_attachment').",'".date('Y-m-d')."')";

if (!Db::getInstance()->Execute($sql))

die('Erreur etc.');

 

Por último, lanzo esta SQL dentro del administrador de SQL del BackOffice de Prestashop:

 

SELECT pp.name as Producto, count(lc.id_attachment) as Descargas, lc.fecha as Fecha FROM `ps_product_attachment` pa, `ps_product_lang` pp, `lc_descargas` lc

WHERE lc.id_attachment=pa.id_attachment

AND pa.id_product=pp.id_product

AND pp.id_lang=4

GROUP BY lc.id_attachment,lc.fecha

ORDER BY lc.fecha;

 

Es una solución rápida y no demasiado complicada para realizar un seguimiento básico de las descargas disponibles dentro de la web. Lógicamente, realizar un seguimiento mediante Analytics es mucho mejor debido a todos los informes que se pueden generar. Pero bueno, mientras descubrimos cómo hacerlo rular... podemos ir gastando este código.

 

¿Que os parece el invento?

Link to comment
Share on other sites

Hola, pruébalo así, GA se debe volver loco con la extensión y carpeta/subcarpeta de la acción a trackear

 

<a href="{$base_dir}attachment.php?id_attachment=8" onClick="_gaq.push(['_trackEvent', 'Descargas', 'PDF', 'formulariopdf', '0']);"><img src="{$img_dir}icon/download.png" alt="form" width="32" height="32"></a>

Link to comment
Share on other sites

  • 2 weeks later...
  • 5 months later...

Bien, rescato este tema, porque por fin, y sin buscarlo (como suele pasar), hoy me he topado con la solución:

 

<a href="url_enlace" onclick="_gaq.push(['_trackEvent','categoria','accion','etiqueta']);" target="_blank">Link</a>

 

Claves:

1. Las variables separadas por coma, van juntas, sin espacio después de la coma.

2. Es necesario indicar el atributo "target", y sólo funciona con "_blank"

 

Después de varias pruebas, sólo así ha funcionado. El razonamiento no lo sé, pero si entre variables pones un espacio -> no funciona; si no pones el atributo target, o bien le das el resto de valores -> no funciona.

 

Por fin, puedo registrar los eventos!!!!!

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...