Hi there, i am not sure am i right on posting this topic at this section. I would like to ask, is anyone have experience on using the google analytic api that can pull out the data and display in our website? how can i get the statistic by date range? can
some one share with me?
public class GoogleAnalytics
{
public GoogleAnalytics()
{
}
public int TotalVisit { get; set; }
public double BounceRate { get; set; }
public int TotalVisitors { get; set; }
public int NewVisit { get; set; }
public double PercentNewVisits { get; set; }
public double AvgTimeOnSite { get; set; }
public int PageViews { get; set; }
public double TransactionPerVisit { get; set; }
}
Create google_process.cs
public class google_islemleri
{
public google_islemleri()
{
}
public static GoogleAnalytics GetAnalitikVerileri(int startDay)
{
string userName = "xxxxxx@xxxxxx.com";
string passWord = "xxxxxxxx";
const string dataFeedUrl = "https://www.googleapis.com/analytics/v2.4/data";
//AccountQuery query = new AccountQuery();
AnalyticsService service = new AnalyticsService("AnalyticsSampleApp");
if (!string.IsNullOrEmpty(userName))
{
service.setUserCredentials(userName, passWord);
}
string profileId = "xxxxxxx";
DataQuery query1 = new DataQuery(dataFeedUrl);
query1.Ids = "ga:" + profileId;
query1.Metrics = "ga:visits,ga:visitBounceRate,ga:visitors,ga:newVisits,ga:pageviews,ga:transactionsPerVisit,ga:percentNewVisits,ga:timeOnSite";
query1.Sort = "ga:visits";
DateTime baslangicGunu = new DateTime(DateTime.Now.Year, DateTime.Now.Month, startDay);
DateTime bitisGunu = baslangicGunu.AddDays(1);
query1.GAStartDate = baslangicGunu.ToString("yyyy-MM-dd");//starting day
query1.GAEndDate = baslangicGunu.ToString("yyyy-MM-dd"); //ending day
query1.StartIndex = 1;
DataFeed dataFeedVisits = service.Query(query1);
GoogleAnalytics analitik = new GoogleAnalytics();
foreach (DataEntry entry in dataFeedVisits.Entries)
{
analitik.TotalVisit = Convert.ToInt32(entry.Metrics[0].Value);
analitik.BounceRate = Convert.ToDouble(entry.Metrics[1].Value);
analitik.TotalVisitors = Convert.ToInt32(entry.Metrics[2].Value);
analitik.NewVisit = Convert.ToInt32(entry.Metrics[3].Value);
analitik.PageViews = Convert.ToInt32(entry.Metrics[4].Value);
analitik.TransactionPerVisit = Convert.ToDouble(entry.Metrics[5].Value);
analitik.PercentNewVisits = Convert.ToDouble(entry.Metrics[6].Value);
analitik.AvgTimeOnSite = Convert.ToDouble(entry.Metrics[7].Value) / (Convert.ToDouble(entry.Metrics[0].Value) * 60 * 10);
}
return analitik;
}
}
kumiko83
0 Points
41 Posts
asp.net vb.net + google analytics
Dec 09, 2010 01:52 PM|LINK
Hi there, i am not sure am i right on posting this topic at this section. I would like to ask, is anyone have experience on using the google analytic api that can pull out the data and display in our website? how can i get the statistic by date range? can some one share with me?
thanx in advanced
h.zahed@live...
Contributor
3171 Points
514 Posts
Re: asp.net vb.net + google analytics
Dec 09, 2010 05:23 PM|LINK
Hi,
Follow the links below for more information:
http://www.mikesdotnetting.com/Article/119/Displaying-Google-Analytics-Data-in-ASP.NET
http://www.c-sharpcorner.com/UploadFile/ravi_panara/498/Default.aspx
Wish it helps
MCP-MCTS-MCPD
Mark the post as Answer, if it helped you in solving your question.
togius
Member
35 Points
57 Posts
Re: asp.net vb.net + google analytics
Jan 23, 2013 01:30 PM|LINK
Create GoogleAnalytic Class
public class GoogleAnalytics { public GoogleAnalytics() { } public int TotalVisit { get; set; } public double BounceRate { get; set; } public int TotalVisitors { get; set; } public int NewVisit { get; set; } public double PercentNewVisits { get; set; } public double AvgTimeOnSite { get; set; } public int PageViews { get; set; } public double TransactionPerVisit { get; set; } }Create google_process.cs
public class google_islemleri { public google_islemleri() { } public static GoogleAnalytics GetAnalitikVerileri(int startDay) { string userName = "xxxxxx@xxxxxx.com"; string passWord = "xxxxxxxx"; const string dataFeedUrl = "https://www.googleapis.com/analytics/v2.4/data"; //AccountQuery query = new AccountQuery(); AnalyticsService service = new AnalyticsService("AnalyticsSampleApp"); if (!string.IsNullOrEmpty(userName)) { service.setUserCredentials(userName, passWord); } string profileId = "xxxxxxx"; DataQuery query1 = new DataQuery(dataFeedUrl); query1.Ids = "ga:" + profileId; query1.Metrics = "ga:visits,ga:visitBounceRate,ga:visitors,ga:newVisits,ga:pageviews,ga:transactionsPerVisit,ga:percentNewVisits,ga:timeOnSite"; query1.Sort = "ga:visits"; DateTime baslangicGunu = new DateTime(DateTime.Now.Year, DateTime.Now.Month, startDay); DateTime bitisGunu = baslangicGunu.AddDays(1); query1.GAStartDate = baslangicGunu.ToString("yyyy-MM-dd");//starting day query1.GAEndDate = baslangicGunu.ToString("yyyy-MM-dd"); //ending day query1.StartIndex = 1; DataFeed dataFeedVisits = service.Query(query1); GoogleAnalytics analitik = new GoogleAnalytics(); foreach (DataEntry entry in dataFeedVisits.Entries) { analitik.TotalVisit = Convert.ToInt32(entry.Metrics[0].Value); analitik.BounceRate = Convert.ToDouble(entry.Metrics[1].Value); analitik.TotalVisitors = Convert.ToInt32(entry.Metrics[2].Value); analitik.NewVisit = Convert.ToInt32(entry.Metrics[3].Value); analitik.PageViews = Convert.ToInt32(entry.Metrics[4].Value); analitik.TransactionPerVisit = Convert.ToDouble(entry.Metrics[5].Value); analitik.PercentNewVisits = Convert.ToDouble(entry.Metrics[6].Value); analitik.AvgTimeOnSite = Convert.ToDouble(entry.Metrics[7].Value) / (Convert.ToDouble(entry.Metrics[0].Value) * 60 * 10); } return analitik; } }Create Default.aspx.cs
protected void Page_Load(object sender, EventArgs e) { this.GetGunler(); } private void GetGunler() { int gunler = DateTime.DaysInMonth(DateTime.Today.Year, DateTime.Today.Month); for (int i = 1; i <= gunler; i++) { GoogleAnalytics analitic = google_islemleri.GetAnalitikVerileri(i); LtDay.Text += "<tr>\n"; LtDay.Text += "<th>" + i.ToString() + "</th>\n"; LtDay.Text += "<td>" + analitic.TotalVisit.ToString() + "</td>\n"; LtDay.Text += "<td>" + analitic.TotalVisitors.ToString() + "</td>\n"; LtDay.Text += "<td>" + String.Format("{0:0}", analitic.BounceRate) + "</td>\n"; LtDay.Text += "<td>" + analitic.NewVisit.ToString() + "</td>\n"; LtDay.Text += "<td>%" + String.Format("{0:0}", analitic.PercentNewVisits) + "</td>\n"; LtDay.Text += "<td>" + String.Format("{0:0.00} dk", (analitic.AvgTimeOnSite )) + "</td>\n"; LtDay.Text += "<td>" + analitic.PageViews.ToString() + "</td>\n"; LtDay.Text += "<td>%" + String.Format("{0:0}", analitic.TransactionPerVisit) + "</td>\n"; LtDay.Text += "</tr>"; LtDayNumber.Text += "<th>" + i.ToString() + "</th>\n"; LtSayfaGosterimi.Text += "<td>" + analitic.PageViews.ToString() + "</td>\n"; LtZiyaretSayisi.Text += "<td>" + analitic.TotalVisitors.ToString() + "</td>\n"; } }