locojaen Posted May 15, 2012 Share Posted May 15, 2012 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 More sharing options...
petete2008 Posted May 15, 2012 Share Posted May 15, 2012 Interesante Post. Los eventos los recoje analytics en : Contenido –> Eventos Link to comment Share on other sites More sharing options...
locojaen Posted May 15, 2012 Author Share Posted May 15, 2012 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 More sharing options...
petete2008 Posted May 15, 2012 Share Posted May 15, 2012 Dentro del TPL pon el codigo javascript encerrado por : {literal} ... codigo javascript... {/literal} Link to comment Share on other sites More sharing options...
locojaen Posted May 15, 2012 Author Share Posted May 15, 2012 (edited) 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 May 15, 2012 by locojaen (see edit history) Link to comment Share on other sites More sharing options...
locojaen Posted May 16, 2012 Author Share Posted May 16, 2012 ¿Alguien que tenga configurados seguimiento de Eventos? ¿Como lo ha conseguido? Link to comment Share on other sites More sharing options...
petete2008 Posted May 16, 2012 Share Posted May 16, 2012 (edited) 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 May 16, 2012 by petete2008 (see edit history) Link to comment Share on other sites More sharing options...
locojaen Posted May 16, 2012 Author Share Posted May 16, 2012 (edited) 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 May 16, 2012 by locojaen (see edit history) Link to comment Share on other sites More sharing options...
petete2008 Posted May 16, 2012 Share Posted May 16, 2012 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 More sharing options...
locojaen Posted May 20, 2012 Author Share Posted May 20, 2012 Pues lo cierto es que no lo logro... de ninguna manera... que cosa mas raaaara... Link to comment Share on other sites More sharing options...
Luis Cambra Posted November 29, 2012 Share Posted November 29, 2012 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 More sharing options...
jordiob Posted November 29, 2012 Share Posted November 29, 2012 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 More sharing options...
jordiob Posted November 29, 2012 Share Posted November 29, 2012 Además, te aconsejo hacerlo por jQuery: http://jordiob.com/2012/08/prestashop-google-analytics-que-eventos-medir-y-como-medirlos/ Link to comment Share on other sites More sharing options...
petete2008 Posted December 10, 2012 Share Posted December 10, 2012 Conseguistes solucionarlo? Link to comment Share on other sites More sharing options...
locojaen Posted May 30, 2013 Author Share Posted May 30, 2013 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 More sharing options...
jordiob Posted May 30, 2013 Share Posted May 30, 2013 Buena esa! yo normalmente lo hago por jQuery así que no le paso los onclick directamente al href Link to comment Share on other sites More sharing options...
Feliz Garcia Posted May 30, 2013 Share Posted May 30, 2013 Buena esa! yo normalmente lo hago por jQuery así que no le paso los onclick directamente al href ¿Como se hace eso? Gracias, Link to comment Share on other sites More sharing options...
jordiob Posted May 31, 2013 Share Posted May 31, 2013 ¿Como se hace eso? Gracias, Lo tienes explicado en este post http://jordiob.com/2012/08/prestashop-google-analytics-que-eventos-medir-y-como-medirlos/ Link to comment Share on other sites More sharing options...
Recommended Posts