Blog post

A quick guide how to send event from C# to Analytics

Tapahtumat asp.net sivulta Google Analyticsiin

Verkkosivuston kävijäseuranta Google Analyticsillä on helppoa ihan normaalien Google Tag manager tagien avulla. 

Mutta toisinaan on tarvetta seurata tapahtumia kuten rekisteröitymisiä ja kirjautumisia suoraan asp.net sivuston koodista(C#).

Alla esimerkki kuinka  lähettää ”Event” eli tapahtuma analyticsiin.

  • Kannattaa huomioida että Category ja Action ovat ainakin tätä blogia kirjoittaessa pakollisia.
  • Lisäksi muista luoda Analyticksiin jokaista tapahtumaa vastaavat tavoitteet/GOALit, jotta lähettämiäsi tapahtumia on helppo seurata.

using System.Net;
using System.IO;
  
public static void sendEvent(string category, string action, string label)
{
         string gaCodeTest = "UA-xxxxxxxx-x";  //Analytics ID
         ASCIIEncoding encoding = new ASCIIEncoding();
         string cid = Guid.NewGuid().ToString();
         string postData =
        "v=1&tid=" + gaCodeTest + "&cid=" + cid + "&t=event" +
        "&ec=" + category +
        "&ea=" + action +
        "&el=" + label;

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

    var response = (HttpWebResponse)myRequest.GetResponse();

    //var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();

    newStream.Close();

}