private List<Uri> SetPageEvents(List<Uri> uris)
        {
            // 1. Setup goals
            //    Example: http://sitecore650dmsjump/en/Products.aspx?sc_trk=Search,07D9A696-A2FE-4A59-88FB-A57FE386B8AD,1,Hallo,World

            var numberOfGoals = uris.Count * (int)this.Percentage / 100;
            var goalNames = this.GenerateGoalNames(numberOfGoals);

            var eventQueryStringKey = Settings.GetSetting("Analytics.EventQueryStringKey").Trim();

            for (int i = 0; i < goalNames.Count; i++)
            {
                QueryStringBuilder queryStringBuilder = new QueryStringBuilder();
                queryStringBuilder.Add(eventQueryStringKey, goalNames[i]); //  + ",00000000-0000-0000-0000-000000000000,13,Traffic,Emulation");
                uris[i] = uris[i].AddQueryString(queryStringBuilder);
            }
            return uris;
        }
        private List<Uri> SetIP(List<Uri> uris)
        {
            var ipQueryStringKey = Settings.GetSetting("Analytics.SessionIpQueryStringKey").Trim();

            QueryStringBuilder queryStringBuilder = new QueryStringBuilder();
            queryStringBuilder.Add(ipQueryStringKey, this.IP);

            for (int i = 0; i < uris.Count; i++)
                uris[i] = uris[i].AddQueryString(queryStringBuilder);

            return uris;
        }
        private List<Uri> SetTafficType(List<Uri> uris)
        {
            var trafficTypeQueryStringKey = Settings.GetSetting("Analytics.SessionTrafficTypeQueryStringKey").Trim();

            QueryStringBuilder queryStringBuilder = new QueryStringBuilder();
            queryStringBuilder.Add(trafficTypeQueryStringKey, this.TrafficType);

            for (int i = 0; i < uris.Count; i++)
                uris[i] = uris[i].AddQueryString(queryStringBuilder);

            return uris;
        }
        private List<Uri> SetKeyword(List<Uri> uris)
        {
            QueryStringBuilder queryStringBuilder = new QueryStringBuilder();

            var keywordQueryStringKey = Settings.GetSetting("Analytics.SessionKeywordQueryStringKey").Trim();
            var urlReferrerStringKey = Settings.GetSetting("Analytics.SessionUrlReferrerStringKey").Trim();

            queryStringBuilder.Add(keywordQueryStringKey, this.Keyword);
            queryStringBuilder.Add(urlReferrerStringKey, this.UrlReferrer);

            for (int i = 0; i < uris.Count; i++)
                uris[i] = uris[i].AddQueryString(queryStringBuilder);

            return uris;
        }
        private List<Uri> SetCampaign(List<Uri> uris)
        {
            var campaignTypeQueryStringKey = Settings.GetSetting("Analytics.CampaignQueryStringKey").Trim();

            QueryStringBuilder queryStringBuilder = new QueryStringBuilder();
            queryStringBuilder.Add(campaignTypeQueryStringKey, this.Campaign);

            for (int i = 0; i < uris.Count; i++)
                uris[i] = uris[i].AddQueryString(queryStringBuilder);

            return uris;
        }
 private Uri SetDateRange(Uri uri, string queryStringKey, DateTime dt)
 {
     QueryStringBuilder queryStringBuilder = new QueryStringBuilder();
     queryStringBuilder.Add(queryStringKey, dt.ToString("s"));
     uri = uri.AddQueryString(queryStringBuilder);
     return uri;
 }