In [1]:
#!/usr/bin/env python
from googleads import adwords

In [2]:
def get_fields(client, report_type):
    report_definition_service = client.GetService(
      'ReportDefinitionService', version='v201705')

    # Get report fields.
    fields = report_definition_service.getReportFields(report_type)

    # Display results.
    print 'Report type "%s" contains the following fields:' % report_type
    for field in fields:
        print ' - %s (%s)' % (field['fieldName'], field['fieldType'])
        if 'enumValues' in field:
            print '  := [%s]' % ', '.join(field['enumValues'])

In [3]:
adwords_client = adwords.AdWordsClient.LoadFromStorage()
adwords_client.SetClientCustomerId('798-266-5203') #ph_jobseeker_usd_main_0_en

REPORT_TYPE = ['ACCOUNT_PERFORMANCE_REPORT',
               'ADGROUP_PERFORMANCE_REPORT',
               'AD_PERFORMANCE_REPORT',
               'AGE_RANGE_PERFORMANCE_REPORT',
               'AUDIENCE_PERFORMANCE_REPORT',
               'AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT',
               'CALL_METRICS_CALL_DETAILS_REPORT',
               'CAMPAIGN_AD_SCHEDULE_TARGET_REPORT',
               'CAMPAIGN_CRITERIA_REPORT',
               'CAMPAIGN_LOCATION_TARGET_REPORT',
               'CAMPAIGN_NEGATIVE_KEYWORDS_PERFORMANCE_REPORT',
               'CAMPAIGN_NEGATIVE_LOCATIONS_REPORT',
               'CAMPAIGN_NEGATIVE_PLACEMENTS_PERFORMANCE_REPORT',
               'CAMPAIGN_PERFORMANCE_REPORT',
               'CREATIVE_CONVERSION_REPORT',
               'CRITERIA_PERFORMANCE_REPORT',
               'DESTINATION_URL_REPORT',
               'DISPLAY_KEYWORD_PERFORMANCE_REPORT',
               'DISPLAY_TOPICS_PERFORMANCE_REPORT',
               'FINAL_URL_REPORT',
               'GENDER_PERFORMANCE_REPORT',
               'GEO_PERFORMANCE_REPORT',
               'KEYWORDLESS_CATEGORY_REPORT',
               'KEYWORDLESS_QUERY_REPORT',
               'KEYWORDS_PERFORMANCE_REPORT',
               'PAID_ORGANIC_QUERY_REPORT',
               'PARENTAL_STATUS_PERFORMANCE_REPORT',
               'PLACEHOLDER_FEED_ITEM_REPORT',
               'PLACEMENT_PERFORMANCE_REPORT',
               'SEARCH_QUERY_PERFORMANCE_REPORT',
               'URL_PERFORMANCE_REPORT',
               'USER_AD_DISTANCE_REPORT',
               'VIDEO_PERFORMANCE_REPORT']

In [4]:
get_fields(adwords_client, REPORT_TYPE[2])


Report type "AD_PERFORMANCE_REPORT" contains the following fields:
 - CallOnlyPhoneNumber (String)
 - ImageAdUrl (String)
 - PolicySummary (AdGroupAdPolicySummary)
 - AccountCurrencyCode (String)
 - AccountDescriptiveName (String)
 - AccountTimeZone (String)
 - ActiveViewCpm (Money)
 - ActiveViewCtr (Double)
 - ActiveViewImpressions (Long)
 - ActiveViewMeasurability (Double)
 - ActiveViewMeasurableCost (Money)
 - ActiveViewMeasurableImpressions (Long)
 - ActiveViewViewability (Double)
 - AdGroupId (Long)
 - AdGroupName (String)
 - AdGroupStatus (AdGroupStatus)
  := [UNKNOWN, ENABLED, PAUSED, REMOVED]
 - AdNetworkType1 (AdNetworkType1)
  := [UNKNOWN, SEARCH, CONTENT, YOUTUBE_SEARCH, YOUTUBE_WATCH]
 - AdNetworkType2 (AdNetworkType2)
  := [UNKNOWN, SEARCH, SEARCH_PARTNERS, CONTENT, YOUTUBE_SEARCH, YOUTUBE_WATCH]
 - AdType (Type)
  := [DEPRECATED_AD, IMAGE_AD, PRODUCT_AD, TEMPLATE_AD, TEXT_AD, THIRD_PARTY_REDIRECT_AD, DYNAMIC_SEARCH_AD, CALL_ONLY_AD, EXPANDED_TEXT_AD, RESPONSIVE_DISPLAY_AD, SHOWCASE_AD, EXPANDED_DYNAMIC_SEARCH_AD, UNKNOWN]
 - AllConversionRate (Double)
 - AllConversions (Double)
 - AllConversionValue (Double)
 - AverageCost (Money)
 - AverageCpc (Money)
 - AverageCpe (Double)
 - AverageCpm (Money)
 - AverageCpv (Double)
 - AveragePageviews (Double)
 - AveragePosition (Double)
 - AverageTimeOnSite (Double)
 - BaseAdGroupId (Long)
 - BaseCampaignId (Long)
 - BounceRate (Double)
 - BusinessName (String)
 - CampaignId (Long)
 - CampaignName (String)
 - CampaignStatus (CampaignStatus)
  := [UNKNOWN, ENABLED, PAUSED, REMOVED]
 - ClickAssistedConversions (Long)
 - ClickAssistedConversionsOverLastClickConversions (Double)
 - ClickAssistedConversionValue (Double)
 - Clicks (Long)
 - ClickType (ClickType)
  := [URL_CLICKS, CALLS, OTHER, PRODUCT_EXTENSION_CLICKS, SITELINKS, PRODUCT_LISTING_AD_CLICKS, GET_DIRECTIONS, OFFER_PRINTS, BREADCRUMBS, CALL_TRACKING, MOBILE_CALL_TRACKING, LOCATION_EXPANSION, STORE_LOCATOR, APP_DEEPLINK, TABLE_EXTENSION, VIDEO_WEBSITE_CLICKS, VIDEO_CALL_TO_ACTION_CLICKS, VIDEO_APP_STORE_CLICKS, VIDEO_CARD_ACTION_HEADLINE_CLICKS, VIDEO_END_CAP_CLICKS, CLICK_ON_ENGAGEMENT_AD, LOCATION_FORMAT_MAP, LOCATION_FORMAT_LANDING_PAGE, LOCATION_FORMAT_STORE_INFO, LOCATION_FORMAT_DIRECTIONS, LOCATION_FORMAT_CALL, LOCATION_FORMAT_TEXT, LOCATION_FORMAT_IMAGE, BROADBAND_PLAN, WIRELESS_PLAN, VISUAL_SITELINKS, PROMOTION_EXTENSION, UNKNOWN]
 - CombinedApprovalStatus (PolicyApprovalStatus)
  := [UNKNOWN, APPROVED, APPROVED_LIMITED, ELIGIBLE, UNDER_REVIEW, DISAPPROVED, SITE_SUSPENDED]
 - ConversionCategoryName (String)
 - ConversionRate (Double)
 - Conversions (Double)
 - ConversionTrackerId (Long)
 - ConversionTypeName (String)
 - ConversionValue (Double)
 - Cost (Money)
 - CostPerAllConversion (Money)
 - CostPerConversion (Money)
 - CostPerCurrentModelAttributedConversion (Double)
 - CreativeDestinationUrl (String)
 - CreativeFinalAppUrls (List)
 - CreativeFinalMobileUrls (List)
 - CreativeFinalUrls (List)
 - CreativeTrackingUrlTemplate (String)
 - CreativeUrlCustomParameters (CustomParameters)
 - CriterionId (Long)
 - CriterionType (ApiCriterionType)
  := [UNKNOWN, AD_SCHEDULE, AGE_RANGE, APP_PAYMENT_MODEL, CARRIER, CONTENT_LABEL, CUSTOM_AFFINITY, GENDER, LOCATION_GROUPS, IP_BLOCK, KEYWORD, LANGUAGE, LOCATION, MOBILE_APPLICATION, MOBILE_APP_CATEGORY, MOBILE_DEVICE, OPERATING_SYSTEM_VERSION, PARENT, PLACEMENT, PLATFORM, PREFERRED_CONTENT, PRODUCT_PARTITION, PRODUCT_SCOPE, PROXIMITY, USER_INTEREST, USER_LIST, VERTICAL, WEBPAGE, YOUTUBE_CHANNEL, YOUTUBE_VIDEO, CUSTOM_IN_MARKET]
 - CrossDeviceConversions (Double)
 - Ctr (Double)
 - CurrentModelAttributedConversions (Double)
 - CurrentModelAttributedConversionValue (Double)
 - CustomerDescriptiveName (String)
 - Date (Date)
 - DayOfWeek (DayOfWeek)
  := [MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY]
 - Description (String)
 - Description1 (String)
 - Description2 (String)
 - Device (DeviceType)
  := [UNKNOWN, DESKTOP, HIGH_END_MOBILE, TABLET]
 - DevicePreference (Long)
 - DisplayUrl (String)
 - EngagementRate (Double)
 - Engagements (Long)
 - EnhancedDisplayCreativeLogoImageMediaId (Long)
 - EnhancedDisplayCreativeMarketingImageMediaId (Long)
 - ExternalConversionSource (ExternalConversionSource)
  := [UNKNOWN, WEBPAGE, ANALYTICS, UPLOAD, AD_CALL_METRICS, OFFERS, ENGAGEMENT, WEBSITE_CALL_METRICS, STORE_VISITS, ANDROID_IN_APP, ANDROID_DOWNLOAD, IOS_IN_APP, IOS_FIRST_OPEN, APP_UNSPECIFIED, ANDROID_FIRST_OPEN, UPLOAD_CALLS, FIREBASE, CLICK_TO_CALL, SALESFORCE, STORE_SALES_CRM, STORE_SALES_PAYMENT_NETWORK, GOOGLE_PLAY, THIRD_PARTY_APP_ANALYTICS, GOOGLE_ATTRIBUTION]
 - ExternalCustomerId (Long)
 - GmailForwards (Long)
 - GmailSaves (Long)
 - GmailSecondaryClicks (Long)
 - Headline (String)
 - HeadlinePart1 (String)
 - HeadlinePart2 (String)
 - Id (Long)
 - ImageCreativeImageHeight (Integer)
 - ImageCreativeImageWidth (Integer)
 - ImageCreativeMimeType (Integer)
 - ImageCreativeName (String)
 - ImpressionAssistedConversions (Long)
 - ImpressionAssistedConversionsOverLastClickConversions (Double)
 - ImpressionAssistedConversionValue (Double)
 - Impressions (Long)
 - InteractionRate (Double)
 - Interactions (Long)
 - InteractionTypes (EnumSet)
 - IsNegative (Enum)
  := [TRUE, FALSE]
 - LabelIds (List)
 - Labels (List)
 - LongHeadline (String)
 - Month (String)
 - MonthOfYear (MonthOfYear)
  := [JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER]
 - Path1 (String)
 - Path2 (String)
 - PercentNewVisitors (Double)
 - Quarter (String)
 - ShortHeadline (String)
 - Slot (Slot)
  := [SearchRhs, SearchTop, SearchOther, Content, AfsTop, AfsOther, Unknown]
 - Status (Status)
  := [ENABLED, PAUSED, DISABLED]
 - ValuePerAllConversion (Double)
 - ValuePerConversion (Double)
 - ValuePerCurrentModelAttributedConversion (Double)
 - VideoQuartile100Rate (Double)
 - VideoQuartile25Rate (Double)
 - VideoQuartile50Rate (Double)
 - VideoQuartile75Rate (Double)
 - VideoViewRate (Double)
 - VideoViews (Long)
 - ViewThroughConversions (Long)
 - Week (String)
 - Year (Integer)

In [ ]: