Mi rispondo da solo o meglio ci provo.
Per tentare di risolvere la questione ho creato due file in php, uno chiamato pdf.php e uno word.php nella root del sito.
Questi due file non fanno altro che scaricare i due file PDF e DOC tramite chiamate header().
Questo il file (edulcorato) chiamato pdf.php l'altro è uguiale, cambia solo il nome del file da scaricare.
[PHP]
<?php
/*
* Esegue il download di un file in PDF
*/
ob_start();
session_start();
if (filter_has_var(INPUT_GET, 'id') && filter_input(INPUT_GET, 'id') == 'MA_CIAO.pdf') {
// file riconosciuto
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="MA_CIAO.pdf"');
header('Content-Transfer-Encoding: binary');
readfile('MA_CIAO.pdf');
} echo false;
?><!-- Google Analytics -->
<script>
var _gaq=[['_setAccount','UA-XXXXXXX-10'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script><?php
// Svuoto la cache finché c'è qualcosa.
while (ob_get_level() > 0) {
ob_end_flush();
}
// ripristino il flusso dati se non ce ne sono in origine.
if (ob_get_length() === false) {
ob_start();
}
?>
[/PHP]
Come si vede il file prima di tutto controlla che nella GET ci sta qualche cosa e se questo qualche cosa è il nome del file da scaricare, poi esegue le chiamate header e infine legge il file che non fa altro che scatenare lo scaricamento nel browser.
L'ho provato sia con Firefox che con IE8 e funziona, ma non con altri browser quindi sperem.
Subito dopo chiudo il costrutto PHP e apro la sessione HTML che non è altro se non la chiamata ad Analytics, quindi riapro la sessione PHP per svuotare il flusso aperto con ob_start.
In questo modo, credo, la chiamata al file (pdf o word) dovrebbe essere interpretata da Analytics come un vero accesso ad una pagina e quindi conteggiato.
Notare che per funzionare bene ai fini si una statistica ogni file da scaricare va chiamato con un file php a parte (anche se sto pensando che forse, cambiando la get ci sia il caso che Analytics lo interpreti ogni volta in modo diverso, ma non so).
La chiamata e quindi lo scarico del file si fa così:
[HTML]<a href="pdf.php?id=nomefile.pdf">Scarica il file in formato PDF</a> | <a href="word.php?id=nomefile.doc">Scarica il file in formato DOC</a>[/HTML]
Tutto qui. Per ora!
M.