Google AdSense Management API Version 2.0

Google has recently launched a new AdSense Management API. This goes from version version 1.4 all the way jumping to version 2.0 with this update. Version 1.4 will stop working on October 12, 2021. Google also made updates to the AdSense Host API.

Google has launched version 2 of the AdSense Management API. Please note that the current version of the AdSense Management API, version 1.4, will stop returning responses on October 12, 2021. Here is a list of features added or changed in version 2.0:

General

  • All deprecated methods in v1.4 have been removed. This includes resource
    methods that did not require an accountId. In v2, the
    accountId is specified in the parent field.
  • Per Google API standards, resources are now identified by a
    name field. For example, an AdClient’s name would look like
    accounts/{accountId}/adclients/{adClientId}. Additionally, in
    v1.4 the resource ID was used as a reporting dimension, but in v2 that
    value is now available through a reporting_dimension_id field
    on several resources.
  • The kind field has been removed from all resources.

Account

  • The name field has been changed to
    display_name.
  • The timezone field has been changed from a string to a
    google.type.TimeZone.
  • The creation_time field (type int64) has been changed to
    create_time (type google.protobuf.Timestamp).
  • Added a pending_tasks field which is a list of outstanding
    tasks that need to be completed as part of the sign-up process for a new
    account. For example, tasks could be related to your billing profile or
    phone verification.
  • The sub_accounts field has been removed. Similar
    functionality can be achieved in v2 with the listChildAccounts
    custom method. The full child account tree can be generated in v2 by calling
    listChildAccounts recursively.

AdClient

  • Removed the arc_opt_in field since it has already been
    removed from the AdSense UI.
  • The supports_reporting field is replaced with the
    reporting_dimension_id field, which represents the unique ID
    of the ad client as used in the AD_CLIENT_ID reporting
    dimension. If reporting_dimension_id is empty, then the
    AdClient doesn’t support reporting.

AdUnit

  • The status field has been renamed to state.
    Also, the ACTIVE state no longer indicates whether there has
    been activity on this ad unit in the last seven days. In v2, it means the ad
    unit has been activated by the user and can serve ads.
  • The code field has been removed. This value can still be
    found at the end of the name field (after the last forward
    slash).
  • The contentAdsSettings.backupOption field has been
    removed.
  • The type field has been restricted to the values
    TYPE_UNSPECIFIED, DISPLAY, FEED,
    ARTICLE, MATCHED_CONTENT, and
    LINK.
  • Other fields that have already been removed in the AdSense UI are also
    removed: custom_style, saved_style_id,
    mobile_content_ads_settings,
    feed_ads_settings.

Alert

  • The delete method has been removed.
  • The is_dismissible field has been removed.
  • The locale field has been renamed to
    language_code.

CustomChannel

  • The code field has been removed. This value can still be
    found at the end of the name field (after the last forward
    slash).
  • The targeting_info field has been removed since it has
    already been removed from the AdSense UI.

Payment

  • The payment_date field has been renamed to date
    and changed from type string to type google.type.Date.
  • The payment_amount field and the
    payment_amount_currency_code field have been combined into a
    single payment field (e.g., “¥1,235 JPY”, “$1,234.57”,
    “£87.65”).

Report

  • With v2, the AdSense Management API reporting data now aligns with the
    AdSense UI. This means that AdMob and YouTube properties are no longer
    supported. Additionally, the API will only support report data going back 3
    years.
  • The Metadata.dimensions resource and the
    Metadata.metrics resource have been removed.
  • New methods have been added to generate a CSV version of the report,
    replacing the query parameters in v1.4. Note: for compression, you can
    still use the HTTP header “Accept-Encoding: gzip”.

  • Some fields have been changed on ad-hoc report generation.

    • The account_id field has been renamed to
      account.
    • The dimension field has been renamed to
      dimensions.
    • The metric field has been renamed to
      metrics.
    • The filter field has been renamed to
      filters.
    • The sort field has been renamed to
      order_by.
    • The locale field has been renamed to
      language_code.
    • The currency field has been renamed to
      currency_code.
    • You can now specify several common ranges with date_range
      (e.g., TODAY, YESTERDAY,
      MONTH_TO_DATE, YEAR_TO_DATE,
      LAST_7_DAYS, and LAST_30_DAYS), or you can
      specify a start_date and end_date by setting
      date_range to CUSTOM.
    • The start_date and end_date fields have been
      changed from type string to type google.type.Date. Note: as
      a result, relative date keywords (e.g., “today-6d”) are no longer
      supported.
    • The boolean field use_timezone_reporting has been
      replaced with reporting_time_zone, which can have one of
      two values: ACCOUNT_TIME_ZONE or
      GOOGLE_TIME_ZONE (which means PST/PDT). The default in v2
      is ACCOUNT_TIME_ZONE, which differs from the default in
      v1.4.
    • The start_index field has been removed.
    • The max_results field has been renamed to
      limit.

  • Some fields have been changed on saved report generation.

    • Added date fields (date_range, start_date,
      end_date, reporting_time_zone).
    • Added a currency_code field.
    • The locale field has been renamed to
      language_code.
    • The start_index field has been removed.
    • The max_results field has been removed.

SavedAdStyle

  • SavedAdStyle has been removed since it has already been
    removed from the AdSense UI.

Site


  • Sites have been added to fetch data about websites you’ve added
    to your AdSense account.
  • The state field represents whether the site is any of the
    following states: REQUIRES_REVIEW,
    GETTING_READY, READY,
    NEEDS_ATTENTION.
  • The auto_ads_enabled field is a boolean that represents
    whether auto ads have been enabled on a particular site.

Forum discussion at Twitter.