Jeff, Thanks so much for helping out! I know this sounds confusing. That code was just a snippet that was hastily given to me by our lead developer. He explains the "daily API call for data" this way: Google has "yesterday's" data ready to be retrieved by about 7 am every day. We make the call, Google gives us the data we need and then we process them into our reports on a daily basis. He provided the code just to show the kind of call we make and data points we retrieve (i.e not the getAdStats() call...)
We have our own reporting interface and are able to present Google Reporting data for like the past year up to "yesterday". I was simply comparing data from Google (both in its UI and reporting section) and our reports. Everything matches up perfectly except for Avg. rank. I am running reports (and using Google's UI) with the same date ranges. And in all 3 places I get a different value for avg. position. For example: -- Google UI (group and KW view) Avg. Pos for 3/1 - 3/11 = 1.2 -- Google Report for the same group and same date range = 2.3 -- our reports for the same group and same date range = 1.71 This same phenomenon happens even if I just select one day as the date range. (I did it for March 4th...) But all other data points match up fine - clicks, impressions, CTR, cost, CPC...everything else is spot on. And according to the documentation that you provided, other measures are just fine, as are all attributes. I would include screenshots, but that could compromise sensitive data. But this is across the board and occurs in just about every group (we are talking thousands). Let me know what kind of info you need from me to answer this question. I know it sounds confusing :) On Mar 12, 4:19 pm, AdWords API Advisor <adwordsapiadvi...@google.com> wrote: > Hello, > > I'm a little confused, because your report definition shows that > you're running a report with Daily aggregation and requesting a date > range that looks to be today's date (minus four hours) for both the > start and end date. So the only data you're getting back is the data > for the current day (which is not going to be very accurate). How > exactly are you calculating what the average position is for the date > range 3/1 - 3/11 if that's the type of report you're running? > > I also don't understand the distinction you're making between the 2.3 > number you say you're getting from a report, and then 1.71 number that > "your API brought in." Where is that 1.71 number coming from? > > Cheers, > -Jeff Posnick, AdWords API Team > > On Mar 12, 4:10 pm, aknoch <akn...@gmail.com> wrote: > > > Thanks so much for your reply, Jeff! We do not use the getAdStats() > > call. > > > This is what we use: > > > DefinedReportJob report = new DefinedReportJob(); > > > //KeywordReportJob report = new KeywordReportJob(); > > report.startDay = DateTime.Now.AddHours(-4); > > report.endDay = DateTime.Now.AddHours(-4); > > report.name = "CReport " + > > bigholder.CurrentCrawlRecords[0].CrawlRecordID.ToString(); > > report.aggregationTypes = new string[] { "Daily" }; > > report.selectedReportType = "Keyword"; > > //report.includeZeroImpression = true; > > //report.includeZeroImpressionSpecified = true; > > > report.adWordsTypeSpecified = false; > > report.keywordTypeSpecified = false; > > report.statusSpecified = false; > > report.selectedColumns = new string[] { "Keyword", > > "KeywordId", "AdGroup", "AdGroupId", "AveragePosition", "CampaignId", > > "Campaign", "Clicks", "CPC", "Cost", "Impressions", > > "KeywordDestUrlDisplay", "MaximumCPC", "AveragePosition" }; > > > So the DateTime.Now part seems to work for rest of the items; ie. > > clicks. we can separate out "yesterday's" and "today's" clicks. But I > > am at a loss as to how/where we get the AvgPosition info from. And I > > checked out the Google discrepancy for one of our major clients. The > > UI for a certain group says the avg. position for 3/1 - 3/11 is 1.2. > > However, I run a report and the same group says 2.3 in the report. And > > our API brought in 1.71 for the same date range :) > > > On Mar 12, 3:07 pm, AdWords API Advisor <adwordsapiadvi...@google.com> > > wrote: > > > > Hello, > > > > First off, when you say you're getting this information in part from > > > API calls, are you referring to the average position information > > > returned via the getAdStats() call? > > > > http://code.google.com/apis/adwords/docs/developer/AdService.html#get... > > > > If so, there's a note in that documentation saying "Note that the > > > AveragePosition field is not used." I wouldn't put faith in any value > > > returned there. > > > > As for the values pulled from reports, what I can tell you is that > > > the AveragePosition column is documented as being a "measure" rather > > > than an "attribute", which means that its value is calculated based on > > > the date range and aggregation spans you provide > > > (seehttp://code.google.com/apis/adwords/docs/developer/adwords_api_report...). > > > So if you have an aggregation of Daily and you take a look at the > > > average position value for yesterday, it should be the average > > > calculated based on all impressions that took place yesterday, and not > > > include anything from today. If you have an aggregation of Summary and > > > your date range includes both yesterday and today, then chances are > > > that some of today's impressions will skew the average position value > > > a bit. (And of course it takes time for all impressions from the > > > previous day to register in the reporting backend, but running your > > > reports at 7am should be enough time to cover most of them.) > > > > That's about as much as I know about how the report backend > > > calculates things. The portions of the question that are more about > > > reports in general and less about specific API functionality might > > > find better responses in the general AdWords discussion center: > > > > http://www.google.com/support/forum/p/AdWords?hl=en > > > > Cheers, > > > -Jeff Posnick, AdWords API Team > > > > On Mar 12, 2:44 pm, aknoch <akn...@gmail.com> wrote: > > > > > HI, > > > > I have had numerous questions from clients regarding "where Average > > > > Rank" numbers come from. There seems to be no constancy between the > > > > Adwords interface, Adwords reports, and what we pull through our API > > > > calls. > > > > > My question is, if we make our reporting call, what number is > > > > represented for average rank? I know that we get some intraday data > > > > (we make the calls around 7-8 am...), soI have poited the following > > > > theory: > > > > > When we bring in the data at 7am, we know which clicks(impressions, > > > > etc.) happened “yesterday” and which happened “today.” But we only > > > > know the Avg. Rank as of 7 am. So Google’s interface has a time-frame > > > > accurate number for Avg. Rank, but we just have a static number as of > > > > 7 am (and NOT 11:59 yesterday). > > > > > So Google can an Avg. Rank of 2.0 for “yesterday” b/c it can cut off > > > > that data at 11:59 pm. But we show 3.45 b/c that was the number as of > > > > 7 am when we made the reporting call. > > > > > Is this a valid theory? > > > > > Thanks! --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---