Hello Marijn,
Yes, I have, I'll look into it shortly. -Danial, AdWords API Team. Original Message Follows: ------------------------ From: Marijn <mar...@denexterict.nl> Subject: Re: Adwords UI vs AD_PERFORMANCE_REPORT totals Date: Fri, 14 Sep 2012 03:08:53 -0700 (PDT) > Hi Danial, > > I've sent you an email. Or so I hope because I'm not sure if I got the > correct mailaddress. > Can you let me know that you have received it? > > Op donderdag 13 september 2012 11:31:07 UTC+2 schreef Danial Klimkin het > volgende: > > > Hello Marijn, > > > > > > Please send me the CID of the account, XML definition for the report, and > > it's full output to me *over email*. > > > > > > -Danial, AdWords API Team. > > > > > > On Monday, September 10, 2012 7:14:48 PM UTC+4, Marijn wrote: > >> > >> Hi there, > >> > >> We are using the .NET client library 14.7.0.0 to calculate the total > >> clicks on a specific day using the AD_PERFORMANCE_REPORT. When we compare > >> these results with the totals shown in the Adwords UI (Campaigns -> All > >> online campaigns -> Ads) there is a difference. The cause of this > >> difference is missing rows in the AD_PERFORMANCE_REPORT report. > >> > >> By looking at the adIDs we can figure out which ads are missing in the > >> report. These ads are not any different from the ones that are present. > >> We've checked stuff like AdGroup status, impressions, etc. > >> > >> Below is the code we use to calculate the total of clicks for yesterday > >> (clicksYesterday). > >> How can we find out why certain ads are missing or how to solve it? > >> > >> > >> // Create selector > >> Selector selector = new Selector(); > >> selector.fields = new string[] > >> { > >> "AdNetworkType2", > >> "AdNetworkType1", > >> "AdGroupName", > >> "AdGroupId", > >> "AdGroupStatus", > >> "Status", > >> "AdType", > >> "CampaignName", > >> "CampaignId", > >> "CampaignStatus", > >> "Clicks", > >> "Conversions", > >> "Cost", > >> "CostPerConversion", > >> "AverageCpc", > >> "AverageCpm", > >> "CreativeDestinationUrl", > >> "Description1", > >> "Description2", > >> "Url", > >> "DisplayUrl", > >> "Headline", > >> "Id", > >> "ImageCreativeName", > >> "ImageAdUrl", > >> "Impressions", > >> "AveragePosition", > >> "Date", > >> }; > >> selector.dateRange = new DateRange(); > >> selector.dateRange.min = > >> DateTime.Now.Date.AddMonths(-6).ToString("yyyyMMdd"); > >> selector.dateRange.max = DateTime.Now.Date.ToString("yyyyMMdd"); > >> > >> // Add predicates > >> selector.predicates = new Predicate[] { > >> new Predicate() > >> { > >> field = "Status", > >> @operator = PredicateOperator.IN, > >> values = new string[] { "ENABLED", "PAUSED", "DISABLED" } > >> }, > >> new Predicate() > >> { > >> field = "AdGroupStatus", > >> @operator = PredicateOperator.IN, > >> values = new string[] { "ENABLED", "PAUSED", "DELETED" } > >> }, > >> new Predicate() > >> { > >> field = "CampaignStatus", > >> @operator = PredicateOperator.IN, > >> values = new string[] { "ACTIVE", "PAUSED", "DELETED" } > >> }, > >> }; > >> > >> // Create report definition > >> ReportDefinition reportDefinition = new ReportDefinition(); > >> reportDefinition.reportName = "Test - Creative performance report"; > >> reportDefinition.dateRangeType = > >> ReportDefinitionDateRangeType.CUSTOM_DATE; > >> reportDefinition.reportType = > >> ReportDefinitionReportType.AD_PERFORMANCE_REPORT; > >> reportDefinition.downloadFormat = DownloadFormat.XML; > >> reportDefinition.selector = selector; > >> reportDefinition.includeZeroImpressions = true; > >> > >> // Download the report > >> ReportUtilities reportUtilities = new ReportUtilities(this.User); > >> reportUtilities.ReportVersion = "v201206"; > >> reportUtilities.DownloadClientReport(reportDefinition, > >> @"c:\temp\adperformance.xml"); > >> > >> // Extract ids > >> List<long> adIdsYesteday = new List<long>(); > >> long clicksYesterday = 0; > >> using (FileStream fileStream = new > >> FileStream(@"c:\temp\adperformance.xml", FileMode.Open)) > >> { > >> using (XmlReader xmlReader = XmlReader.Create(fileStream)) > >> { > >> xmlReader.MoveToContent(); > >> while (xmlReader.Read()) > >> { > >> // Handle each 'row' > >> if (xmlReader.Name == "row") > >> { > >> // Get values > >> XElement rowNode = (XElement)XElement.ReadFrom(xmlReader); > >> long adId = long.Parse(rowNode.Attribute("adID").Value); > >> DateTime adDate = > >> DateTime.ParseExact(rowNode.Attribute("day").Value, "yyyy-MM-dd", > >> CultureInfo.InvariantCulture); > >> long adClicks = > >> long.Parse(rowNode.Attribute("clicks").Value); > >> > >> // Handle data for yesterday > >> if (adDate == DateTime.Now.Date.AddDays(-1)) > >> { > >> clicksYesterday += adClicks; > >> adIdsYesteday.Add(adId); > >> } > >> } > >> } > >> } > >> } > >> > >> // Store adIDs > >> using (FileStream fs = new FileStream(@"c:\temp\ids.txt", > >> FileMode.Create)) > >> using (StreamWriter sw = new StreamWriter(fs)) > >> foreach (string s in adIdsYesteday.Select(id => id.ToString())) > >> sw.WriteLine(s); > >> > > > > -- > =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ > Also find us on our blog and discussion group: > http://adwordsapi.blogspot.com > http://groups.google.com/group/adwords-api > =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ > > You received this message because you are subscribed to the Google > Groups "AdWords API Forum" group. > To post to this group, send email to adwords-api@googlegroups.com > To unsubscribe from this group, send email to > adwords-api+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/adwords-api?hl=en -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en