我正在从AdWords API中提取一些简单的统计信息,并希望对其进行改进以恢复同比数据。
我想获得2017年和2018年一个月的总点击次数,展示次数和点击率。
我的目标:一次调用即可提取此数据...我不想每次需要比较2个日期范围时都必须调用API两次。
我不确定AWQL是否可以满足此要求。有人可以建议吗?这是我的代码...
var googleService = adClient.GetService(Services.V0.GoogleAdsService);
string query = @"SELECT date, metrics.impressions, metrics.clicks, metrics.ctr
FROM campaign
WHERE date BETWEEN '2018-10-01' AND '2018-10-31'
OR date BETWEEN '2017-10-01' AND '2017-10-31' // <- this bit is not working
LIMIT 50";
PagedEnumerable<SearchGoogleAdsResponse, GoogleAdsRow> response =
googleService.Search(customerId.ToString(), query);
if(response!=null && response.Count()>0)
{
//then (just as an example), I could extract my info like...
long clicks2018 = Convert.ToInt64(response.Where(n => n.Date.StartsWith("2018")).Sum(n => n.Metrics.Clicks));
long impressions2018 = Convert.ToInt64(response.Where(n => n.Date.StartsWith("2018")).Sum(n => n.Metrics.Impressions));
double ctr2018 = Convert.ToDouble(response.Where(n => n.Date.StartsWith("2018")).Sum(n => n.Metrics.Ctr));
long clicks2017 = Convert.ToInt64(response.Where(n=>n.Date.StartsWith("2017")).Sum(n => n.Metrics.Clicks));
long impressions2017 = Convert.ToInt64(response.Where(n => n.Date.StartsWith("2017")).Sum(n => n.Metrics.Impressions));
double ctr2017 = Convert.ToDouble(response.Where(n => n.Date.StartsWith("2017")).Sum(n => n.Metrics.Ctr));
}