public RestResponse <PageTrackingResponse> GetPageTracking(string profileID, string relativeUrl, DateTime?startDate = null, DateTime?endDate = null) { RestRequest request = new RestRequest(GoogleConstants.GoogleAnalyticsUrl, RequestMode.UrlEncoded, AcceptMode.Json); request.Parameters.Add("ids", "ga:" + profileID); request.Parameters.Add("start-date", startDate.HasValue ? startDate.Value.ToString("yyyy-MM-dd") : "30daysAgo"); request.Parameters.Add("end-date", endDate.HasValue ? endDate.Value.ToString("yyyy-MM-dd") : "today"); request.Parameters.Add("metrics", new[] { MetricesType.UniquePageViews, MetricesType.PageValue, MetricesType.Entrances, MetricesType.PageViews, MetricesType.TimeOnPage, MetricesType.Exits, MetricesType.EntranceRate, MetricesType.PageViewsPerVisit, MetricesType.AverageTimeOnPage, MetricesType.ExitRate }.Select(x => x.ToDescription()).ToConcatenatedString(",")); request.Parameters.Add("filters", "ga:pagePath=~" + UrlPath.AppendLeadingSlash(relativeUrl)); return(this.Get <PageTrackingResponse>(request)); }