Respuestas:
Ahora es posible (y fácil) rastrear los datos de Analytics desde el lado del servidor. Con el lanzamiento de Universal Analytics, ahora puede usar el Protocolo de medición para publicar datos en los servidores de GA.
using System;
using System.Collections.Generic;
using System.Web;
using System.Net;
using System.IO;
using System.Text;
public class GoogleAnalyticsApi
{
public static void TrackEvent(string type, string category,
string action, string label, string value)
{
ASCIIEncoding encoding = new ASCIIEncoding();
string postData =
"v=1&tid=UX-XXXXXXX-1&cid=1234&t=" + type +
"&ec=" + category +
"&ea=" + action +
"&el=" + label +
"&ev=" + value;
byte[] data = encoding.GetBytes(postData);
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("https://www.google-analytics.com/collect");
myRequest.Method = "POST";
myRequest.ContentType = "application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
Stream newStream = myRequest.GetRequestStream();
newStream.Write(data, 0, data.Length);
newStream.Close();
}
}
Si usa PHP, puede llamar fácilmente al Protocolo de medición de Analytics para enviar visitas a su cuenta de Google Analytics:
function sendAnalytics($sGaId, $sHostname, $sPath, $sTitle) {
$aParams = array();
//Protocol Version
$aParams['v'] = '1';
//Tracking ID / Web Property ID
$aParams['tid'] = $sGaId;
//Anonymize IP
$aParams['aip'] = '1';
//Data Source
$aParams['ds'] = 'web';
//Queue Time
$aParams['qt'] = 0;
//Client ID
$aParams['cid'] = substr(md5($_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']), 0, 8);
//User ID
//$aParams['uid'] = '';
//Session Control
//$aParams[''] = '';
//IP Override
$aParams['uip'] = $_SERVER['REMOTE_ADDR'];
//User Agent Override
$aParams['ua'] = urlencode($_SERVER['HTTP_USER_AGENT']);
//Geographical Override
//$aParams['geoid'] = '';
//Document Referrer
//$aParams['dr'] = '';
//Campaign Name
//$aParams['cn'] = '';
//Campaign Source
//$aParams['cs'] = '';
//Campaign Medium
//$aParams['cm'] = '';
//Campaign Keyword
//$aParams['ck'] = '';
//Campaign Content
//$aParams['cc'] = '';
//Campaign ID
//$aParams['ci'] = '';
//Google AdWords ID
//$aParams['gclid'] = '';
//Google Display Ads ID
//$aParams[''] = '';
////SystemInfo => see docs
//Hit type
$aParams['t'] = 'pageview';
//Non-Interaction Hit
//$aParams['ni'] = '';
//Hostname
$aParams['dh'] = $sHostname;
//Document Path
$aParams['dp'] = $sPath;
//Document title
$aParams['dt'] = urlencode($sTitle);
$sGaUrl = 'http://www.google-analytics.com/collect?';
foreach($aParams AS $sKey => $sValue) {
$sGaUrl.= "$sKey=$sValue&";
}
$sGaUrl = substr($sGaUrl, 0, -1);
file_get_contents($sGaUrl);
}
sendAnalytics('UA-XXXXXXXX-1', 'http://foo.com', '/bar', 'Foo Bar');
¡Espero que ayude!
Echa un vistazo al módulo de estadísticas de uso .
Estadísticas de seguimiento en scripts de shell:
# Track an event: category 'Backup', action 'start'
usage-stats event --tid UA-98765432-1 --ec Backup --ea start
# Perform the backup
cp files/** backup/
# Track an event: category 'Backup', action 'complete'
usage-stats event --tid UA-98765432-1 --ec Backup --ea complete
El ejemplo más trivial.
const UsageStats = require('usage-stats')
const usageStats = new UsageStats('UA-98765432-1', { an: 'example' })
usageStats.screenView('screen name')
usageStats.event('category', 'action')
usageStats.send()