Existe-t-il un moyen de publier des événements sur Google Analytics via une API côté serveur?

J’essaie d’utiliser Google Analytics depuis notre système backend en y publiant des événements. Y a-t-il un moyen de le faire avec l’API de GA côté serveur?

Il est désormais possible (et facile) de suivre les données Analytics du côté serveur. Avec le lancement d’Universal Analytics, vous pouvez désormais utiliser le protocole de mesure pour publier des données sur les serveurs GA.

Exemples de code ici

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(ssortingng type, ssortingng category, ssortingng action, ssortingng label, ssortingng value) { ASCIIEncoding encoding = new ASCIIEncoding(); ssortingng 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 vous utilisez PHP, vous pouvez facilement appeler le protocole de mesure Analytics pour envoyer des vues de page à votre compte 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'); 

J’espère que cela pourra aider!

Si vous n’êtes pas prêt à effectuer une mise à niveau vers Universal Analytics de Google et pour ceux qui recherchent une solution Ruby (et / ou Rails), consultez le joyau de Gabba.

https://github.com/hybridgroup/gabba

Les non-ruby folks peuvent également consulter ce code pour trouver des exemples sur la manière (générale) d’implémenter une solution côté serveur pour GA.

Jetez un coup d’oeil au module d’ utilisation-stats .

Ligne de commande

Suivi des statistiques dans des scripts 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 

API

L’exemple le plus sortingvial

 const UsageStats = require('usage-stats') const usageStats = new UsageStats('UA-98765432-1', { an: 'example' }) usageStats.screenView('screen name') usageStats.event('category', 'action') usageStats.send()