Variable personnalisée : visite à double

Bonjour !

Je rencontre un petit soucis depuis quelques jours, je cherche à créer une variable personnalisée dans le contenu d’un page Java, donc en dehors du code de suivi. Et lorsque je fais cela si je ne met pas le code :


_paq.push(['trackPageView']);

Alors la variable n’est pas visible dans les rapports de Piwik (ce qui est parfaitement logique). Mais si j’ajoute le code ci-dessous, cette fois toutes les actions, de la visite, sont comptées à double. Piwik me dira par exemple que j’ai visité 2 fois la page en question…

Je me doute bien qu’il doit y avoir une astuce, j’ai pensé utiliser l’API Java de Piwik, mais je n’ai pas réussi à la faire fonctionner (impossible d’envoyer des informations à Piwik), surtout qu’il y a une absence totale de documentation pour cette API… Si quelqu’un à un retour d’expérience ou un bout de code fonctionnel pour l’API Java je suis preneur !

Ma question est donc comment créer des variables personnalisés, avec JavaScript, hors du code de suivi et sans que cela me compte les actions à doubles !?

Merci de votre aide !

Lionel

Quel code utilisez vous ?

Alors je développe en Java à l’aide du Framework JSF, implémentation PrimeFaces.

Voici ou se trouve le code de tracking :


<h:head>
            <title>Accueil</title>
            <link href="resources/css/styles.css" rel="stylesheet" media="all" type="text/css"/>
            <!-- Piwik -->
            <script type="text/javascript">
                var _paq = _paq || [];
                _paq.push(['trackPageView']);
                _paq.push(['enableLinkTracking']);
                (function() {
                    var u = (("https:" == document.location.protocol) ? "https" : "http") + "://localhost/piwik/";
                    _paq.push(['setTrackerUrl', u + 'piwik.php']);
                    _paq.push(['setSiteId', 1]);
                    var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
                    g.type = 'text/javascript';
                    g.defer = true;
                    g.async = true;
                    g.src = u + 'piwik.js';
                    s.parentNode.insertBefore(g, s);
                })();
            </script>
            <noscript><p><img src="http://localhost/piwik/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
            <!-- End Piwik Code -->
        </h:head>

et plus loin dans l’application


<script type="text/javascript">
                _paq.push(['setCustomVariable',
                    1,
                    "Generation",
                    "Digital Natives",
                    "visit"
                ]);

                _paq.push(['trackPageView']);
</script>

Pour le moment le tout est dans une application de test.