Dans une démarche de logiciel libre, on serait tentée de répondre : “à ce qui vous plaît”. On peut néanmoins imaginer deux situations où disposer de deux instances de Piwik qui surveillent le même site peut s'avérer utile.
Celle que nous avons vécue est l'utilisation conjointe de deux configurations différentes afin de comparer les résultats obtenus1). Il aurait également pu s'agir de tester deux configurations de plate-forme hébergeant Piwik, dans un but d'optimisation des ressources, sur un site réel, sans discontinuité de plate-forme de production. Dans ce cas, le Piwik de référence n'est pas touché et l'on peut conduire un analyse comparative dans des conditions d'utilisation rigoureusement identiques.
Lorsque deux (ou plus) entités devant suivre la fréquentation d'un même souhaitent disposer de leur propre instance, pour de bonnes ou de mauvaises raisons, les deux (ou plus) doivent être servies2).
Il suffit d'insérer un code javascipt différent de celui proposé en standard par Piwik. Ci-après un exemple de code qui appelle deux instances :
<!-- Piwik --><script type="text/javascript"> var _paq = _paq || []; _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { window.piwikAsyncInit = function () { try { var piwikTracker = Piwik.getTracker("http://other.domain.tld/piwik.php", 5); piwikTracker.trackPageView(); var piwik2 = Piwik.getTracker("http://prime.domain.tld/piwik.php", 21); piwik2.trackPageView(); } catch( err ) {} }; var u="//prime.domain.tld/"; var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s); })(); </script><!-- End Piwik Code -->