Bug? - adwords_api_report_structure

12 views
Skip to first unread message

timprepscius

unread,
Mar 16, 2008, 6:49:17 PM3/16/08
to AdWords API Forum
Hello,

Is this page accurate?
http://www.google.com/apis/adwords/developer/adwords_api_report_structure.html#aggr_Keyword

Are there any implied preconditions for various Optional Columns?


Structure - Keyword
sandbox validateReport succeeds.
adwords validateReport faults:

<faultcode>soapenv:Server.userException</faultcode>
<faultstring>One or more report job parameters is invalid.</
faultstring>
<detail>
<ns1:fault xmlns:ns1="https://adwords.google.com/api/
adwords/v11">
<ns1:code>30</ns1:code>
<ns1:message>One or more report job parameters is
invalid.</ns1:message>
<ns1:trigger>The following columns are not supported by
the Report Type Structure : [MaximumCPM]</ns1:trigger>
</ns1:fault>
</detail>


Thanks,

Tim

Albert

unread,
Mar 17, 2008, 4:35:25 AM3/17/08
to AdWords API Forum
I can confirm that. I think it's rather a missing documentation part
rather than a bug. I think the issue is that you request a keyword
struct report for a keword targeted campaign, and there MaximumCPM is
irrelevant. MaximumCPM should be relevant for site targeted
campaigns.

On a second thought if requesting MaximumCPM for keyword campaigns, it
could pass validation and appear as null in the xml report, no?

AdWords API Advisor

unread,
Mar 17, 2008, 3:14:06 PM3/17/08
to AdWords API Forum
I've posted about this in the forums before, but it bears repeating as
I know it's a pain point for developers out there using v11 reporting.
As Albert describes above, if you request a column which does not
"make sense" for a report given the account data you specify then
validation will fail. Asking for a CPM column when you only have CPC
campaigns in your account is one such example of this.

This obviously puts a burden on the developer to deal with report
validation failures that can be somewhat unpredictable--when writing
generic code a developer obviously would not know whether there are
CPM campaigns in an account, or some of the other gotchas. We've heard
feedback in the forum asking for a method that could be called to
return a dynamic list of supported columns given a particular account
setup, or feedback like the above asking whether we can just validate
the report in such a situation and return null for unsupported
columns. This feedback has been passed along to the API's core
engineering team, but I unfortunately can't comment beyond that.

The most generic way of coding around this in the meantime requires
that you make sure you call validateReportJob() before scheduling a
report, and if there is a SOAP fault returned, parsing out the name of
the invalid columns from the <trigger> element and excluding them from
your report definition. I know that this is ugly, and as I said, the
core engineering team is aware of that.

Cheers,
-Jeff Posnick, AdWords API Team

pornllc

unread,
Apr 11, 2008, 5:38:00 PM4/11/08
to AdWords API Forum

I'm running into somewhat of the same problem described with campaigns
- some of our campaigns for some of our clients have conversion
tracking enabled, some don't. Some have conversions, some don't. There
doesn't seem to be any way to write a single report job generator for
all of these campaigns, because validateReportJob() fails when the
"don'ts" are queried like the "dos".

Are there any updates on changes to the API for this? Couldn't the API
simply return those columns with 0s or something? This used to happen
with CustomReportJob, which let me write the same code for all
campaigns and just mark 0s when it didn't apply. It's still
technically correct too - if conversions are not enabled on a campaign
I don't think it is wrong to say that campaign had 0 conversions.





On Mar 17, 12:14 pm, AdWords API Advisor
<adwordsapiadvi...@google.com> wrote:
> I've posted about this in the forums before, but it bears repeating as
> I know it's a pain point for developers out there using v11 reporting.
> As Albert describes above, if you request a column which does not
> "make sense" for a report given the account data you specify then
> validation will fail. Asking for a CPM column when you only have CPC
> campaigns in your account is one such example of this.
>
> This obviously puts a burden on the developer to deal with report
> validation failures that can be somewhat unpredictable--when writinggenericcode a developer obviously would not know whether there are
> CPM campaigns in an account, or some of the other gotchas. We've heard
> feedback in the forum asking for a method that could be called to
> return a dynamic list of supported columns given a particular account
> setup, or feedback like the above asking whether we can just validate
> the report in such a situation and return null for unsupported
> columns. This feedback has been passed along to the API's core
> engineering team, but I unfortunately can't comment beyond that.
>
> The mostgenericway of coding around this in the meantime requires
> that you make sure you call validateReportJob() before scheduling a
> report, and if there is a SOAP fault returned, parsing out the name of
> the invalid columns from the <trigger> element and excluding them from
> your report definition. I know that this is ugly, and as I said, the
> core engineering team is aware of that.
>
> Cheers,
> -Jeff Posnick, AdWords API Team
>
> On Mar 17, 4:35 am, Albert <albert.ben...@gmail.com> wrote:
>
> > I can confirm that. I think it's rather a missing documentation part
> > rather than a bug. I think the issue is that you request a keyword
> > struct report for a keword targetedcampaign, and there MaximumCPM is
Reply all
Reply to author
Forward
0 new messages