I'm attempting to:
  1. define a Campaign Performance report
  2. download report
  3. process locally
  4. revise budgets

But stuck on running the second step.

First of all, is downloading a report an appropriate way to fetch
campaign budgets across all accounts?  (This works from the UI, and
the Reporting docs suggest that if you can do it from the UI, it can
be done through the API.  It works through both new and old UI
reports.)


Through the API, I'm finding "clientEmail" header to be required to
run the report and therefore must also be added when creating the
report.  If omitted or mismatched, running the report fails.

Without the header, I get
AuthenticationError.CLIENT_CUSTOMER_ID_IS_REQUIRED when attempting to
download the report.

With the header containing email address of the person who created the
MCC account, I then get
ReportDefinitionError.INVALID_REPORT_DEFINITION_ID when attempting to
download the report.  (Same header, same value used in both scripts)

With using my own address both when defining and downloading the
report, I get a valid file but no content; e.g., CSV file with headers
and Total row but nothing in between.

example resulting .csv file:

"Campaign Budgets (Feb 2, 2011)"
Account,Campaign ID,Campaign,Budget,Cost,Cost / conv. (1-per-click)
Total,,,,0.00,0.00

I suspect that I'm simply supplying the wrong header or wrong value:
in this case, the wrong email address, but I've used the only ones
that seem appropriate: first, my own adwords email address and then
the one associated with the MCC account.  The only other possibly
relevant email addresses would be of individual client accounts within
the umbrella of the MCC account, but then I'd be running one report
for each account.


I'm using v201008 with adwords_api_python_13.2.0 library, making only
necessary changes to example code:
add_keywords_performance_report_definition.py and download_report.py,
changed for Campaign reports and adding the header.

I couldn't find a clean way to inject the header, but this works:

client = AdWordsClient(path=os.path.join('..', '..', '..', '..'))
client._headers["clientEmail"] = "[email protected]"


Any relevant recommendations would be appreciated.  Thanks!

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

Reply via email to