CustomVars - Probleme bei der Segmentierung


#1

Hallo an alle,

ich habe ein Problem mit den CustomVars. Ich möchte gerne Piwik dazu benutzen, den Nutzern meiner Website eine Statistik zu Verfügung zu stellen. Jeder Nutzer hat ein Profil auf der Website und kann in seinem Profil Mediadaten wie Bilder / Videos etc. hinterlegen.

Ich möchte gerne zum einen den Profilaufruf und zum anderen einzelne Aufrufe der Mediadaten tracken und den Nutzern, neben anderen Daten die Piwik sowieso schon bietet, zur Verfügung stellen. Zusätzlich gibt es noch verschiedene Typen von Profilen, je nachdem auf welchem Device das Profil aufgerufen wurde (Smartphone, Tablet, PC-Browser) wird ein anderer Page-Typ genommen.

Das Tracking klappt soweit auch ganz gut, in dem ich dafür die CustomVars benutze:

$t->setCustomVariable( 1, ‘Action’, $_REQUEST[‘action’],‘page’); // profile or media
$t->setCustomVariable( 2, ‘ProfileID’, $_REQUEST[‘profileID’],‘page’);
$t->setCustomVariable( 3, ‘MediaID’, $_REQUEST[‘mediaID’],‘page’); // might be null on action = profile
$t->setCustomVariable( 4, ‘Type’, $_REQUEST[‘type’],‘page’); // different profile types

$t->setCustomVariable( 1, ‘v-Action’, $_REQUEST[‘action’],‘visit’);
$t->setCustomVariable( 2, ‘v-ProfileID’, $_REQUEST[‘profileID’],‘visit’);
$t->setCustomVariable( 3, ‘v-MediaID’, $_REQUEST[‘mediaID’],‘visit’);
$t->setCustomVariable( 4, ‘v-Type’, $_REQUEST[‘type’],‘visit’);

Mit der Auswertung bin ich jetzt aber ins Schleudern gekommen. Ich benutze dabei die PHP-Api.

Bei Klick auf ein Profil kann ich mit:
array ( ‘module’ => ‘API’, ‘idSite’ => 1, ‘method’ => ‘Actions.getPageUrls’, ‘date’ => ‘today’, ‘period’ => ‘month’, ‘format’ => ‘PHP’, ‘expanded’ => 1, ‘segment’ => ‘customVariableValue1== profile;customVariableValue2==34’)
die unique visitors (oder hits) gut auslesen.

Das Ergebnis stimmt auch, solange ich nicht eine Mediadatei anklicke, die dann wiederum einen Eintrag in die “piwik_log_link_visit_action” macht. Dort sind auch ganz korrekt 2 Einträge:

Einmal bei Öffnen des Profils:
custom_var_v1=profile
custom_var_v2=34
custom_var_v3=
custom_var_v4=smartphone

Zum anderen bei Abspielen einer Mediadatei:
custom_var_v1=media
custom_var_v2=34
custom_var_v3=85
custom_var_v4=smartphone

Aber leider wird nun dieser Visit nicht mehr bei den unique visitors in der Abfrage oben gezählt. In der Datentabelle “piwik_log_visit” steht nach Klick auf eine Mediadatei unter custom_var_v1 nicht mehr profile, sondern media. Dieser Eintrag wurde also überschrieben. Ich dachte jedoch, dass sich die Abfragen der API bei Actions.getPageUrls immer auf die “piwik_log_link_visit_action” beziehen?

Mal abgesehen davon, dass diese Methode recht Performance aufwendig ist, würde ich mit einer solchen Abfrage schon zurecht kommen. Besser wäre es natürlich direkt mit der CustomVar Abfrage (CustomVariables.getCustomVariablesValuesFromNameId + idSubtable=XX) zu arbeiten, doch da bekommen ich nie richtige Ergebnisse, bzw. habe ich es auch nicht geschafft dort mit einem weiteren Segment einer CustomVar die Abfrage weiter zu segmentieren (z.B. Action+ProfileID).

Was mache ich falsch? Welchen Weg könnte man sonst gehen? Wie kann ich eigene Actions machen und zählen, gleichzeitig aber den Mechanismus der unique visitors beibehalten?

Hoffe, ich habe mich einigermaßen verständlich ausgedrückt, jemand kennt das Problem und kann mir aus meiner Sackgasse helfen.

Chris