Webbstatistik på skrivbordet med Piwik & Geektools

Piwik har jag skrivit lite om förut. Det är ett opensource web analys script (php/mysql) som man kan köra på sin egen webbserver.

Piwik har ett eget API som man kan få fram olika data från. Jag gjorde ett enkelt script som frågar efter besökare, unika besökare och actions. Actions är en sammanslagning av nedladdningar, sidvisningar och utgående länkar. Typ hur många saker en besökare klickar på. Jag visar denna info på skrivbordet med Geektools. Är du inte en Mac användare så finns det säkert någon annan lösning. På min Mac är också PHP version 5.3.4 installerat, php version 5.2 eller högre behövs för jag använder json_decode i mitt script. Nedan visas hur scriptet ser ut på skrivbordet.

Så här ser scriptet ut för att fråga Piwiks API om dessa uppgifter.

$myworld_json = file_get_contents('URL_TO_YOUR_PIWIK_INSTALLATION/index.php?module=API&method=VisitsSummary.get&idSite=3&period=day&date=today&format=JSON&token_auth=YOUR_API_TOKEN');

$myworld_obj = json_decode($myworld_json);

$myworld_action_json = file_get_contents('URL_TO_YOUR_PIWIK_INSTALLATION/index.php?module=API&method=VisitsSummary.getActions&idSite=3&period=day&date=today&format=JSON&token_auth=YOUR_API_TOKEN');

$myworld_action_obj = json_decode($myworld_action_json);

print "myWorld.se - Visits: " . $myworld_obj->{'nb_visits'} . ", Unique: " . $myworld_obj->{'nb_uniq_visitors'} . ", Actions: " . $myworld_action_obj->{'value'};

Svaren får man i JSON och beroende på vad man skickar med i urlen så kan man få daglig, veckovis, månadsvis statistik. I exemplet ovan så frågar jag bara efter daglig statistik.

&method=VisitsSummary.get&idSite=3&period=day&date=today
&method=VisitsSummary.get&idSite=3&period=week&date=today


Ersätter man &period=day med &period=week i exemplet ovan får man veckovis rapportering. &method anger vilken statistik man frågar efter, VisitsSummary.get är olika besöksstatistik. &idSite=3 är vilken webbsida man vill ha statistik för. Jag har Piwik installerat på 5-6 olika webbar och myWorld.se har id 3. &date=today är vilken dag man frågar efter. today, yesterday eller YYYY-MM-DD är tillåtna.

Geektools sätter man upp som vanligt. Command pekar på scriptet, börja med php så scriptet körs med php. Sen kan det vara bra att sätta en längre refresh så man inte frågar var 3’e sekund. 1200 sekunder är 20 minuter. Timeout satte jag på 8 sekunder så det avbryts rätt snabbt om jag tex inte har någon internet förbindelse.

Piwik (1.4) visar din besökares nyckelord rankning

Nu när jag har fixat min nginx installation efter uppgraderingen till ubuntu 11.04 och Piwik äntligen fungerar igen hittade jag en nyhet.

När en besökare kommer från en webbsökning så kan man se vart i besökarens resultat nyckelordet som tog besökaren till min sida hamnat. Så på bilden nedan har en besökare sökt på ”btrfs” i google. Min webbsida hamnade då på resultat 3 för besökaren. Jag vet inte om det är en nyhet i Piwik 1.4 men jag tror inte jag sett det förr.

Det konstiga är att inte alla nyckelords placeringar registreras. Som bilden nedan. En besökare har också sökt på ”btrfs” med google men där har Piwik inte loggat vart i resultatet min webbsida hamnat.

Jag hittar ingen information om det här på Piwiks hemsida så jag vet inte varför vissa resultat loggs men inte andra.

Insights inspirerar

Varannan fredag har vi frukostmöte och även ibland inspirations föreläsningar på jobbet. Denna fredag hade vi besök av en av de nya inUse killarna på inUse Insights. inUse Insights håller på med webbanalys och använder verktyget Google Analytics. Det var riktigt lärorikt att få veta hur profs jobbar med GA. GA är ju ett riktigt bra verktyg som alla borde köra på sina webbar men det kan vara svårt att veta vad man ska mäta på och vilka siffror som är viktiga. Nu har jag lite mer hum om vad som kan vara värt att mäta på denna blogg. Kanske ska jag kolla om jag kan ändra besök insamlingen så den blir lite bättre och skapa någon vettig rapport.

Piwik vill vara en OpenSource variant av just Google Analytics. Inte lika polerat UI men man kan få realtids data medans GA ligger 1 dag efter. Jag gillar ju OpenSource så det är ett projekt jag försöker hålla koll på.