Connect Apple Ads to Your AI Agent

Choose an ad account, campaigns, and reporting period to compare results and review suggested changes.

98 tools Custom credential

Try a Apple Ads Task

Copy a prompt into your agent with the oo Skill installed. Add your page links and source notes before running it.

oo Skill Apple Ads

Compare Campaign Performance

Read campaign report metrics for named App Store campaigns and compare recorded results.

/oo Apple Ads: For Apple Ads account [ad account ID], report App Store campaigns [campaign IDs] from [start date] to [end date] in UTC. Compare spend, impressions, and conversion metrics present in the report.

Review Keyword Results

Read campaign-scoped keyword and search-term reports to review matching traffic.

/oo Apple Ads: For Apple Ads account [ad account ID], App Store campaign [campaign ID], read keyword and search-term reports from [start date] to [end date] in the account’s reporting time zone. Summarize high-spend terms and distinguish missing or aggregated terms.

Review Budget Recommendations

Inspect recommendations without applying them to current campaign budgets.

/oo Apple Ads: For Apple Ads account [ad account ID], promoted object [object ID] of type [promoted object type], list daily budget recommendations. Explain the suggested changes and supporting metrics; do not apply them.

Start Working with Apple Ads

  1. Install OOMOL

    Set up oo CLI and the oo Skill in your agent.

    Install OOMOL →
  2. Connect Apple Ads

    Connect your Apple Ads API credentials and choose the ad account.

    Connect Apple Ads →
  3. Give Your Agent a Task

    Use /oo with the pages to read, the changes to make, and where to save the result.

    Connection Guide →

Choose Your Agent

  • Client ID, Team ID, Key ID, and the private key paired with the public key registered in Apple Ads.
  • Reports need a date range and ad account. App Store reports also require an explicit campaign selection. Applying budget recommendations changes campaign budgets. Keyword and search-term comparisons use the account’s reporting time zone.

Apple Ads Tools

The integration exposes Apple Ads account, campaign, keyword, report, and recommendation operations for App Store and Apple Maps advertising.

Campaign and Keyword Reports

Read campaign, keyword, and search-term results for a defined reporting period.

Recommendation Review and Application

Inspect budget or CPA recommendations and apply them only when explicitly requested.

Accounts and Campaigns

Discover accessible accounts and inspect campaign configuration.

98 tools

Get Me

Read the user and organization the access token belongs to. It is the cheapest way to confirm the credential works and to learn the orgId the other account actions need.

apple_ads.get_me

Get User Acls

List every ad account the access token can reach and the roles the API user holds on each. Start here to discover the adAccountId values the ad-account-scoped actions need.

apple_ads.get_user_acls

Get Org

Read one organization by identifier, including the currency, time zone, payment model and system status its ad accounts inherit.

apple_ads.get_org

Get Advertiser Resources

List the advertiser resources of one type that the organization can delegate to an ad account. Use the returned resourceId values in the delegations of create_ad_account and update_ad_account.

apple_ads.get_advertiser_resources

Create Ad Account

Create an ad account under the organization the access token is bound to. The currency, time zone and payment model are inherited from the organization, and productFeatures is fixed at creation: an account authorized for the App Store can never run Apple Maps campaigns, or the other way around.

apple_ads.create_ad_account

Get Ad Account

Read the full record of one ad account, including its delegated advertiser resources and the reasons it is not operational.

apple_ads.get_ad_account

Update Ad Account

Change the name or the delegated advertiser resources of one ad account. Only the fields you pass are changed, and the delegations array you pass replaces the stored one entirely. The currency, time zone, payment model, organization and productFeatures are fixed and cannot be updated.

apple_ads.update_ad_account

Search Apps

Search the App Store for apps by name or content provider, or list the apps the organization owns. Supply at least one of query, cpids or returnOwnedApps set to true. Campaigns can only promote apps the ad account owns, so use returnOwnedApps to find a usable promotedObjectId.

apple_ads.search_apps

Get App

Read the App Store metadata of one app by its Adam ID, including its genres, supported device classes and the countries or regions it is available in. Apple Ads answers with 404 when no app matches the Adam ID.

apple_ads.get_app

Query Supported App Languages

List the App Store countries or regions along with the languages that Apple Ads supports in each market. Use it to validate a locale before setting it on an ad group or a creative. An empty query returns every market.

apple_ads.query_supported_app_languages

Query App Eligibilities

Check whether apps are eligible to run App Store ads, one row per combination of app, supply placement, supply source, country or region and device class. Run it before creating a campaign in a new market, because an ineligible market delivers nothing. Apple Maps brand promotion is not covered here.

apple_ads.query_app_eligibilities

Query App Rejection Reasons

Search the rejection reasons recorded for the App Store ad creatives of an app, explaining why each creative failed Apple review. Filter by adamId to scope the search to one app.

apple_ads.query_app_rejection_reasons

Get App Rejection Reasons

Read one ad creative rejection reason by identifier, including its reason code, the level it applies at and the reviewer comment.

apple_ads.get_app_rejection_reasons

Query Campaigns

Search the campaigns of one ad account with filters, sorting and offset pagination. Soft-deleted campaigns are excluded unless a filter on deleted asks for them.

apple_ads.query_campaigns

Get Campaign

Read one campaign by identifier. Apple Ads returns the campaign regardless of its deleted state.

apple_ads.get_campaign

Create Campaign

Create a campaign. promotedObjectType, promotedObjectId and billingEvent are fixed at creation: promote a different app or brand by creating another campaign.

apple_ads.create_campaign

Update Campaign

Change the mutable fields of one campaign. Only the fields you pass are changed, but an array you pass replaces the stored array entirely.

apple_ads.update_campaign

Delete Campaign

Soft-delete one campaign. Apple Ads keeps the record but stops delivery and cascades the deletion to the campaign's ad groups, keywords and ads.

apple_ads.delete_campaign

Get Campaign Limited Status Details

Read why a legacy app campaign delivers below its potential in each country or region, as a map of country or region code to limiting reason.

apple_ads.get_campaign_limited_status_details

Query Ad Groups

Search the ad groups of one ad account with filters, sorting and offset pagination. Filter on campaignId to scope the result to a single campaign. Soft-deleted ad groups are excluded unless a filter on deleted asks for them.

apple_ads.query_ad_groups

Get Ad Group

Read one ad group by identifier, including its full targeting and bid strategy. Apple Ads returns the ad group regardless of its deleted state.

apple_ads.get_ad_group

Create Ad Group

Create an ad group inside an existing campaign. campaignId, pricingModel and automatedKeywordsRequired are fixed at creation. Keywords and negative keywords cannot be created inline: add them afterwards with the keyword actions.

apple_ads.create_ad_group

Update Ad Group

Change the mutable fields of one ad group. Only the fields you pass are changed, and targeting is merged dimension by dimension: a dimension you pass replaces the stored one, and a dimension you omit is left alone. campaignId, pricingModel and automatedKeywordsRequired cannot be changed.

apple_ads.update_ad_group

Delete Ad Group

Soft-delete one ad group. Apple Ads keeps the record but stops delivery and cascades the deletion to the ad group's ads, keywords and negative keywords. It cannot be undone.

apple_ads.delete_ad_group

Query Keywords

Search the keywords of one ad account with filters, sorting and offset pagination. Apple Ads requires a filter on adGroupId or campaignId unless you filter on id, and soft-deleted keywords are excluded unless a filter on deleted asks for them.

apple_ads.query_keywords

Get Keyword

Read one keyword by identifier. Apple Ads returns a soft-deleted keyword with deleted set to true rather than 404.

apple_ads.get_keyword

Create Keyword

Add one keyword to an ad group. adGroupId, text and matchType are fixed at creation: to change them, delete the keyword and create a new one.

apple_ads.create_keyword

Update Keyword

Change the bid or the status of one keyword. Apple Ads accepts nothing else on an update, and returns 404 for a keyword that has already been deleted.

apple_ads.update_keyword

Delete Keyword

Soft-delete one keyword. Apple Ads keeps the record and stops bidding on the term, and leaves the parent ad group and campaign untouched. To pause the term temporarily, update its status to PAUSED instead.

apple_ads.delete_keyword

Bulk Create Keywords

Create many keywords in one request, spanning as many ad groups as you like. The whole batch counts as a single call against the rate limit, which makes it the way to seed a keyword list.

apple_ads.bulk_create_keywords

Bulk Update Keywords

Change the bid or the status of many keywords in one request, for example to reprice a set of high performers or pause a set of weak ones. Apple Ads accepts nothing else on an update.

apple_ads.bulk_update_keywords

Query Negative Keywords

Search the negative keywords of one ad account with filters, sorting and offset pagination. Apple Ads requires an adGroupId filter on every query except one filtered by id: combine adGroupId IS_NULL with campaignId EQUALS to list a campaign's own exclusions, adGroupId IS_NOT_NULL with campaignId EQUALS to list the ad-group-level ones across that campaign, or adGroupId EQUALS or IN to scope the query to specific ad groups.

apple_ads.query_negative_keywords

Get Negative Keyword

Read one negative keyword by identifier. Apple Ads returns the record regardless of its deleted state, and an absent or null adGroupId marks it as a campaign-level exclusion.

apple_ads.get_negative_keyword

Create Negative Keyword

Create one negative keyword. Scope it either to a campaign, by passing campaignId alone, or to a single ad group, by passing adGroupId alone: Apple Ads rejects a payload that carries both or neither. text and matchType are fixed at creation, so changing them means deleting this record and creating another.

apple_ads.create_negative_keyword

Update Negative Keyword

Pause or resume one negative keyword. status is the only field Apple Ads allows changing: PAUSED lets the excluded term reach the auction again, ENABLED restores the exclusion. Apple Ads answers a request for a deleted negative keyword with 404.

apple_ads.update_negative_keyword

Delete Negative Keyword

Soft-delete one negative keyword. The excluded term stops being suppressed right away, across every ad group of the campaign for a campaign-level record. Use update_negative_keyword with status PAUSED instead when the exclusion should come back later.

apple_ads.delete_negative_keyword

Bulk Create Negative Keywords

Create many negative keywords in one request, mixing campaign-level and ad-group-level exclusions freely. The whole batch counts as a single call against the rate limit. Each outcome carries the zero-based index of the payload it belongs to.

apple_ads.bulk_create_negative_keywords

Bulk Update Negative Keywords

Pause or resume many negative keywords in one request. status is the only field Apple Ads allows changing, and every payload identifies its record by id. Each outcome carries the zero-based index of the payload it belongs to.

apple_ads.bulk_update_negative_keywords

Query Ads

Search the ads of one ad account with filters, sorting and offset pagination. Filter on adGroupId to scope to one ad group or on campaignId for a whole campaign. Soft-deleted ads are excluded unless a deleted EQUALS true filter asks for them.

apple_ads.query_ads

Get Ad

Read one ad by identifier, including systemStatus, displayStatus and the reason arrays that explain why it is not delivering. Apple Ads still returns a soft-deleted ad with deleted set to true.

apple_ads.get_ad

Create Ad

Create an ad that links an existing ad creative to an ad group. adGroupId and creativeId are fixed at creation: serve a different ad creative by creating another ad and deleting this one. The ad creative must have a systemStatus of VALID, and only one ad per ad group can be ENABLED at a time.

apple_ads.create_ad

Update Ad

Change the name or status of one ad. They are the only mutable fields; adGroupId, creativeId, campaignId and adAccountId are locked at creation. Only the fields you pass are changed. Updating a soft-deleted ad returns 404.

apple_ads.update_ad

Delete Ad

Soft-delete one ad. Delivery stops immediately and query results exclude it, but Apple Ads keeps the record and still returns it from a read. The referenced ad creative is untouched and stays available to other ads.

apple_ads.delete_ad

Query Creatives

Search the ad creatives of one ad account with filters, sorting and offset pagination. Soft-deleted ad creatives are excluded unless a deleted EQUALS true filter asks for them, which is the only way to read one back after deletion.

apple_ads.query_creatives

Get Creative

Read one ad creative by identifier, including its creative spec, destination, system status and per-placement eligibility. A soft-deleted ad creative returns 404: read it back through query_creatives with a deleted filter instead.

apple_ads.get_creative

Create Creative

Create an ad creative at the ad account level. It is not tied to a campaign or ad group, so several ads can reference the same one. creativeType and destination are fixed at creation. Pass the returned identifier as creativeId when creating an ad.

apple_ads.create_creative

Update Creative

Change the name or creative spec of one ad creative. They are the only mutable fields; creativeType and destination are locked at creation. Changing creativeSpec can send the ad creative back to PENDING for re-review, which stops the ads referencing it from delivering until it is VALID again.

apple_ads.update_creative

Delete Creative

Soft-delete one ad creative. It cannot be undone or reused for new ads, and every ad already referencing it drops to systemStatus NOT_RUNNING without being deleted. Deleting an already deleted ad creative returns 404.

apple_ads.delete_creative

Query Assets

Search the creative assets of one ad account. Soft-deleted assets and variant crops are excluded from the results; filter on deleted to include soft-deleted assets, and read a variant with get_asset. Filter on promotedObjectId to scope the query to one app or brand, because an unfiltered query spans every promoted object in the ad account.

apple_ads.query_assets

Get Asset

Read one creative asset by identifier, including its eligibility status. Apple Ads returns the asset regardless of its deleted state, and this is the only way to read a variant crop, which query_assets omits.

apple_ads.get_asset

Delete Asset

Soft-delete one creative asset. Only assets uploaded through the Apple Ads API can be deleted, deleting an already deleted asset fails with 404, and get_asset keeps returning the record with deleted set to true.

apple_ads.delete_asset

Query Product Pages

Search the App Store product pages available to one ad account, covering default product pages, custom product pages and product page optimization variants. Filter on adamId to list the pages of a single app, because an unfiltered query spans every app the ad account can reach. Product pages come from App Store Connect and appear here after a short propagation delay.

apple_ads.query_product_pages

Get Product Page

Read one App Store product page by identifier. Use query_product_pages to discover the identifiers of an app's product pages first.

apple_ads.get_product_page

Query Product Page Locale Details

Read the localized content of one custom product page: the localized app name, subtitle, promotional text and the screenshots and preview videos grouped by device type. A filter on productPageId is required; without a languageCode filter Apple Ads returns every locale configured for the page.

apple_ads.query_product_page_locale_details

Query App Locale Details

Read the localized content of one app's default product page, identified by the app's adamId. It returns every locale configured for the default product page unless a languageCode filter narrows it. Custom product pages are not covered here: use query_product_page_locale_details for those.

apple_ads.query_app_locale_details

Query Geo Locations

Look up geo targeting locations by identifier. Pass the geo location ids or pipe-delimited legacy ids you already have, and Apple Ads returns their metadata and eligibility scoped to one supply source. Use it to batch-validate targeting values before applying them to an ad group; this endpoint never filters soft-blocked geos out.

apple_ads.query_geo_locations

Search Geo Locations

Search geo targeting locations by name. Use it to discover the geo location ids to put in an ad group's country, adminArea, locality or postalCode targeting dimension. Soft-blocked geos are returned with their eligibility data unless eligible is true.

apple_ads.search_geo_locations

Query Locations

Search the advertiser's business locations, the physical stores and venues an Apple Maps campaign promotes. Filter by brandId to scope results to one brand, and collect the returned ids to build a location group.

apple_ads.query_locations

Get Location

Read one business location by identifier. Use it to confirm the address, coordinates, operational status and eligibility of a store before adding it to a location group.

apple_ads.get_location

Create Location Group

Create a location group, a named set of the advertiser's business locations that an ad group can target. brandId and the owning ad account are fixed at creation: move a group to another brand by deleting it and creating a new one. A STATIC group becomes usable immediately, while a DYNAMIC group stays PENDING until Apple Ads finishes evaluating its rules.

apple_ads.create_location_group

Query Location Groups

Search the location groups of one ad account with filters, sorting and offset pagination. Soft-deleted groups are excluded unless a filter on deleted asks for them.

apple_ads.query_location_groups

Get Location Group

Read one location group by identifier, including its membership definition, systemStatus, location count and eligibility. A soft-deleted group is still readable and comes back with systemStatus DELETED.

apple_ads.get_location_group

Update Location Group

Change the mutable fields of one location group. Only the fields you pass are changed, but locationIds and rules replace the stored array entirely rather than merging into it. Changing rules sends a DYNAMIC group back to PENDING while Apple Ads re-evaluates membership. A group whose systemStatus is INVALID or PENDING cannot be updated.

apple_ads.update_location_group

Delete Location Group

Soft-delete one location group. Deletion is permanent and there is no restore: ad groups targeting the group lose that constraint immediately and keep serving only if they target another location group. A group whose systemStatus is INVALID or PENDING cannot be deleted.

apple_ads.delete_location_group

Query Brands

Search the brands accessible to one ad account with filters, sorting and offset pagination. A brand must reach eligibility.status ELIGIBLE before an Apple Maps campaign can promote it.

apple_ads.query_brands

Get Brand

Read one brand by identifier, including its categories and its current ad serving eligibility.

apple_ads.get_brand

Query Business Categories

Search the Apple Maps business category taxonomy with filters, sorting and offset pagination. Only categories with eligibility.status ELIGIBLE can be used by an active Apple Maps campaign.

apple_ads.query_business_categories

Get Business Category

Read one Apple Maps business category by its MUID, including its qualifiedId taxonomy path and eligibility status.

apple_ads.get_business_category

Query Brand Rejection Reasons

Search the policy assignments that explain why Apple Ads rejected a brand, one of its creatives or one of its assets. Filter on promotedObjectId to scope the results to a single brand.

apple_ads.query_brand_rejection_reasons

Query Budget Orders

Search the budget orders of one ad account with filters, sorting and offset pagination. Soft-deleted budget orders are excluded unless a filter on deleted asks for them.

apple_ads.query_budget_orders

Get Budget Order

Read one budget order by identifier, including its amount, active date range, assigned ad account and invoice details.

apple_ads.get_budget_order

Create Budget Order

Create a budget order for the ad account this request is scoped to, then cap the total spend of a group of campaigns by assigning them to it. The ad account must be on the LOC (Line of Credit) payment model, which is why invoice details are required.

apple_ads.create_budget_order

Update Budget Order

Change the mutable fields of one budget order. Only the fields you pass are changed. On a budget order that is already active, an end date can only be shortened, never extended, and passing endTime as null removes the expiration date entirely.

apple_ads.update_budget_order

Delete Budget Order

Soft-delete one budget order. Apple Ads rejects the deletion with 400 while any campaign is still assigned to the budget order, and also once it has started, expired, been exhausted or been canceled. A soft-deleted budget order cannot be restored; create a new one instead.

apple_ads.delete_budget_order

Get Campaign Report

Retrieve App Store campaign performance, one row per campaign with metrics aggregated over the date range and optionally broken out by granularity and dimension. Every App Store report request must carry a filter on campaignId; this action rejects a request without one before it reaches Apple Ads.

apple_ads.get_campaign_report

Get Ad Group Report

Retrieve App Store ad group performance, one row per ad group with metrics aggregated over the date range and optionally broken out by granularity and dimension. Every App Store report request must carry a filter on campaignId; this action rejects a request without one before it reaches Apple Ads. Add an adGroupId filter to narrow the report further.

apple_ads.get_ad_group_report

Get Ad Report

Retrieve App Store ad performance, one row per ad with metrics aggregated over the date range. Every App Store report request must carry a filter on campaignId; this action rejects a request without one before it reaches Apple Ads. Ad-level reports do not support HOURLY granularity or the demographic dimensions.

apple_ads.get_ad_report

Get Keyword Report

Retrieve App Store keyword performance, one row per keyword with metrics aggregated over the date range and an optional bid recommendation. Every App Store report request must carry a filter on campaignId; this action rejects a request without one before it reaches Apple Ads. Add an adGroupId filter to keep the report to a single ad group.

apple_ads.get_keyword_report

Get Search Term Report

Retrieve the App Store search terms that matched a keyword and produced an impression, one row per search term with the keyword it matched. Every App Store report request must carry a filter on campaignId; this action rejects a request without one before it reaches Apple Ads. Apple Ads suppresses or aggregates low-volume terms to protect user privacy.

apple_ads.get_search_term_report

Get Brand Campaign Report

Retrieve Apple Maps campaign performance, one row per campaign with spend, engagement and Apple Maps action metrics aggregated over the date range. Filter on campaignId to scope the report to specific campaigns.

apple_ads.get_brand_campaign_report

Get Brand Ad Group Report

Retrieve Apple Maps ad group performance, one row per ad group with spend, engagement and Apple Maps action metrics aggregated over the date range. Filter on campaignId or adGroupId to scope the report.

apple_ads.get_brand_ad_group_report

Get Brand Ad Report

Retrieve Apple Maps ad performance, one row per ad with its creative snapshot and metrics aggregated over the date range. Filter on campaignId or adGroupId to scope the report. Ad-level reports do not support HOURLY granularity.

apple_ads.get_brand_ad_report

Get Brand Keyword Report

Retrieve Apple Maps keyword performance, one row per keyword with metrics aggregated over the date range and an optional bid recommendation. Always filter on campaignId or adGroupId so the report does not span every keyword in the ad account.

apple_ads.get_brand_keyword_report

Get Brand Search Term Report

Retrieve the Apple Maps search terms that matched a keyword and produced an impression on the Search Results placement, one row per search term with the keyword it matched. Always filter on campaignId or adGroupId. Apple Ads suppresses or aggregates low-volume terms to protect user privacy.

apple_ads.get_brand_search_term_report

Query Impression Share

Measure what share of the available impressions one App Store app captured for each search term and country or region. Apple Maps brand campaigns have no impression share equivalent.

apple_ads.query_impression_share

Query Search Term Popularity

Rank App Store search terms by relative search volume within a country or region and genre, to discover high-volume terms worth targeting.

apple_ads.query_search_term_popularity

Query Target Cpa Recommendations

List the target CPA adjustments Apple Ads recommends for one promoted object. Only campaigns on a Maximize Conversions bid strategy receive them, and a target CPA is a goal the auto-bidder optimizes toward rather than a bid.

apple_ads.query_target_cpa_recommendations

Apply Target Cpa Recommendations

Accept one or more target CPA recommendations. Apple Ads changes the target the campaign's Maximize Conversions bidding optimizes toward and moves each recommendation to the terminal APPLIED state.

apple_ads.apply_target_cpa_recommendations

Dismiss Target Cpa Recommendations

Reject one or more target CPA recommendations. The campaign keeps its current target, but each recommendation moves to the terminal DISMISSED state and never returns to AVAILABLE.

apple_ads.dismiss_target_cpa_recommendations

Query Daily Budget Recommendations

List the daily budget increases Apple Ads recommends for one promoted object, with the historical and projected performance behind each one. This is the only recommendation type available for Apple Maps brand campaigns.

apple_ads.query_daily_budget_recommendations

Apply Daily Budget Recommendations

Accept one or more daily budget recommendations. Apple Ads raises each campaign's daily budget and moves the recommendation to the terminal APPLIED state.

apple_ads.apply_daily_budget_recommendations

Dismiss Daily Budget Recommendations

Reject one or more daily budget recommendations. Each campaign keeps its current daily budget, but the recommendation moves to the terminal DISMISSED state and never returns to AVAILABLE.

apple_ads.dismiss_daily_budget_recommendations

Query Keyword Suggestions

Discover keywords worth targeting for one promoted object, ranked by relative popularity. Suggestions are stateless: turn one into a live keyword with create_keyword.

apple_ads.query_keyword_suggestions

Query Phrase Suggestions

Discover natural-language search phrases for one promoted object, or look up how popular known phrases are. Pick exactly one route: SUGGESTION needs the promoted object, SEARCH needs phrases or phraseLike.

apple_ads.query_phrase_suggestions

Query Category Suggestions

Discover the categories associated with one promoted object, or look up how popular known category names are. Pick exactly one route: SUGGESTION needs the promoted object, SEARCH needs categories or categoryLike.

apple_ads.query_category_suggestions

Query Target Cpa Suggestion

Read the target CPA Apple Ads suggests as the starting point for a new Maximize Conversions campaign, computed from the app's tap-install CPI over the last 28 days. It applies to App Store apps only, so the request always asks for promotedObjectType APPSTORE_APP.

apple_ads.query_target_cpa_suggestion

Query Change History

Search the change history of one ad account, returning one row per transaction, actor and entity type with a count of the entity changes it covers. A filter on eventTime is required and Apple Ads looks back at most 6 months. A summary row carries no entityId, so set metadata to latest or snapshot when you plan to expand rows with get_change_history_detail: each row's metas entries then include a ready-to-use detailId.

apple_ads.query_change_history

Get Change History Detail

Read the field-level before and after values of one entity change, addressed by the composite detailId that query_change_history returns in each row's metas entries when metadata is latest or snapshot.

apple_ads.get_change_history_detail

Frequently Asked Questions

Why must I choose a campaign for App Store reports?

The report operations require a campaign filter. Supply the ad account, campaign IDs, and date range so the assistant can scope the report correctly.

Will a search-term report show every query?

No. Apple Ads suppresses or aggregates low-volume terms for privacy. The assistant should describe the reported coverage and not infer omitted terms.

Does viewing a recommendation change my budget?

No. Querying and applying recommendations are separate operations. Applying a daily budget recommendation raises the campaign budget, so request that change explicitly.

Connect Apple Ads

About Apple Ads ↗