protected void Page_Load(object sender, EventArgs e)
        {
            GooglePageBase google = Page as GooglePageBase;

            DataQuery query = new DataQuery();

            query.Ids         = "ga:" + google.Settings.Current.Id;
            query.Metrics     = "ga:pageviews";
            query.Dimensions  = "ga:browser,ga:browserVersion";
            query.Sort        = "ga:browser,ga:pageviews";
            query.GAStartDate = DateTime.Now.AddMonths(-1).AddDays(-1).ToString("yyyy-MM-dd");
            query.GAEndDate   = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");

            if (google.Referringpage != null)
            {
                query.Filters = "ga:pagePath==" + google.Referringpage;
            }

            DataFeed actual = google.Analytics.Query(query);

            System.Data.DataTable browsers = new System.Data.DataTable("Browser");
            browsers.Columns.Add("Browser");
            browsers.Columns.Add("Views", typeof(int));

            System.Data.DataTable versions = new System.Data.DataTable("BrowserVersion");
            versions.Columns.Add("Browser");
            versions.Columns.Add("Version");
            versions.Columns.Add("Views", typeof(int));

            System.Collections.SortedList values = new System.Collections.SortedList();
            foreach (DataEntry entry in actual.Entries)
            {
                string browser = entry.Dimensions[0].Value.ToString();
                string version = entry.Dimensions[1].Value.ToString();
                int    visits  = int.Parse(entry.Metrics[0].Value);

                if (values.ContainsKey(browser))
                {
                    int current = int.Parse(values[browser].ToString());
                    current        += int.Parse(entry.Metrics[0].Value);
                    values[browser] = current;
                }
                else
                {
                    values.Add(browser, int.Parse(entry.Metrics[0].Value));
                }

                versions.Rows.Add(new object[] { browser, version, visits });
            }

            foreach (String key in values.Keys)
            {
                browsers.Rows.Add(new object[] { key, int.Parse(values[key].ToString()) });
            }

            this.pie_Browsers.GviEnableEvents = true;
            this.pie_Browsers.ChartData(browsers);

            this.tbl_Versions.ChartData(versions);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            GooglePageBase google = Page as GooglePageBase;

            DataQuery query = new DataQuery();

            query.Ids              = "ga:" + google.Settings.Current.Id;
            query.Metrics          = "ga:pageviews";
            query.Dimensions       = "ga:pagePath,ga:pageTitle";
            query.Sort             = "-ga:pageviews";
            query.NumberToRetrieve = 10;
            query.GAStartDate      = DateTime.Now.AddDays(-14).ToString("yyyy-MM-dd");
            query.GAEndDate        = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd");

            DataFeed actual = google.Analytics.Query(query);

            System.Data.DataTable dt = new System.Data.DataTable("Browser");
            dt.Columns.Add("Path");
            dt.Columns.Add("Title");
            dt.Columns.Add("Views", typeof(int));

            foreach (DataEntry entry in actual.Entries)
            {
                dt.Rows.Add(new object[] { entry.Dimensions[0].Value, entry.Dimensions[1].Value, int.Parse(entry.Metrics[0].Value) });
            }

            foreach (DataRow row in dt.Rows)
            {
                //Response.Write(row["Title"].ToString() + " : " + row["Views"].ToString());
            }
            //Response.Write(dt.Rows.Count.ToString());
        }
Esempio n. 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            GooglePageBase google = Page as GooglePageBase;

            //ltl_ProfileID.Text = google.Settings.Current.ProfileId;
            ltl_AccountID.Text = google.Settings.Current.AccountId;
            //ltl_Token.Text = google.Settings.Current.Token;
        }
Esempio n. 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            GooglePageBase google = Page as GooglePageBase;

            DataQuery query = new DataQuery();

            query.Ids         = "ga:" + google.Settings.Current.Id;
            query.Metrics     = "ga:visits,ga:pageviews";
            query.Dimensions  = "ga:date";
            query.Sort        = "ga:date";
            query.GAStartDate = DateTime.Now.AddMonths(-1).AddDays(-1).ToString("yyyy-MM-dd");
            query.GAEndDate   = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");

            if (google.Referringpage != null)
            {
                query.Filters = "ga:pagePath==" + google.Referringpage;
            }

            DataFeed actual = google.Analytics.Query(query);

            System.Data.DataTable dt = new System.Data.DataTable("Visits / Page Views");
            dt.Columns.Add("Date");
            dt.Columns.Add("Visits", typeof(int));
            dt.Columns.Add("Page Views", typeof(int));
            dt.Columns.Add("Page Views per Visit", typeof(int));

            foreach (DataEntry entry in actual.Entries)
            {
                try
                {
                    string   date     = entry.Title.Text.Split(new char[] { '=' })[1].ToString();
                    DateTime datetime = new DateTime(int.Parse(date.Substring(0, 4)), int.Parse(date.Substring(4, 2)), int.Parse(date.Substring(6, 2)));
                    date = datetime.ToString("yyyy-MM-dd");
                    int visits        = int.Parse(entry.Metrics[0].Value);
                    int views         = int.Parse(entry.Metrics[1].Value);
                    int viewspervisit = 0;

                    try
                    {
                        viewspervisit = (views / visits);
                    }
                    catch (Exception ex)
                    {
                        ex.ToString();
                    }
                    // entry.Metrics[2].Value;

                    dt.Rows.Add(new object[] { date, visits, views, viewspervisit });
                }
                catch (Exception ex)
                {
                    Response.Write(ex.ToString());
                }
            }

            this.area_visits.GviEnableEvents = true;
            this.area_visits.ChartData(dt);
        }
Esempio n. 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            google = Page as GooglePageBase;

            if (!Page.IsPostBack)
            {
                SetNotice();
            }
        }
Esempio n. 6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            GooglePageBase google = Page as GooglePageBase;

            DataQuery query = new DataQuery();

            query.Ids         = "ga:" + google.Settings.Current.Id;;
            query.Metrics     = "ga:visits,ga:pageviews,ga:timeOnSite,ga:exits";
            query.Dimensions  = "ga:source,ga:medium";
            query.Sort        = "-ga:visits";
            query.GAStartDate = DateTime.Now.AddMonths(-1).AddDays(-1).ToString("yyyy-MM-dd");
            query.GAEndDate   = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");

            if (google.Referringpage != null)
            {
                query.Filters = "ga:pagePath==" + google.Referringpage;
            }

            DataFeed actual = google.Analytics.Query(query);

            System.Data.DataTable dt = new System.Data.DataTable("Usage");
            dt.Columns.Add("Visits", typeof(int));
            dt.Columns.Add("Page Views", typeof(int));
            dt.Columns.Add("Time On Site", typeof(int));
            dt.Columns.Add("Exits", typeof(int));
            dt.Columns.Add("Source"); //, typeof(int));
            dt.Columns.Add("Medium"); //, typeof(int));

            foreach (DataEntry entry in actual.Entries)
            {
                try
                {
                    int    visits     = int.Parse(entry.Metrics[0].Value);
                    int    pageviews  = int.Parse(entry.Metrics[1].Value);
                    float  timeOnSite = float.Parse(entry.Metrics[2].Value);
                    int    exits      = int.Parse(entry.Metrics[3].Value);
                    string source     = entry.Dimensions[0].Value.ToString();
                    string medium     = entry.Dimensions[1].Value.ToString();
                    dt.Rows.Add(new object[] { visits, pageviews, timeOnSite, exits, source, medium });
                }
                catch (Exception ex)
                {
                    Response.Write(ex.ToString());
                }
            }

            this.tbl_Usage.ChartData(dt);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            google = Page as GooglePageBase;
            {
                if (google.Referringpage != null)
                {
                    previousDT.Columns.Add("Source");
                    previousDT.Columns.Add("Target"); //, typeof(int));
                    previousDT.Columns.Add("Title");  //, typeof(int));

                    nextDT.Columns.Add("Source");
                    nextDT.Columns.Add("Target"); //, typeof(int));
                    nextDT.Columns.Add("Title");  //, typeof(int));

                    try
                    {
                        previousDT.Rows.Add(new object[] { "(entrance)", "", "(entrance)" });
                        nextDT.Rows.Add(new object[] { "(entrance)", "", "(entrance)" });

                        SPSite site = SPContext.Current.Site;
                        SPWeb  web  = site.OpenWeb(google.Referringpage);
                        root = web.GetListItem(google.Referringpage);
                        //string serverRelativeListItemUrl = SPUrlUtility.CombineUrl(SPContext.Current.Site.RootWeb.ServerRelativeUrl,google.Referringpage);
                        //root = SPContext.Current.Site.RootWeb.GetListItem(serverRelativeListItemUrl);

                        //dt.Rows.Add(new object[] { root.Title, SPContext.Current.Site.PortalName, root.Title });
                        previousDT.Rows.Add(new object[] { root.Title, "(entrance)", root.Title });
                    }
                    catch (Exception ex)
                    {
                        Response.Write("Root" + ex.ToString());
                    }


                    GetNext();
                    this.org_tracking_next.ChartData(nextDT);

                    GetPrevious();
                    this.org_tracking_prev.ChartData(previousDT);

                    this.tbl_Tracking.ChartData(nextDT);
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            google = Page as GooglePageBase;

            try
            {
                //dimensions=ga:operatingSystem,ga:operatingSystemVersion,ga:browser,ga:browserVersion
                //metrics=ga:visits
                DataQuery query = new DataQuery();
                query.Ids         = "ga:" + google.Settings.Current.Id;;
                query.Dimensions  = "ga:operatingSystem,ga:operatingSystemVersion";
                query.Metrics     = "ga:visits";
                query.Sort        = "-ga:visits";
                query.GAStartDate = DateTime.Now.AddMonths(-1).AddDays(-1).ToString("yyyy-MM-dd");
                query.GAEndDate   = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");

                if (google.Referringpage != null)
                {
                    query.Filters = "ga:pagePath==" + google.Referringpage;
                }

                DataFeed actual = google.Analytics.Query(query);

                System.Data.DataTable dt = new System.Data.DataTable("Operating Systems");
                dt.Columns.Add("Operating System");
                dt.Columns.Add("System Version");
                dt.Columns.Add("Visits", typeof(int));

                foreach (DataEntry entry in actual.Entries)
                {
                    int    visits    = int.Parse(entry.Metrics[0].Value);
                    string os        = entry.Dimensions[0].Value.ToString();
                    string osVersion = entry.Dimensions[1].Value.ToString();
                    dt.Rows.Add(new object[] { os, osVersion, visits });
                }

                this.tbl_OS.ChartData(dt);
            }
            catch (Exception ex)
            {
                ex.ToString();
                //TextBox1.Text = ex.ToString();
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            google = Page as GooglePageBase;

            if (google.Settings.Analytics.Length == 0 && !String.IsNullOrEmpty(google.Settings.Username) && !string.IsNullOrEmpty(google.Settings.Password))
            {
                ReloadAnalytics();
            }

            if (google.Settings.WebmasterTools.Length == 0 && !String.IsNullOrEmpty(google.Settings.Username) && !string.IsNullOrEmpty(google.Settings.Password))
            {
                ReloadWebmasterTools();
            }

            if (!Page.IsPostBack)
            {
                foreach (GoogleAnalyticsSettings analytics in google.Settings.Analytics)
                {
                    if (SPContext.Current.Site.HostName == analytics.WebsiteUrl)
                    {
                        tbx_Hostname.Text  = analytics.Name;
                        tbx_AccountId.Text = analytics.AccountId;
                        //tbx_ProfileId.Text = analytics.ProfileId;
                        //tbx_Token.Text = analytics.Token;
                        cbx_Active.Checked     = analytics.Active;
                        cbx_ClientInfo.Checked = analytics.ClientInfo;
                        cbx_Flash.Checked      = analytics.DetectFlash;
                        cbx_Hash.Checked       = analytics.AllowHash;
                        cbx_Linker.Checked     = analytics.AllowLinker;
                        cbx_Title.Checked      = analytics.DetectTitle;
                        ddl_Google_Account_Profiles.Items.Add(new ListItem(analytics.Name, analytics.WebPropertyId, true));
                        ddl_Google_Account_Profiles.SelectedValue = analytics.WebPropertyId;
                    }
                    else
                    {
                        ddl_Google_Account_Profiles.Items.Add(new ListItem(analytics.Name, analytics.WebPropertyId));
                    }
                }
            }
        }
Esempio n. 10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            GooglePageBase google = Page as GooglePageBase;

            DataQuery query = new DataQuery();

            query.Ids         = "ga:" + google.Settings.Current.Id;
            query.Metrics     = "ga:visits";
            query.Dimensions  = "ga:date";
            query.Sort        = "ga:medium==(none)";
            query.GAStartDate = DateTime.Now.AddMonths(-1).AddDays(-1).ToString("yyyy-MM-dd");
            query.GAEndDate   = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");

            if (google.Referringpage != null)
            {
                query.Filters = "ga:pagePath==" + google.Referringpage;
            }

            DataFeed actual = google.Analytics.Query(query);

            System.Data.DataTable dt = new System.Data.DataTable("Browser");
            dt.Columns.Add("Visits");
            dt.Columns.Add("Date", typeof(int));
            //int total = 0;

            foreach (DataEntry entry in actual.Entries)
            {
                dt.Rows.Add(new object[] { entry.Title.Text.Split(new char[] { '=' })[1].ToString(), int.Parse(entry.Metrics[0].Value) });
                //total += int.Parse(entry.Metrics[0].Value);
            }

            //Response.Write(total.ToString());

            this.pie_Source.GviEnableEvents = true;
            this.pie_Source.ChartData(dt);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            GooglePageBase google = Page as GooglePageBase;

            DataQuery query = new DataQuery();

            query.Ids         = "ga:" + google.Settings.Current.Id;
            query.Metrics     = "ga:visits";
            query.Dimensions  = "ga:visitorType,ga:date";
            query.Sort        = "ga:date";
            query.GAStartDate = DateTime.Now.AddMonths(-1).AddDays(-1).ToString("yyyy-MM-dd");
            query.GAEndDate   = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");

            if (google.Referringpage != null)
            {
                query.Filters = "ga:pagePath==" + google.Referringpage;
            }

            DataFeed actual = google.Analytics.Query(query);

            System.Data.DataTable nvsr = new System.Data.DataTable("New vs Returning");
            nvsr.Columns.Add("visitorType", typeof(string));
            nvsr.Columns.Add("Visits", typeof(int));

            System.Collections.SortedList visitors = new System.Collections.SortedList();

            System.Data.DataTable nandr = new System.Data.DataTable("New and Returning");
            nandr.Columns.Add("Date");
            nandr.Columns.Add("New Visitor", typeof(int));
            nandr.Columns.Add("Returning Visitor", typeof(int));

            System.Collections.SortedList newvisitors       = new System.Collections.SortedList();
            System.Collections.SortedList returningvisitors = new System.Collections.SortedList();

            foreach (DataEntry entry in actual.Entries)
            {
                try
                {
                    int      visits      = int.Parse(entry.Metrics[0].Value);
                    string   visitorType = entry.Dimensions[0].Value.ToString();
                    DateTime datetime    = new DateTime(int.Parse(entry.Dimensions[1].Value.Substring(0, 4)), int.Parse(entry.Dimensions[1].Value.Substring(4, 2)), int.Parse(entry.Dimensions[1].Value.Substring(6, 2)));
                    string   date        = datetime.ToString("yyyy-MM-dd");
                    //dt.Rows.Add(new object[] { visitorType,visits });

                    if (visitorType.StartsWith("New"))
                    {
                        if (newvisitors.ContainsKey(date))
                        {
                            int current = int.Parse(newvisitors[date].ToString());
                            current          += visits;
                            newvisitors[date] = current;
                        }
                        else
                        {
                            newvisitors.Add(date, visits);
                        }
                    }
                    else
                    {
                        if (returningvisitors.ContainsKey(date))
                        {
                            int current = int.Parse(returningvisitors[date].ToString());
                            current += visits;
                            returningvisitors[date] = current;
                        }
                        else
                        {
                            returningvisitors.Add(date, visits);
                        }
                    }

                    if (visitors.ContainsKey(visitorType))
                    {
                        int current = int.Parse(visitors[visitorType].ToString());
                        current += visits;
                        visitors[visitorType] = current;
                    }
                    else
                    {
                        visitors.Add(visitorType, visits);
                    }
                }
                catch (Exception ex)
                {
                    Response.Write(ex.ToString());
                }
            }

            foreach (String key in visitors.Keys)
            {
                nvsr.Rows.Add(new object[] { key, int.Parse(visitors[key].ToString()) });
            }

            ArrayList keys = new ArrayList();

            keys.AddRange(newvisitors.Keys);
            keys.AddRange(returningvisitors.Keys);

            foreach (object key in keys)
            {
                int _newvisitors       = 0;
                int _returningvisitors = 0;

                if (newvisitors.ContainsKey(key))
                {
                    _newvisitors = int.Parse(newvisitors[key].ToString());
                }
                if (returningvisitors.ContainsKey(key))
                {
                    _returningvisitors = int.Parse(returningvisitors[key].ToString());
                }

                nandr.Rows.Add(new object[] { key, _newvisitors, _returningvisitors });
            }

            this.pie_newvsreturning.GviEnableEvents = true;
            this.pie_newvsreturning.ChartData(nvsr);

            this.area_newvsreturning.GviEnableEvents = true;
            this.area_newvsreturning.ChartData(nandr);
        }
Esempio n. 12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            google = Page as GooglePageBase;

            System.Data.DataTable dt = new System.Data.DataTable("Keywords");
            dt.Columns.Add("Keywords");
            dt.Columns.Add("Visitors", typeof(int));

            System.Data.DataTable wm = new System.Data.DataTable("Keywords");
            wm.Columns.Add("Name");
            wm.Columns.Add("Value");

            try
            {
                DataQuery query = new DataQuery();
                query.Ids         = "ga:" + google.Settings.Current.Id;
                query.Dimensions  = "ga:keyword";
                query.Metrics     = "ga:visits";
                query.Sort        = "-ga:visits";
                query.GAStartDate = DateTime.Now.AddMonths(-1).AddDays(-1).ToString("yyyy-MM-dd");
                query.GAEndDate   = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");

                if (google.Referringpage != null)
                {
                    query.Filters = "ga:pagePath==" + google.Referringpage;
                }

                /*
                 * if (google.Referringpage != null)
                 * {
                 *  query.Filters = "ga:keyword!=(not set),ga:pagePath==" + google.Referringpage;
                 * }
                 * else
                 * {
                 *  query.Filters = "ga:keyword!=(not set)";
                 * }
                 */

                DataFeed actual = google.Analytics.Query(query);

                foreach (DataEntry entry in actual.Entries)
                {
                    dt.Rows.Add(new object[] { entry.Dimensions[0].Value, int.Parse(entry.Metrics[0].Value) });
                }
            }
            catch (Exception ex)
            {
                ex.ToString();
                //TextBox1.Text = ex.ToString();
            }

            try
            {
                /*
                 * MessagesQuery mquery = new MessagesQuery();
                 *
                 * MessagesFeed messages = google.Webmastertools.Query(mquery);
                 *
                 * TextBox1.Text += messages.Title.Text + "\n";
                 * TextBox1.Text += messages.TotalResults + "\n";
                 * TextBox1.Text += messages.Entries.Count + "\n";
                 *
                 * foreach (MessagesEntry entry in messages.Entries)
                 * {
                 *
                 *  TextBox1.Text += entry.Title.Text + "\n";
                 *  TextBox1.Text += entry.Subject.Value + "\n";
                 *  TextBox1.Text += entry.Body + "\n";
                 *  entry.Delete();
                 * }
                 */

                using (GoogleWebmasterToolsSettings settings = google.Settings.Webmaster)
                {
                    KeywordsQuery query    = new KeywordsQuery(KeywordsQuery.CreateCustomUri(settings.EncodedSiteId));
                    KeywordsFeed  keywords = google.Webmastertools.Query(query);

                    /*
                     * TextBox1.Text += keywords.Title.Text + "\n";
                     * TextBox1.Text += keywords.TotalResults + "\n";
                     * TextBox1.Text += keywords.Entries.Count + "\n";
                     */

                    foreach (KeywordsEntry entry in keywords.Entries)
                    {
                        wm.Rows.Add(new object[] { entry.Keyword.Name, entry.Keyword.Value });
                    }

                    /*
                     * SitemapsQuery squery = new SitemapsQuery(SitemapsQuery.CreateCustomUri(settings.EncodedSiteId));
                     * SitemapsFeed sitemaps = google.Webmastertools.Query(squery);
                     *
                     * TextBox1.Text += sitemaps.Title.Text + "\n";
                     * TextBox1.Text += sitemaps.TotalResults + "\n";
                     * TextBox1.Text += sitemaps.Entries.Count + "\n";
                     *
                     * foreach (SitemapsEntry entry in sitemaps.Entries)
                     * {
                     *  TextBox1.Text += entry.Title.Text + "\n";
                     *  TextBox1.Text += entry.SitemapLastDownloaded + "\n";
                     *  TextBox1.Text += entry.SitemapType + "\n";
                     *  TextBox1.Text += entry.SitemapUrlCount + "\n";
                     * }
                     *
                     *
                     * CrawlIssuesQuery cquery = new CrawlIssuesQuery(CrawlIssuesQuery.CreateCustomUri(settings.EncodedSiteId));
                     * CrawlIssuesFeed crawlissues = google.Webmastertools.Query(cquery);
                     *
                     * TextBox1.Text += crawlissues.Title.Text + "\n";
                     * TextBox1.Text += crawlissues.TotalResults + "\n";
                     * TextBox1.Text += crawlissues.Entries.Count + "\n";
                     *
                     * foreach (CrawlIssuesEntry entry in crawlissues.Entries)
                     * {
                     *
                     *  TextBox1.Text += entry.Title.Text + "\n";
                     *  TextBox1.Text += entry.IssueType + "\n";
                     *  TextBox1.Text += entry.IssueDetail + "\n";
                     *  //entry.Delete();
                     * }
                     */
                }

                /*
                 * TextBox1.Text += google.Settings.Webmaster.EncodedSiteId;
                 * KeywordsQuery query = new KeywordsQuery(KeywordsQuery.CreateCustomUri(google.Settings.Webmaster.EncodedSiteId));
                 * KeywordsFeed keywords = google.Webmastertools.Query(query);
                 *
                 * TextBox1.Text += keywords.Title.Text + "\n";
                 * //TextBox1.Text += keywords.Subtitle.Text + "\n";
                 * TextBox1.Text += keywords.TotalResults + "\n";
                 * TextBox1.Text += keywords.Entries.Count + "\n";
                 *
                 * foreach (KeywordsEntry entry in keywords.Entries)
                 * {
                 *  TextBox1.Text += entry.Title + "\n";
                 *  TextBox1.Text += entry.Content.Content + "\n";
                 *  TextBox1.Text += entry.Content.Src + "\n";
                 *  TextBox1.Text += entry.Keyword.ChildNodes.Count + "\n";
                 *  TextBox1.Text += entry.Keyword.Name + "\n";
                 *  TextBox1.Text += entry.Keyword.Value + "\n";
                 *
                 *  //dt.Rows.Add(new object[] { entry.Keyword.Name, entry.Keyword.Value });
                 * }
                 */
            }
            catch (Exception ex)
            {
                ex.ToString();
                //TextBox1.Text += ex.ToString();
            }

            this.tbl_Keywords.ChartData(dt);
            this.tbl_Webmaster.ChartData(wm);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            GooglePageBase google = Page as GooglePageBase;

            DataQuery query = new DataQuery();

            query.Ids         = "ga:" + google.Settings.Current.Id;;
            query.Metrics     = "ga:visits,ga:timeOnSite";
            query.Dimensions  = "ga:date";
            query.Sort        = "ga:date";
            query.GAStartDate = DateTime.Now.AddMonths(-1).AddDays(-1).ToString("yyyy-MM-dd");
            query.GAEndDate   = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");

            if (google.Referringpage != null)
            {
                query.Filters = "ga:pagePath==" + google.Referringpage;
            }

            DataFeed actual = google.Analytics.Query(query);

            System.Data.DataTable dt = new System.Data.DataTable("Average Time by Date");
            dt.Columns.Add("Date");
            dt.Columns.Add("Average Time", typeof(float));
            dt.Columns.Add("Visits", typeof(int));

            System.Data.DataTable avg = new System.Data.DataTable("Average Time");
            avg.Columns.Add("Average");//, typeof(int));

            int   visitstotal = 0;
            float time        = float.Parse("0.0");

            foreach (DataEntry entry in actual.Entries)
            {
                try
                {
                    DateTime datetime = new DateTime(int.Parse(entry.Dimensions[0].Value.Substring(0, 4)), int.Parse(entry.Dimensions[0].Value.Substring(4, 2)), int.Parse(entry.Dimensions[0].Value.Substring(6, 2)));
                    string   date     = datetime.ToString("yyyy-MM-dd");

                    int visits = int.Parse(entry.Metrics[0].Value);
                    visitstotal += visits;
                    string timeonsite = entry.Metrics[1].Value.ToString();
                    time += float.Parse(timeonsite);
                    if (visits > 0)
                    {
                        dt.Rows.Add(new object[] { date, (float.Parse(timeonsite) / visits), visits });
                    }
                    else
                    {
                        dt.Rows.Add(new object[] { date, float.Parse("0.0"), visits });
                    }
                }
                catch (Exception ex)
                {
                    Response.Write(ex.ToString());
                }
            }

            avg.Rows.Add(new object[] { (time / visitstotal).ToString() + " seconds" });

            this.tbl_averageTime.ChartData(avg);
            this.area_averageTime.GviEnableEvents = true;
            this.area_averageTime.ChartData(dt);
        }