A robust database design would use placeholder values (e.g., "not
available") rather than discarding rows and destroying any hope of getting
to a single source of the truth. It's not a matter of a few bits not quite
adding up - the Campaign Report gives impressions twice, triple, or five
times as high as the total of the other reports.
Report definitions attached. I don't see an e-mail address on your
profile, but if you'd like to send it to the e-mail account I set up for
this AdWords account, [email protected], we can avoid
exposing either of our real e-mail address to whatever scrapers may be
operating in this group, and exchange more detailed data without alarming
the lawyers.
On Tuesday, June 19, 2012 9:18:06 AM UTC-5, Kevin Winter wrote:
>
> Hi,
> In an ideal world, running any report and a campaign report with no
> predicates should have totals that match. However, due to various objects,
> criteria, etc that are currently not exposed via the API, when you run a
> lower level report, any criteria (such as zip codes) which are not
> available in the API will be filtered out of the response (so there is no
> row entry and the totals don't include this value). The higher level
> reports (Account, Campaign, etc) can't see which parts of the campaign are
> for these un-exposed objects and will include metrics for them.
>
> This means that you won't be able to duplicate the UI screen you are
> currently looking at (which is effectively the Campaign report) by using
> the lower level reports.
>
> I'd be happy to try to reproduce this and figure out what exactly is
> causing the discrepancy (since my example doesn't match your report types).
> Can you please send me the ReportDefinition XML you are sending via AdHoc
> reports and the CID you are querying against? Sending them offlist would
> be fine.
>
> - Kevin Winter
> AdWords API Team
>
> On Monday, June 18, 2012 2:47:42 PM UTC-4, Jonathan Shaltz wrote:
>>
>> The Campaign Performance Report does total up to the same number of
>> impressions shown in the web GUI. So another way of expressing this
>> question is, what combination of reports add up to the Campaign Performance
>> Report?
>>
>> Arthur: Have you got an answer?
>> Ford: No. But I've got a different name for the problem!
>>
>> On Wednesday, June 13, 2012 10:42:21 AM UTC-5, Kevin Winter wrote:
>>>
>>> Hi,
>>> Could you please try to run a Campaign Performance Report with a
>>> ReportDefinition like that below against this account? When I ran it
>>> against this account, the totals matched the UI, but due to the way i'm
>>> running the report, I believe my results may include values normally
>>> filtered out in the API. If the results don't match the UI, could you
>>> please email me the results off-list so I can compare?
>>>
>>> <reportDefinition>
>>> <selector>
>>> <fields>Name</fields>
>>> <fields>Status</fields>
>>> <fields>Clicks</fields>
>>> <fields>Impressions</fields>
>>> <fields>Ctr</fields>
>>> <fields>AverageCpc</fields>
>>> <fields>Cost</fields>
>>> <dateRange>
>>> <min>20120401</min>
>>> <max>20120430</max>
>>> </dateRange>
>>> </selector>
>>> <reportName>Campaign</reportName>
>>> <reportType>CAMPAIGN_PERFORMANCE_REPORT</reportType>
>>> <dateRangeType>CUSTOM_DATE</dateRangeType>
>>> <downloadFormat>CSV</downloadFormat>
>>> <includeZeroImpressions>false</includeZeroImpressions>
>>> </reportDefinition>
>>>
>>> - Kevin Winter
>>> AdWords API Team
>>>
>>> On Monday, June 11, 2012 5:33:09 PM UTC-4, Jonathan Shaltz wrote:
>>>>
>>>> Thanks for the reply. Marketing tells me that we *are* using dynamic
>>>> search ads, but they make up only about 0.4% of our impressions. You're
>>>> saying there's no way to get this info via the API? That's probably
>>>> acceptable, as long as the volume remains so small.
>>>>
>>>> Video being excluded would certainly explain why our TV account is not
>>>> showing up, but I believe that's the only account with such ads, so it
>>>> does
>>>> not explain any of the other gaps. I'll confirm this point.
>>>>
>>>> I'm not interesting in duplicating functionality, I just want to see
>>>> approximately the same numbers from each source. The main account,
>>>> #9420663870, had 14.22 M impressions in April, per the GUI MCC account
>>>> overview page. The sum of the three ad hoc report types I listed earlier
>>>> comes to 5.57 M.
>>>>
>>>>
>>>> On Monday, June 11, 2012 2:18:56 PM UTC-5, Kevin Winter wrote:
>>>>>
>>>>> Hi,
>>>>> The UI is obviously updated more frequently than the API - we lean
>>>>> towards more stable and less frequent updates for API changes.
>>>>>
>>>>> The API therefore lags behind the UI in some features. In particular,
>>>>> there are a few objects that are filtered from the API, which could
>>>>> explain
>>>>> these discrepancies.
>>>>>
>>>>> Dynamic Search Ads will not come back in the API:
>>>>> http://adwords.blogspot.com/2011/10/introducing-dynamic-search-ads-beta.html
>>>>>
>>>>> Video Campaigns for AdWords for video will not have any of their stats
>>>>> visible via the API: http://www.google.com/ads/video/
>>>>>
>>>>> The UI is a dashboard intended to give an overview of account data.
>>>>> The reporting API is intended to provide access to various types of
>>>>> statistics related to your account. It is not a stated goal of the API
>>>>> to
>>>>> duplicate UI functionality (for example, the keyword tool in the UI
>>>>> requires use of both TES and TIS to correctly mimic the UI).
>>>>>
>>>>> If the objects I mentioned above fail to explain your missing data, it
>>>>> would be useful if we could get more specifics - what account, what type
>>>>> of
>>>>> information are you looking at in the UI, what reports and fields are you
>>>>> using, etc.
>>>>>
>>>>> - Kevin Winter
>>>>> AdWords API Team
>>>>>
>>>>> On Wednesday, June 6, 2012 4:32:48 PM UTC-4, Jonathan Shaltz wrote:
>>>>>>
>>>>>> Good afternoon. I'd like to use the API to pull exactly the same
>>>>>> data that users are used to seeing in the AdWords web GUI (e.g.,
>>>>>> https://adwords.google.com/mcm/Mcm?__u=123&__c=456#c). By pulling a
>>>>>> SEARCH_QUERY_PERFORMANCE_REPORT, an
>>>>>> AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT, and a
>>>>>> MANAGED_PLACEMENTS_PERFORMANCE_REPORT for each account, summing the
>>>>>> results, I get *close* for clicks, conversions, and spend.
>>>>>> Typically the numbers reported by the API are higher by about 1%. I can
>>>>>> write this off as being due to time zone differences or other edge cases.
>>>>>>
>>>>>> However, the API is returning much lower impressions, around one
>>>>>> third what the GUI gives. Is there another report I need which is
>>>>>> likely
>>>>>> to fill in the impressions?
>>>>>>
>>>>>> I'm comparing numbers for April, so any small retroactive changes
>>>>>> should long since has settled out.
>>>>>>
>>>>>> While the breadth of the gap varies, it's fairly consistent across
>>>>>> accounts; the web GUI may be twice as high for one account, and five
>>>>>> times
>>>>>> as high for another. There's one exception; we have a TV account with
>>>>>> tens
>>>>>> of millions of impressions per the web GUI, but for which I get no
>>>>>> records
>>>>>> at all when using the API. The reports complete without errors, they
>>>>>> just
>>>>>> contain no rows after the header. That's probably a separate issue, I
>>>>>> just
>>>>>> mention it in case it sparks any light bulbs. I'm not familiar with web
>>>>>> advertising, I'm a data guy not a marketing guy, so I'm not sure what's
>>>>>> relevant.
>>>>>>
>>>>>> When I've drilled into specific accounts, the gap is fairly
>>>>>> consistent across all campaigns.
>>>>>>
>>>>>> My API queries have not included any filtering, other than dates. I
>>>>>> typically query three or four days' data at a time, to avoid sampling
>>>>>> (this
>>>>>> was an issue with the Google Analytics API, I don't know if it also
>>>>>> applies
>>>>>> to AdWords).
>>>>>>
>>>>>> It would be much more convenient and intuitive if there was a single
>>>>>> report which gave the same dimensions and metrics as the web view.
>>>>>> Perhaps
>>>>>> one exists, which I've missed? I've not found a web page which
>>>>>> describes
>>>>>> what data can be found in each report. This
>>>>>> page<https://developers.google.com/adwords/api/docs/reference/latest/ReportDefinitionService.ReportDefinition.ReportType>has
>>>>>> a uselessly brief summary; this
>>>>>> page<https://developers.google.com/adwords/api/docs/appendix/reports>lists
>>>>>> the fields available for each report, but gives no information on
>>>>>> which *records* are included - unfortunately the answer is not "all".
>>>>>>
>>>>>
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
<reportDefinition>
<selector>
<fields>Id</fields>
<fields>KeywordText</fields>
<fields>Status</fields>
<dateRange><min>20120613</min><max>20120620</max></dateRange>
</selector>
<reportName>Test Report 2012-06-20</reportName>
<reportType>KEYWORDS_PERFORMANCE_REPORT</reportType>
<dateRangeType>CUSTOM_DATE</dateRangeType>
<downloadFormat>TSV</downloadFormat>
</reportDefinition>
<reportDefinition>
<selector>
<fields>Date</fields>
<fields>CampaignName</fields>
<fields>AdGroupName</fields>
<fields>KeywordId</fields>
<fields>Query</fields>
<fields>MatchType</fields>
<fields>Impressions</fields>
<fields>Clicks</fields>
<fields>Conversions</fields>
<fields>ConversionsManyPerClick</fields>
<fields>Cost</fields>
<dateRange><min>20120613</min><max>20120620</max></dateRange>
</selector>
<reportName>Test Report 2012-06-20</reportName>
<reportType>SEARCH_QUERY_PERFORMANCE_REPORT</reportType>
<dateRangeType>CUSTOM_DATE</dateRangeType>
<downloadFormat>TSV</downloadFormat>
</reportDefinition>
<reportDefinition>
<selector>
<fields>Date</fields>
<fields>CampaignName</fields>
<fields>AdGroupName</fields>
<fields>KeywordText</fields>
<fields>KeywordMatchType</fields>
<fields>PlacementUrl</fields>
<fields>Impressions</fields>
<fields>Clicks</fields>
<fields>Conversions</fields>
<fields>ConversionsManyPerClick</fields>
<fields>Cost</fields>
<dateRange><min>20120613</min><max>20120620</max></dateRange>
</selector>
<reportName>Test Report 2012-06-20</reportName>
<reportType>MANAGED_PLACEMENTS_PERFORMANCE_REPORT</reportType>
<dateRangeType>CUSTOM_DATE</dateRangeType>
<downloadFormat>TSV</downloadFormat>
</reportDefinition>