Performance issue with ACCOUNT_PERFORMANCE_REPORT

437 views
Skip to first unread message

di...@easyleads.com

unread,
Jan 6, 2016, 2:59:14 AM1/6/16
to AdWords API Forum, Assaf Frank
Hi,

We encounter a heavy performance issue with ACCOUNT_PERFORMANCE_REPORT on one of our accounts. 

We understand that the query isn't the simplest in terms of complexity, but the response time is reasonable for several hundreds of accounts we tested.

Query 1 (last year): SELECT Device, AdNetworkType1, Date, Impressions, Clicks, Cost, ConvertedClicks, AveragePosition, SearchImpressionShare, ContentImpressionShare FROM ACCOUNT_PERFORMANCE_REPORT DURING 20150101, 20151231
Result on the problematic account: 1095 rows retrieved in 21.8 seconds (21.164 seconds spent on the google api call)
Result on one of other accounts: 1095 rows retrieved in 3.49 seconds (2.79 seconds spent on the google api call)

Query 2 (all time): SELECT Device, AdNetworkType1, Date, Impressions, Clicks, Cost, ConvertedClicks, AveragePosition, SearchImpressionShare, ContentImpressionShare FROM ACCOUNT_PERFORMANCE_REPORT DURING 20001101, 20160106
Result on the problematic account: 5436 rows retrieved in 42.204 seconds (40.967 seconds spent on the google api call)
Result on one of other accounts: 11013 rows retrieved in 6.543 seconds (4.604 seconds spent on the google api call)

What could be the reason?

Thanks

Zweitze

unread,
Jan 6, 2016, 7:50:58 AM1/6/16
to AdWords API Forum, as...@easyleads.com
Many years ago I noticed that reports with conversion information are much slower than reports without conversion information. Check the performance of the query without asking for converted clicks.
Maybe that particular account has no conversion trackers set up?

Apart from that, in general you should try reducing the complexity of the query (eg. by removing fields, reducing period etc.) until the performance becomes normal. Then confront Google, it should be easy when you can give them a direction to look.

Assaf Frank

unread,
Jan 6, 2016, 11:21:39 AM1/6/16
to AdWords API Forum, as...@easyleads.com
I would like to add that these reports ran OK up to a couple of days ago.
Now the same reports seem to be taking too much time so we get an exception - com.google.api.ads.adwords.lib.utils.ReportException: Problem sending data to report download server

Is there currently an issue with the reporting on large accounts causing the report to fail?

Thanks.

Nadine Sundquist (AdWords API Team)

unread,
Jan 6, 2016, 5:09:27 PM1/6/16
to AdWords API Forum, as...@easyleads.com
Hi Assaf,

I haven't heard of any issues with reporting currently. If you find that this issue is persisting, please click Reply privately to author in the forum, and send me one customer ID where your are having problems and one customer ID where you aren't having problems. That way I can try reproducing it from my end. Once I catch it in the act, it'll be a lot easier for me to find the source of the issue.

Thanks,
Nadine, AdWords API Team 

di...@easyleads.com

unread,
Jan 7, 2016, 8:51:05 AM1/7/16
to AdWords API Forum, as...@easyleads.com
After some investigation we've figured out that the degradation is caused by competitive metrics.

Query: SELECT Device, AdNetworkType1, Date, Impressions, Clicks, Cost, ConvertedClicks, AveragePosition FROM ACCOUNT_PERFORMANCE_REPORT DURING 20001101, 20160106
5333 rows retrieved in 4.56 seconds (3.539 seconds spent on the google api call).

Query: SELECT Device, AdNetworkType1, Date, Impressions, Clicks, Cost, ConvertedClicks, AveragePosition, SearchImpressionShare FROM ACCOUNT_PERFORMANCE_REPORT DURING 20001101, 20160106
5439 rows retrieved in 36.01 seconds (34.729 seconds spent on the google api call).

Query: SELECT Device, AdNetworkType1, Date, Impressions, Clicks, Cost, ConvertedClicks, AveragePosition, SearchImpressionShare, ContentImpressionShare FROM ACCOUNT_PERFORMANCE_REPORT DURING 20001101, 20160106
5439 rows retrieved in 51.798 seconds (50.568 seconds spent on the google api call).

Note that the last two queries return more rows, this is because querying these fields causes the report to include zero impressions. Adding Impressions>0 condition reduces the number of rows, but doesn't improve the performance.

Are there any known performance issues with these metrics? If so - are you going to fix it?

Thanks.

Anash P. Oommen (AdWords API Team)

unread,
Jan 7, 2016, 9:14:06 AM1/7/16
to AdWords API Forum, as...@easyleads.com
Hi Assaf,

I think you should fix your query to run it for a shorter date period. You are requesting 16(?!!) years worth of data for SearchImpressionShare and ContentImpressionShare segmented by date. I wonder what meaningful stats you hope to pull from it given that Google only started providing Search/Content ImpressionShare in 2012.

Cheers,
Anash P. Oommen,
AdWords API Advisor.

di...@easyleads.com

unread,
Jan 7, 2016, 10:16:03 AM1/7/16
to AdWords API Forum, as...@easyleads.com
The during condition is a workaround for all time, since AWQL requires to specify a during period (otherwise an error QueryError.DATE_COLUMN_REQUIRES_DURING_CLAUSE is thrown) we specify there a range since AdWords exists till today.

We are expecting to get "--" in the competitive metrics before 2012 like in all the other cases when this data isn't available (SearchIS for account with only Display Network campaigns and vice versa, or data for the current day and the day before).

We didn't want to split the reports to different periods, e.g. 2000-2011 and 2012-today from performance considerations, but apparently we will do it now.

Thank you

di...@easyleads.com

unread,
Jan 9, 2016, 5:26:18 AM1/9/16
to AdWords API Forum, as...@easyleads.com
Just to let you know - since yesterday the original query started to perform like before, 3-4 seconds instead of 40-50 seconds during Wednesday-Thursday. 


On Wednesday, January 6, 2016 at 9:59:14 AM UTC+2, di...@easyleads.com wrote:
Reply all
Reply to author
Forward
0 new messages