Esc

Start typing to search.

Improvado
Sign In
Breaking change Apple Search Ads Rolled out

Apple is retiring the Campaign Management API; Improvado has moved Apple Search Ads extraction to the Apple Ads Platform API, and a small number of column values change as a result.

Deadline
January 26, 2027
Affected
All report types
What to do
Improvado has migrated all Apple Search Ads connections — no reconnection or reauthorization was needed. Review any dashboards or filters that depend on the column values listed below, because Apple renamed several of them.

Apple is retiring the Apple Search Ads Campaign Management API on 26 January 2027 and replacing it with the Apple Ads Platform API. Improvado has moved all Apple Search Ads extraction across, well ahead of that date.

What stays the same

  • Your connections keep working. No reconnection, reauthorization or credential change is required.
  • Your accounts keep their identifiers, so existing extracts, templates and destination tables continue to run untouched.
  • Your metrics are unchanged. Spend, impressions, taps, installs and downloads match the previous API exactly.

Column values Apple renamed

These are Apple's changes, and the new values are passed through as the platform reports them. If you filter, group or chart on any of these, update those references.

  • pricing_modelCPC becomes CPT (Apple renamed "click" to "tap").
  • ad_display_statusACTIVE becomes RUNNING, on ad-level reports only.
  • supply_sourcesAPPSTORE_PRODUCT_PAGES_BROWSE becomes APPSTORE_PRODUCT_PAGES.
  • display_status on campaigns — campaigns that Apple paused for a reason outside your control now report ON_HOLD where they previously reported PAUSED. PAUSED still appears for campaigns you paused yourself, so a filter on PAUSED alone will no longer match every paused campaign.
  • serving_state_reasons — two reason codes are renamed: ORG_PAYMENT_TYPE_CHANGED becomes ORG_PAYMENT_METHOD_CHANGED, and NO_AVAILABLE_AD_GROUPS becomes AD_GROUPS_NOT_RUNNING.
  • rank on the Impression Share report — was a word (ONEGREATER_THAN_FIVE), now an integer.
  • low_impression_share / high_impression_share — were reported as a 10% bucket, now carry the precise share. Values above 90% remain a bucket.

Columns that gain or lose data

  • lat_on_installs and lat_off_installs are no longer reported. Apple retired these after App Tracking Transparency and they have returned almost entirely zeroes for some time.
  • budget_amount and budget_currency on the Campaigns entity report are no longer available. Apple states that lifetime budgets are deprecated and that the underlying field has been removed from its API; use the daily budget columns instead.
  • creative_set_assets on the Creatives report is no longer available. Apple replaced Creative Sets with Custom Product Pages in January 2022 and its new API does not carry them.
  • language on ad-level reports, language and language_code on the Creatives report, creative_type on the Ads entity report and country_or_region_serving_state_reasons on the Campaigns entity report stop carrying values. Apple's new API does not report them on these objects. The columns remain in your tables and existing extracts keep running, so historical values are preserved.
  • Days with zero impressions now arrive with empty metrics rather than explicit zeroes. Totals are unaffected; reports that distinguish zero from "no data" may need a small adjustment.
  • Ad group reports broken down by device, geography or country no longer include rows for combinations with no activity. The new API does not allow it when a breakdown is applied.

What you get in return

Some extractions are substantially faster. Campaign-level reports now arrive in a single request per account instead of one per campaign, and the campaign, ad group, ad, keyword and creative entity reports each collapse from a request per campaign — or per ad group — to one filtered query. The Impression Share report no longer runs as a queued job subject to a daily report limit.

Performance reports below campaign level — ad group, ad, keyword and search term — still make one request per campaign, because Apple requires a campaign filter on them.