Ad Performance Report

133 views
Skip to first unread message

Hao Long

unread,
Jan 26, 2022, 4:58:07 AM1/26/22
to Google Ads API and AdWords API Forum
Hi Team,

we are facing huge row count gap for ad performance report when migrate from Adwords to Ads API.

the background is we query  ad performance report in adwords API to get ads structure meta data and the query field list as below: 
Date
Id
AccentColor
AccountCurrencyCode
AdGroupId
AdGroupStatus
AdStrengthInfo
AdType
AllowFlexibleColor
Automated
BaseAdGroupId
BaseCampaignId
BusinessName
CallOnlyPhoneNumber
CallToActionText
CampaignId
CampaignStatus
CombinedApprovalStatus
CreativeDestinationUrl
CreativeFinalAppUrls
CreativeFinalMobileUrls
CreativeFinalUrls
CreativeFinalUrlSuffix
CreativeTrackingUrlTemplate
CreativeUrlCustomParameters
CustomerDescriptiveName
DisplayUrl
EnhancedDisplayCreativeLandscapeLogoImageMediaId
EnhancedDisplayCreativeLogoImageMediaId
EnhancedDisplayCreativeMarketingImageMediaId
EnhancedDisplayCreativeMarketingImageSquareMediaId
ExpandedDynamicSearchCreativeDescription2
ExpandedTextAdDescription2
ExpandedTextAdHeadlinePart3
ExternalCustomerId
FormatSetting
GmailCreativeHeaderImageMediaId
GmailCreativeLogoImageMediaId
GmailCreativeMarketingImageMediaId
GmailTeaserBusinessName
GmailTeaserDescription
GmailTeaserHeadline
Headline
HeadlinePart1
HeadlinePart2
ImageAdUrl
ImageCreativeImageHeight
ImageCreativeImageWidth
ImageCreativeMimeType
ImageCreativeName
LabelIds
Labels
LongHeadline
MainColor
MarketingImageCallToActionText
MarketingImageCallToActionTextColor
MarketingImageDescription
MarketingImageHeadline
MultiAssetResponsiveDisplayAdAccentColor
MultiAssetResponsiveDisplayAdAllowFlexibleColor
MultiAssetResponsiveDisplayAdBusinessName
MultiAssetResponsiveDisplayAdCallToActionText
MultiAssetResponsiveDisplayAdDescriptions
MultiAssetResponsiveDisplayAdDynamicSettingsPricePrefix
MultiAssetResponsiveDisplayAdDynamicSettingsPromoText
MultiAssetResponsiveDisplayAdFormatSetting
MultiAssetResponsiveDisplayAdHeadlines
MultiAssetResponsiveDisplayAdLandscapeLogoImages
MultiAssetResponsiveDisplayAdLogoImages
MultiAssetResponsiveDisplayAdLongHeadline
MultiAssetResponsiveDisplayAdMainColor
MultiAssetResponsiveDisplayAdMarketingImages
MultiAssetResponsiveDisplayAdSquareMarketingImages
MultiAssetResponsiveDisplayAdYouTubeVideos
Path1
Path2
PolicySummary
PricePrefix
PromoText
ResponsiveSearchAdDescriptions
ResponsiveSearchAdHeadlines
ResponsiveSearchAdPath1
ResponsiveSearchAdPath2
ShortHeadline
Status
SystemManagedEntitySource
UniversalAppAdDescriptions
UniversalAppAdHeadlines
UniversalAppAdHtml5MediaBundles
UniversalAppAdImages
UniversalAppAdMandatoryAdText
UniversalAppAdYouTubeVideos
Description
Description1
Description2

and we migrate to Ads API ad_group_ad resource to get the same data, but we get the data have huge decrease than Adwords API, detail list as below:

Google Adword API: 

2022-01-18: 12328016
2022-01-19: 12328016
2022-01-20: 12328016


Google Ads API:

2022-01-18:535557
2022-01-19:553971
2022-01-20:550469


missing data in Ads API sample:

cal_dt,ptnr_ad_id,ptnr_adgroup_id,ptnr_cmpgn_id,customer_id
2022-01-18,10116117157,3028199917,65523757,7462172884


Hao Long

unread,
Jan 26, 2022, 4:59:16 AM1/26/22
to Google Ads API and AdWords API Forum
btw, i want to know the reason why it return the same volume of data for  Google Adword API?

Google Ads API Forum Advisor

unread,
Jan 26, 2022, 1:23:50 PM1/26/22
to adwor...@googlegroups.com

Hello Hao,

Thanks for reaching out to the Google Ads API support. For us to investigate, we will need a full log of request and response logs with request ID and request header generated on your end of API communications of the report pull. 
The request and response appears similar to the JSON Mappings in our REST documentation. Our client libraries have loggers with logging instructions, to see these instructions you can click on the client library you use in the sidebar of our client library guide and click on "Logging". Setting the logger to 'DEBUG' will get the desired log. Kindly use the  Reply privately to the author option while sharing the details.

Please note that zero impressions are always excluded when segmenting a report, provided all selected metrics are zero, please refer to this link.

Best regards,

Google Logo
Jakeia Sabrina
Google Ads API Team
 

ref:_00D1U1174p._5004Q2VPdQ4:ref

Hao Long

unread,
Jan 28, 2022, 8:56:03 AM1/28/22
to Google Ads API and AdWords API Forum

The full log have some sensitive info, i list download one account data as example:

[2022-01-28 04:25:05,673] {bash.py:173} INFO - 04:25:05.673 [grpc-default-executor-0] INFO c.g.a.googleads.lib.request.summary - SUCCESS REQUEST SUMMARY. Method: google.ads.googleads.v9.services.GoogleAdsService/SearchStream, Endpoint: googleads.googleapis.com:443, CustomerID: 7462172884, RequestID: kKO2hWxD7kCjj8yL-La7jg, ResponseCode: OK, Fault: null.

we could download 7462172884 account data from google adwords API but no data returned for Google Ads API. 

btw, i want to know the reason why it return the same volume of data for  Google Adword API when we download on daily batch?

Google Ads API Forum Advisor

unread,
Jan 28, 2022, 12:50:02 PM1/28/22
to adwor...@googlegroups.com
Hello Hao,

Thanks for getting back. For us to investigate, we will need a full log of request and response logs with request ID and request header generated on your end of API communications of the report pull.

The request and response appears similar to the JSON Mappings in our REST documentation. Our client libraries have loggers with logging instructions, to see these instructions you can click on the client library you use in the sidebar of our client library guide and click on "Logging". Setting the logger to 'DEBUG' will get the desired log.

Please send the requested details via the Reply privately to the author option. If this option is not available, you may send the details directly to our googleadsa...@google.com alias instead.

Hao Long

unread,
Feb 7, 2022, 2:30:17 AM2/7/22
to Google Ads API and AdWords API Forum
Thanks!

we found some useful information: The Google Ads API have 0 impression filter auto applied for each performance data, could you please help confirm?

if yes then should be this case led the gap between Google Adwords and Ads API. Cause we have ads structure data requirement, we need all the ads list even 0 impression, could you please help guide how to remove this auto applied filter?

btw we still confused the Google Adwords API return the same number on our daily batch download program:
Google Adword API: 

2022-01-18: 12328016
2022-01-19: 12328016
2022-01-20: 12328016

Thanks
Hao

Google Ads API Forum Advisor

unread,
Feb 7, 2022, 3:59:04 PM2/7/22
to adwor...@googlegroups.com

Hello Hao,

Thank you for replying back. As per my understanding Zero impressions will be included by default with any reports when segmenting a report unless you are not Excluding zero impressions. So without segmenting a report selected you can achieve all zero impressions values to your report. Please share your GAQL query with us so our team can take a closer look.

However, for us to investigate, could you please share the complete logs within the format of the request and response logs with request-id and login-customer-id generated on your end. Please send the requested details via the Reply privately to the author option. If this option is not available, you may send the details directly to us googleadsa...@google.com alias instead. Let me know if you have any questions.

Best regards,

Hao Long

unread,
Feb 8, 2022, 2:33:06 AM2/8/22
to Google Ads API and AdWords API Forum
Hi Team,

Here attached GAQL for you refer:

SELECT segments.date, ad_group_ad.ad.id, ad_group_ad.ad.legacy_responsive_display_ad.accent_color, customer.currency_code, ad_group.id, ad_group.status, ad_group_ad.ad_strength, ad_group_ad.ad.type, ad_group_ad.ad.legacy_responsive_display_ad.allow_flexible_color, ad_group_ad.ad.added_by_google_ads, ad_group.base_ad_group, campaign.base_campaign, ad_group_ad.ad.legacy_responsive_display_ad.business_name, ad_group_ad.ad.call_ad.phone_number, ad_group_ad.ad.legacy_responsive_display_ad.call_to_action_text, campaign.id, campaign.status, ad_group_ad.policy_summary.approval_status, ad_group_ad.policy_summary.review_status, ad_group_ad.ad.final_mobile_urls, ad_group_ad.ad.final_urls, ad_group_ad.ad.final_url_suffix, ad_group_ad.ad.tracking_url_template, ad_group_ad.ad.url_custom_parameters, customer.descriptive_name, ad_group_ad.ad.display_url, ad_group_ad.ad.legacy_responsive_display_ad.logo_image, ad_group_ad.ad.legacy_responsive_display_ad.square_logo_image, ad_group_ad.ad.legacy_responsive_display_ad.marketing_image, ad_group_ad.ad.legacy_responsive_display_ad.square_marketing_image, ad_group_ad.ad.expanded_dynamic_search_ad.description, ad_group_ad.ad.expanded_text_ad.description2, ad_group_ad.ad.expanded_text_ad.headline_part3, customer.id, ad_group_ad.ad.legacy_responsive_display_ad.format_setting, ad_group_ad.ad.gmail_ad.header_image, ad_group_ad.ad.gmail_ad.teaser.logo_image, ad_group_ad.ad.gmail_ad.marketing_image, ad_group_ad.ad.gmail_ad.teaser.business_name, ad_group_ad.ad.gmail_ad.teaser.description, ad_group_ad.ad.gmail_ad.teaser.headline, ad_group_ad.ad.text_ad.headline, ad_group_ad.ad.expanded_text_ad.headline_part1, ad_group_ad.ad.expanded_text_ad.headline_part2, ad_group_ad.ad.image_ad.image_url, ad_group_ad.ad.image_ad.pixel_height, ad_group_ad.ad.image_ad.pixel_width, ad_group_ad.ad.image_ad.mime_type, ad_group_ad.ad.image_ad.name, ad_group_ad.labels, ad_group_ad.labels, ad_group_ad.ad.legacy_responsive_display_ad.long_headline, ad_group_ad.ad.legacy_responsive_display_ad.main_color, ad_group_ad.ad.gmail_ad.marketing_image_display_call_to_action.text, ad_group_ad.ad.gmail_ad.marketing_image_display_call_to_action.text_color, ad_group_ad.ad.gmail_ad.marketing_image_headline, ad_group_ad.ad.gmail_ad.marketing_image_description, ad_group_ad.ad.responsive_display_ad.accent_color, ad_group_ad.ad.responsive_display_ad.allow_flexible_color, ad_group_ad.ad.responsive_display_ad.business_name, ad_group_ad.ad.responsive_display_ad.call_to_action_text, ad_group_ad.ad.responsive_display_ad.descriptions, ad_group_ad.ad.responsive_display_ad.price_prefix, ad_group_ad.ad.responsive_display_ad.promo_text, ad_group_ad.ad.responsive_display_ad.format_setting, ad_group_ad.ad.responsive_display_ad.headlines, ad_group_ad.ad.responsive_display_ad.logo_images, ad_group_ad.ad.responsive_display_ad.square_logo_images, ad_group_ad.ad.responsive_display_ad.long_headline, ad_group_ad.ad.responsive_display_ad.main_color, ad_group_ad.ad.responsive_display_ad.marketing_images, ad_group_ad.ad.responsive_display_ad.square_marketing_images, ad_group_ad.ad.responsive_display_ad.youtube_videos, ad_group_ad.ad.expanded_text_ad.path1, ad_group_ad.ad.expanded_text_ad.path2, ad_group_ad.policy_summary.approval_status, ad_group_ad.policy_summary.review_status, ad_group_ad.policy_summary.policy_topic_entries, ad_group_ad.ad.legacy_responsive_display_ad.price_prefix, ad_group_ad.ad.legacy_responsive_display_ad.promo_text, ad_group_ad.ad.responsive_search_ad.descriptions, ad_group_ad.ad.responsive_search_ad.headlines, ad_group_ad.ad.responsive_search_ad.path1, ad_group_ad.ad.responsive_search_ad.path2, ad_group_ad.ad.legacy_responsive_display_ad.short_headline, ad_group_ad.status, ad_group_ad.ad.system_managed_resource_source, ad_group_ad.ad.app_ad.descriptions, ad_group_ad.ad.app_ad.headlines, ad_group_ad.ad.app_ad.html5_media_bundles, ad_group_ad.ad.app_ad.images, ad_group_ad.ad.app_ad.mandatory_ad_text, ad_group_ad.ad.app_ad.youtube_videos, ad_group_ad.ad.expanded_text_ad.description, ad_group_ad.ad.legacy_responsive_display_ad.description, ad_group_ad.ad.expanded_dynamic_search_ad.description, ad_group_ad.ad.text_ad.description1, ad_group_ad.ad.call_ad.description1, ad_group_ad.ad.text_ad.description2, ad_group_ad.ad.call_ad.description2 FROM ad_group_ad where  segments.date > '2022-01-01'
  AND segments.date < '2022-02-01'


Reply all
Reply to author
Forward
0 new messages