Opus Growth

List Ad Policy Issues

Google Ads ad POLICY / DISAPPROVAL report — which ads were DISAPPROVED or limited, and WHY.

Type
Reads only
Credits
2
Platform
Google Ads
Approval
Not needed, nothing changes

What it does

Google Ads ad POLICY / DISAPPROVAL report — which ads were DISAPPROVED or limited, and WHY. Returns per ad: campaign + ad group, ad id and type, approval_status (APPROVED | APPROVED_LIMITED | DISAPPROVED | AREA_OF_INTEREST_ONLY), review_status (REVIEWED | UNDER_REVIEW | REVIEW_IN_PROGRESS), and the policy topics that triggered it (topic name + type: PROHIBITED / RESTRICTED / LIMITED) WITH Google's evidence for each topic: the exact triggering ad text (evidence.triggering_texts), the flagged websites / non-working destination URL, and the constraints (which countries the ad is limited in, missing certification). When Google sends no detail for a topic the entry carries detail_available=false. When a campaign or ad group reports HAS_ADS_DISAPPROVED in its status_reasons, that flag says something is disapproved but not WHICH ad or WHY; this tool returns both. only_problems=true (default) returns just the ads that are not fully approved; false returns every ad with its approval state. Every matching ad is retained: limit controls only this response page and page_token continues from cache without a new query or credit. Read-only.

MCP: list_ad_policy_issues

How to use it

You don't call tools by name. Write what you want in ChatGPT, Claude or another assistant connected to Opus Growth, in your own words; it picks this tool when it fits.

Parameters

NameTypeRequiredDefault
customer_idstringRequired·Google Ads customer account ID to query or change. Use the numeric ID returned by list_accounts; omit separators unless this tool explicitly says otherwise.
only_problemsbooleanOptionaltrueWhether to enable only problems for this operation.
limitintegerOptional0Maximum number of rows returned in this response. When the result has_more flag is true, continue with next_page_token rather than assuming the list is complete.
page_tokenstringOptional·Continuation token returned as next_page_token by a previous call. Leave empty for the first page; pass it unchanged to retrieve the cached next page.