validateReportJob fails on some accounts, passes on other accounts

6 views
Skip to first unread message

zdvso...@hotmail.com

unread,
Feb 6, 2008, 11:21:55 AM2/6/08
to AdWords API Forum
I'm rewriting my v10 app to v11, and trying to use validateReportJob.
When testing with some accounts (in the end the code will be used for
hundreds) I get this message:

<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 Creative : [MaximumCPM]</ns1:trigger>
</ns1:fault>

But with other accounts, the very same ReportJob passes. And it should
be, as the documentation states that this is a valid column for Ad
Performance reports with aggregationType Daily. The job is consistent
with the report rules.

But I can see why this error was raised - the account does not have
CPM. I can imagine similar rejections, maybe you cannot include
Conversions on accounts without Conversion scripts, maybe you cannot
include DestinationURL on accounts with only Mobile Ads. The
possibilities seem endless.

But I want to know how to deal with this. How can one predict whether
a report for Account X, can include column Y? The only function
revealing this is validateReportJob (and scheduleReportJob). But they
do not pass any structured information, just some text with hints in
it. Can I be sure that the error message of the trigger is never
changed nor localized?

Again, I want to know how I'm supposed to deal with it - the
documentation states just that I have to call validateReportJob, but
not how to interprete its results.

AdWords API Advisor

unread,
Feb 8, 2008, 12:16:46 PM2/8/08
to AdWords API Forum
Hello,

Your characterization of this issue is correct. It definitely can be
frustrating to code defensively against these exceptions when they're
just returned as free-form text in brackets in the exception. The need
to make it easier for developers to programmatically determine valid
columns for v11 reports is something that the AdWords API team is
aware of, though I don't have any concrete plans I can share at this
time.

Parsing the text returned from the exception is your best bet at this
point, and I can say at least that there is no localization of the
column names between brackets in the <trigger> of the SOAP fault.
Parsing that and adjusting your DefinedReportJob specification
accordingly would be the way to go for the time being.

Cheers,
-Jeff Posnick, AdWords API Team


On Feb 6, 11:21 am, "zdvsoftw...@hotmail.com"

zdvso...@hotmail.com

unread,
Feb 12, 2008, 6:06:53 AM2/12/08
to AdWords API Forum
Thanks for the confirmation. Indeed defensive coding is my objective
here.

One more thing though - I've seen error 30 (invalid parameter) arise
on different occasions. And validateReportJob could
Can I be sure that if validateReportJob rises an error 30 for non-
field reasons, <trigger> won't have brackets?

AdWords API Advisor

unread,
Feb 12, 2008, 5:04:49 PM2/12/08
to AdWords API Forum
The V11 validation logic should be consistent in returning invalid
column names in brackets. If you have a specific example of an error
30 that you've encountered that didn't follow this pattern I can look
into why that might be different.

Cheers,
-Jeff Posnick, AdWords API Team


On Feb 12, 6:06 am, "zdvsoftw...@hotmail.com"

zdvso...@hotmail.com

unread,
Feb 12, 2008, 7:15:12 PM2/12/08
to AdWords API Forum
> [...] If you have a specific example of an error
> 30 that you've encountered that didn't follow this pattern I can look
> into why that might be different.

Well... error 30 was present in earlier versions - I believe from v2
on. Since v2 up to v10 did allow any combination of fields on any
account, this error could only be raised when something else was wrong
in the request. I believe this happened when you specified a
CustomReportJob with both campaign ids and campaign statusses, but I'm
not sure.
Back to v11, does error 30 always mean that the combination of fields
is illegal for that account, and that the 'old' reasons are now
reported by a different code? Or are the old reasons reported by the
same error code and do I need to do more parsing to detect that the
problem is the fields-account combination was invalid?

AdWords API Advisor

unread,
Feb 15, 2008, 5:00:33 PM2/15/08
to AdWords API Forum
Hello,

I'd recommend doing the additional parsing to see if there are column
values in between braces at this point, as the old errors have not
changed their error code.

As I said, we do realize that this is not an ideal way of doing
things, but I don't have anything I could share right now about
potential changes to the API to make things easier.

Cheers,
-Jeff Posnick, AdWords API Team


On Feb 12, 7:15 pm, "zdvsoftw...@hotmail.com"
Reply all
Reply to author
Forward
0 new messages