Existe alguma maneira de postar events no Google Analytics por meio da API do lado do servidor?

Estou tentando usar o Google Analytics de nosso sistema de back-end publicando events nele. Existe alguma maneira de fazer isso com a API do GA no lado do servidor?

Agora é possível (e fácil) rastrear dados do Analytics do lado do servidor. Com o lançamento do Universal Analytics, agora você pode usar o Protocolo de Medição para postar dados nos servidores do GA.

Amostras de código aqui

Sim, use o novo Protocolo de avaliação do Google Analytics

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(); } } 

Se você usa o PHP, pode facilmente chamar o Protocolo de avaliação do Google Analytics para enviar page views para sua conta do 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 ajude!

Se você não está pronto para atualizar para o Universal Analytics do Google e para quem procura uma solução Ruby (e / ou Rails), dê uma olhada na gema Gabba.

https://github.com/hybridgroup/gabba

As pessoas que não são Ruby também podem ver este código para alguns exemplos de como (geralmente) implementar uma solução do lado do servidor para o GA.

Dê uma olhada no módulo de statistics de uso .

Linha de comando

Estatísticas de rastreamento em 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 

API

O exemplo mais 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() 
    Intereting Posts