Custom variable pour stats Group Buddypress?


#1

Bonjour,
je suis en train de mettre en place piwik sur mon site wordpress / buddypress et j’aimerai arriver à avoir une statistique précise.
Sur mon site je dispose de Groupes, dans lesquels, les utilisateurs peuvent s’inscrire pour en faire partie.
Les utilisateurs ne peuvent être que dans un seul groupe à la fois.

Ce que j’aimerai avoir comme statistique, c’est de savoir combien un groupe donné, à eux d’utilisateurs durant un mois.
Et si c’est possible aussi, de faire une moyenne du nombre d’utilisateurs de ce groupe sur le mois, car certains utilisateurs vont peut être changer de groupe durant un même mois.

Je sais pas si je suis bien clair^^

Vous pensez que c’est faisable à partir de custom variable par exemple?

Merci à vous.
Cordialement,

Tonari


(Matthieu Aubry) #2

Bonjour

Oui c’est un cas d’utilisation parfait pour les Custom Variables (scope “visit”)


#3

Hello,

Oui il possible de faire cela.

Il faut que tu modifie le code de tracking
En rajoutant une ligne :


_paq.push(['setCustomVariable', '1','Group','<?php echo $nom_de_ton_groupe;?>' , 'visit']);

En suite dans piwik il faut que tu rajout le winget Custom Variables et tu verra le résulta.

Après tu pourra faire des calculs.

Tu peux regarder le cas d’école :

http://piwik.org/blog/2012/10/custom-variable-case-study-divezone-net/

Tu peux aussi utiliser créer des segments pour chaque groupe, en faisant un titre par Actions -> Titre page, si par exemple il y a 'membre du groupe toto bienvenu! ’ dans le titre de tes page.

http://piwik.org/docs/segmentation/

Pablo


#4

Yes, merci beaucoup pour vos réponse
Je vais essayer de mettre ça en place, je reviendrais vous demander un petit coup de pouce si jamais j’ai du mal à le faire.
Encore merci :slight_smile:


#5

Désolé pour le double post, mais c’était pour montrer qu’il y avait un nouveau message.
Alors je suis pas sur que la fonction marche, car dans ma partie custom variable dans piwik j’ai ceci :

<?php echo $groupe-test;?>

C’est que le groupe n’est pas reconnu? autrement je n’aurai pas <?php echo $... ;?> non?

Dans mon thème j’ai cette fonction qui permet de connaitre le nombre d’utilisateur d’un groupe, c’est ce qu’il faudrait que j’arrive à ajouter à piwik en faite, avoir ceci dans une variable personnalisée, vous pouvez m’aider à intégrer çà ?
bp_get_group_member_count());

De plus j’ai essayé d’intégrer la fonction qui est dans l’exemple pour connaitre si un visiteur est enregistré ou non, mais je dois mal l’intégrer car cela ne fonctionne pas.
J’ai du mal à voir où intégrer les nouveaux codes dans mon code, surtout qu’il me semble que la structure entre les exemples et mon code n’est pas la même, les exemples doivent être anciens.


#6

Idéalement il faudrait que tu nous copie colle ton code de tracking en entier.

Voici un exemple pour pourrai t’aider :


<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(["setDocumentTitle", document.domain + "/" + document.title]);
  _paq.push(["setCookieDomain", "*.www.ton_domaine.fr"]);
  _paq.push(["setDomains", ["*.wwwdomaine"]]);
  <?php
  if ($user_groupe_detecte) {
  echo "_paq.push(['setCustomVariable', '1','Groupe','".$nom_du_groupe."' , 'visit']);";
  }
  ?>
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//ton_domain/piwik/";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', 3]);
    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>

Pablo


#7

Merci,
alors voici mon code d’origine :


<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//www.monsite.com/stats/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.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<noscript><p><img src="//www.monsite.com/stats/piwik/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->

J’aimerai lui ajouter les customs, pour les visiteurs, si connecté ou non ainsi que pour la fonction de comptabilisation des users d’un groupe donnée.


#8

Hello,

Je ne sais pas quoi te dire de plus à par de recopier coller mon exemple ou adapter un peut le tien avec les informations que tu nous donne :


<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
 <?php
  if ($user_groupe_detecte) { // ici il faut que tu trouve la bonne variable dans ton thème
  echo "_paq.push(['setCustomVariable', '1','visiteurs','connecté' , 'visit']);";
  } else {
  echo "_paq.push(['setCustomVariable', '1','visiteurs','non-connecté' , 'visit']);";
}
  ?>
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//www.monsite.com/stats/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.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<noscript><p><img src="//www.monsite.com/stats/piwik/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->

Pablo


#9

Hello,

Je ne sais pas quoi te dire de plus à par de recopier coller mon exemple ou adapter un peut le tien avec les informations que tu nous donne :


<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
 <?php
  if ($user_groupe_detecte) { // ici il faut que tu trouve la bonne variable dans ton thème
  echo "_paq.push(['setCustomVariable', '1','visiteurs','connecté' , 'visit']);";
  } else {
  echo "_paq.push(['setCustomVariable', '1','visiteurs','non-connecté' , 'visit']);";
}
  ?>
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//www.monsite.com/stats/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.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<noscript><p><img src="//www.monsite.com/stats/piwik/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->

Pablo


#10

Hello,

Je ne sais pas pourquoi, mais mon dernier reply n’est pas passé…
Voici le code que j’utilise et que correspond à ta demande :


<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(["setDocumentTitle", document.domain + "/" + document.title]);
  _paq.push(["setCookieDomain", "*.www.xxxxxxxx.fr"]);
  _paq.push(["setDomains", ["*.www.xxxxxx.fr","*.yyy.xxxxxx.fr"]]);
  <?php
		if ((isset($_SESSION['groupe1']['id'])) && (!empty($_SESSION['groupe1']['id']))) // Il faut que tu trouve la bonne variable
		{
		echo sprintf("_paq.push(['setUserId', '%s']);", $_SESSION['groupe1']['id']); // Pour avoir l'id du visiteur
		echo "_paq.push(['setCustomVariable', '5','Inscrit','groupe1' , 'visit']);";
		} else {
		echo "_paq.push(['setCustomVariable', '5','Inscrit','Non' , 'visit']);";
		}
	?>

  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//ddd.xxxxx.fr/piwik/";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', 3]);
    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>