public IEnumerable <Goal> GetGoalCompletions(IEnumerable <Goal> goals, string start, string end)
{
var metrics = "ga%3Avisits,";
foreach (var goal in goals)
{
metrics += "ga%3Agoal" + goal.Number + "Completions,";
}
metrics = metrics.TrimEnd(',');
var data = _dataProvider.SendRequest(_token, "https://www.google.com/analytics/feeds/data?ids=ga%3A" + _profile.Value + "&metrics=" + metrics + "&start-date=" + start + "&end-date=" + end + "&max-results=50");
var parser = new AnalyticsGoalParser();
var visits = parser.ParseVisits(data);
var completions = parser.ParseCompletions(data);
foreach (var completion in completions)
{
var goal = goals.FirstOrDefault(x => x.Number == completion.Key);
goal.Completions = completion.Value;
goal.ConversionRate = Math.Round((completion.Value / (double)visits) * 100, 2);
yield return(goal);
}
}