Hi, I'm running ad performance report together with keyword performance report for some time. I'm comparing results got from adwords reports and adwords manager and I found that after 2012-01-01 we are getting some differences. After some debugging I found that ad performance report is returning several fields for same date but with different keywords. For same date range keyword performance report returns null so I can't connect them. Here is example I'm running: get keyword report for 2012-01-01 till 2012-01-02: creds = AdwordsCredentials.get_credentials_by_account_name(account_name) creds[:library] = {:return_money_in_micros => true} adwords = AdwordsApi::Api.new(creds) report_utils = adwords.report_utils(:v201109)
kw_report_definition = { :selector => { :fields => KW_REPORT_FIELDS, :date_range => { :min => start_date.gsub('-',''), :max => end_date.gsub('-','') }, :predicates => [ {:field => 'Id', :operator => 'EQUALS', :values => [8651713361]} ] }, :report_name => 'Custom KEYWORDS_PERFORMANCE_REPORT', :report_type => 'KEYWORDS_PERFORMANCE_REPORT', :date_range_type => 'CUSTOM_DATE', :download_format => 'CSV', # Enable to get rows with zero impressions. :include_zero_impressions => true } kw_report = report_utils.download_report(kw_report_definition) kw_report is empty. ad performance report: creds = AdwordsCredentials.get_credentials_by_account_name(account_name) creds[:library] = {:return_money_in_micros => true} adwords = AdwordsApi::Api.new(creds) report_utils = adwords.report_utils(:v201109) ad_report_definition = { :selector => { :fields => AD_REPORT_FIELDS, :date_range => { :min => start_date.gsub('-',''), :max => end_date.gsub('-','') }, :predicates => [ {:field => 'Id', :operator => 'EQUALS', :values => [8651713361]} ] }, :report_name => 'Custom AD_PERFORMANCE_REPORT', :report_type => 'AD_PERFORMANCE_REPORT', :date_range_type => 'CUSTOM_DATE', :download_format => 'CSV', # Enable to get rows with zero impressions. :include_zero_impressions => true } ad_report = report_utils.download_report(ad_report_definition) ad_report has 4 lines, 2 for each date with keyword ids: 503005 and 503006. So, for example, for date 2012-02-01 adwords manager shows 25 clicks and adwords report returns two rows, one with 11 clicks and another with 14 clicks. Meaning sum of those two is 25 so it's ok, but I wonder what has changed after 2012-01-01 so we are getting this splits by keyword ids? Before 2012-01-01 ad performance report is 100% accurate as adwords manager shows. Basically what we need now is to group by keyword ids in case keyword is not present. Regards, Sinisa. P.S. to understand source code you need this also KW_REPORT_FIELDS = %w{ Id KeywordText Date AccountDescriptiveName CampaignId CampaignName AdGroupId AdGroupName CriteriaDestinationUrl Status AdNetworkType1 AdNetworkType2 Impressions Clicks Ctr AverageCpc AverageCpm Cost AveragePosition Conversions ConversionRate CostPerConversion ValuePerConversion } AD_REPORT_FIELDS = %w{ Date AccountDescriptiveName CampaignId CampaignName AdGroupId AdGroupName KeywordId CreativeDestinationUrl Id Status AdNetworkType1 AdNetworkType2 ImageCreativeName Impressions Clicks Ctr AverageCpc AverageCpm Cost AveragePosition Conversions ConversionRate CostPerConversion ValuePerConversion } -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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 adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en