adWords API vs ads api - keywords performance report

275 views
Skip to first unread message

va...@adcore.com

unread,
Apr 26, 2019, 10:13:53 AM4/26/19
to AdWords API and Google Ads API Forum
Hello,

I have several concerns regarding new API, I fill like making tests instead to do the migration...
1. performance downgrade in new API and not the same result:
When I'm downloading KEYWORDS_PERFORMANCE_REPORT (last_7_days) using old API with inlclude_zero_impressions=False:
FIELDS = ['ExternalCustomerId', 'AccountDescriptiveName', 'AccountCurrencyCode', 'CampaignName', 'Criteria', 'KeywordMatchType', 'BiddingStrategyType',

               
'Clicks', 'CpcBid', 'AverageCpc', 'AveragePosition', 'CreativeQualityScore', 'PostClickQualityScore', 'QualityScore',
               
'SearchPredictedCtr', 'HistoricalLandingPageQualityScore', 'HistoricalQualityScore', 'HistoricalSearchPredictedCtr',
               
'HistoricalCreativeQualityScore']
REPORT_DEFINITION
= {
       
'reportName': 'Custom KEYWORDS_PERFORMANCE_REPORT',
       
'dateRangeType': 'LAST_7_DAYS',
       
'reportType': 'KEYWORDS_PERFORMANCE_REPORT',
       
'downloadFormat': 'CSV',
       
'selector': {
           
'fields': FIELDS,
           
'predicates': [{
               
'field': 'Clicks',
               
'operator': 'GREATER_THAN',
               
'values': [0]
           
}]
       
}}

It take around 3 secs and return 10222 keywords
When I'm using new API mechanism GoogleAdsService.Search using the query same definition as above just translated to query:
       SELECT
             customer
.id,
             customer
.descriptive_name,
             customer
.currency_code,
             campaign
.name,
             ad_group_criterion
.criterion_id,
             ad_group_criterion
.keyword.text,
             ad_group_criterion
.keyword.match_type,
             campaign
.bidding_strategy_type,
             metrics
.clicks,
             ad_group_criterion
.effective_cpc_bid_micros,
             metrics
.average_cpc,
             metrics
.average_position,
             metrics
.historical_creative_quality_score,
             metrics
.historical_landing_page_quality_score,
             metrics
.historical_quality_score,
             metrics
.historical_search_predicted_ctr,
             ad_group_criterion
.quality_info.creative_quality_score,
             ad_group_criterion
.quality_info.post_click_quality_score,
             ad_group_criterion
.quality_info.quality_score,
             ad_group_criterion
.quality_info.search_predicted_ctr
        FROM
            keyword_view
        WHERE
            metrics
.impressions > 0 AND
            metrics
.clicks > 0 AND
            segments
.date DURING LAST_7_DAYS
It take around 15 secs and return 10220 keywords
5 times longer than in old API
2. performance degradation in new API and not the same results when I removed predicate clicks:
old API:
FIELDS = ['ExternalCustomerId', 'AccountDescriptiveName', 'AccountCurrencyCode', 'CampaignName', 'Criteria', 'KeywordMatchType', 'BiddingStrategyType',

               
'Clicks', 'CpcBid', 'AverageCpc', 'AveragePosition', 'CreativeQualityScore', 'PostClickQualityScore', 'QualityScore',
               
'SearchPredictedCtr', 'HistoricalLandingPageQualityScore', 'HistoricalQualityScore', 'HistoricalSearchPredictedCtr',
               
'HistoricalCreativeQualityScore']

REPORT_DEFINITION
= {
       
'reportName': 'Custom KEYWORDS_PERFORMANCE_REPORT',
       
'dateRangeType': 'LAST_7_DAYS',
       
'reportType': 'KEYWORDS_PERFORMANCE_REPORT',
       
'downloadFormat': 'CSV',
       
'selector': {
           
'fields': FIELDS
       
}}
It take  ~5 sec  and returned 43402 keywords
new API:
SELECT
             customer
.id,
             customer
.descriptive_name,
             customer
.currency_code,
             campaign
.name,
             ad_group_criterion
.criterion_id,
             ad_group_criterion
.keyword.text,
             ad_group_criterion
.keyword.match_type,
             campaign
.bidding_strategy_type,
             metrics
.clicks,
             ad_group_criterion
.effective_cpc_bid_micros,
             metrics
.average_cpc,
             metrics
.average_position,
             metrics
.historical_creative_quality_score,
             metrics
.historical_landing_page_quality_score,
             metrics
.historical_quality_score,
             metrics
.historical_search_predicted_ctr,
             ad_group_criterion
.quality_info.creative_quality_score,
             ad_group_criterion
.quality_info.post_click_quality_score,
             ad_group_criterion
.quality_info.quality_score,
             ad_group_criterion
.quality_info.search_predicted_ctr
        FROM
            keyword_view
        WHERE
            metrics
.impressions > 0 AND
            segments
.date DURING LAST_7_DAYS
It take  ~36 sec  and returned 23383 keywords
3. dramatic performance degradation in new API and not the same results  when using without predicate clicks and inlclude_zero_impressions=True
old API:
FIELDS = ['ExternalCustomerId', 'AccountDescriptiveName', 'AccountCurrencyCode', 'CampaignName', 'Criteria', 'KeywordMatchType', 'BiddingStrategyType',

               
'Clicks', 'CpcBid', 'AverageCpc', 'AveragePosition', 'CreativeQualityScore', 'PostClickQualityScore', 'QualityScore',
               
'SearchPredictedCtr', 'HistoricalLandingPageQualityScore', 'HistoricalQualityScore', 'HistoricalSearchPredictedCtr',
               
'HistoricalCreativeQualityScore']

REPORT_DEFINITION
= {
       
'reportName': 'Custom KEYWORDS_PERFORMANCE_REPORT',
       
'dateRangeType': 'LAST_7_DAYS',
       
'reportType': 'KEYWORDS_PERFORMANCE_REPORT',
       
'downloadFormat': 'CSV',
       
'selector': {
           
'fields': FIELDS
       
}}


took ~24 sec and returned 637404 keywords
new API:
SELECT
             customer
.id,
             customer
.descriptive_name,
             customer
.currency_code,
             campaign
.name,
             ad_group_criterion
.criterion_id,
             ad_group_criterion
.keyword.text,
             ad_group_criterion
.keyword.match_type,
             campaign
.bidding_strategy_type,
             metrics
.clicks,
             ad_group_criterion
.effective_cpc_bid_micros,
             metrics
.average_cpc,
             metrics
.average_position,
             metrics
.historical_creative_quality_score,
             metrics
.historical_landing_page_quality_score,
             metrics
.historical_quality_score,
             metrics
.historical_search_predicted_ctr,
             ad_group_criterion
.quality_info.creative_quality_score,
             ad_group_criterion
.quality_info.post_click_quality_score,
             ad_group_criterion
.quality_info.quality_score,
             ad_group_criterion
.quality_info.search_predicted_ctr
        FROM
            keyword_view
        WHERE
            segments
.date DURING LAST_7_DAYS
took 1064 sec and returned 646710 keywords
50 times longer, it's dramatic for us.

a. Please explain difference in amount of keywords in each case
b. What we should do in order to stay within same performance rates like in old API?

Regards,
Vadim






Guillaume Rouviere

unread,
Apr 29, 2019, 4:52:32 AM4/29/19
to AdWords API and Google Ads API Forum
Hello,

We're having the exact same issue and concern about this new API right now. On large account this is critical for us.
This needs to be taken seriously. If things were to stay like this, it would really hurt our product and business.

Regards,

Guillaume

googleadsapi...@google.com

unread,
Apr 29, 2019, 10:00:15 AM4/29/19
to guil...@jvweb.fr, AdWords API and Google Ads API Forum
Hello, 

@Vadim: I see that you're already in touch with my colleague on a separate thread. Please continue the discussion on that thread to maintain continuity. 

@Guillaume: We are working on a solution for performance of large reports, and will update on the blog when it's ready. Please keep an eye on our blog for more updates.

Thanks,
Bharani, Google Ads API Team

=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
    https://ads-developers.googleblog.com/search/label/google_ads_api
    https://developers.google.com/adwords/api/community/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

va...@adcore.com

unread,
Apr 29, 2019, 10:09:00 AM4/29/19
to AdWords API and Google Ads API Forum
Hello,

This is a different issue, but with accounts related problem we are already finished the discussion.
I need the answers regarding keywords, not accounts.

googleadsapi...@google.com

unread,
Apr 29, 2019, 5:01:34 PM4/29/19
to va...@adcore.com, AdWords API and Google Ads API Forum
Hello, 

Thank you for clarifying this. Could you please share the client customer Id for the specific account along with the date range to check this further? You can reply back via Reply privately to author option.

Regards,
Reply all
Reply to author
Forward
0 new messages