MCP App Store
Business
ChatGPT Ads Manager icon

ChatGPT Ads Manager

by OpenAI

Overview

View your ad accounts, create and manage campaigns, ad groups, and ads, and analyze performance and conversions.

Tools

create_ad

ChatGPT
Create an ad using only supported public Sofa ad fields exposed by this tool. This is a consequential write; use only after the user approves the selected account and full request body, or when the request is within an explicitly approved bounded automation policy for that account. Resolve the parent ad group id from names where possible. Use upload_image or upload_image_file first when the creative needs an image, then pass its file_id token unchanged as creative.file_id. For chat_card, recommend a title of at most 24 characters and description of at most 48 to reduce placement truncation; the hard limits are 50 and 100. For product_ad_template, keep the title template to at most 30 characters instead. For ad creative images, use a square PNG or JPG that is at least 256 x 256 pixels. Recommend 640 x 640 through 1200 x 1200 pixels, with 1200 x 1200 preferred when available; do not recommend images larger than 1200 x 1200. Prefer status paused unless the user explicitly requested active.

create_ad_group

ChatGPT
Create an ad group using only supported public Sofa ad group fields exposed by this tool. This is a consequential write; use only after the user approves the selected account and full request body, or when the request is within an explicitly approved bounded automation policy for that account. Resolve the parent campaign id from names internally where possible, then read the parent campaign. Match its bidding type: impressions requires billing_event_type='impression', while clicks or conversions requires billing_event_type='click'. Only propose CPC for a new clicks campaign flow. For a manual create, show and confirm the maximum bid; for automation, keep it within the approved policy. State that it uses the account currency without guessing an unavailable currency code. Prefer status paused unless the user explicitly requested active.

create_campaign

ChatGPT
Create a campaign using only supported public Sofa campaign fields exposed by this tool. This is a consequential write; use only after the user approves the selected account and full request body, or when the request is within an explicitly approved bounded automation policy for that account. Resolve ids from names internally where possible. If budget is unspecified, propose a daily 100.00 in the account currency; if the objective is unspecified, propose bidding_type='clicks' for CPC. Show and confirm these recommendations for a manual create, or include them in the approved automation policy, rather than silently applying them. Prefer status paused unless the user explicitly requested active.

create_self_serve_ad_account

ChatGPT
Create and link a self-serve Ads Manager ad account after the user has confirmed the account details. Connector onboarding currently supports business advertiser accounts only; if the user wants an individual account, send them to Ads Manager. Use this only for non-sensitive account setup fields such as business URL, name, country, currency, timezone, and industry. Tell the user before calling that tenant/org ownership, country, currency, timezone, and business account type may not be changeable through the connector later. Do not use this for billing, tax ids, payment methods, or identity verification; send the user to Ads Manager for those steps.

get_ad

ChatGPT
Get a single Ads Manager ad by ad id. If the user supplied names, resolve campaign, ad group, and ad ids first with the hierarchical list tools and name filters.

get_ad_account_insights

ChatGPT
Get or rank performance insights across an ad account. For top campaigns, ad groups, or ads, set aggregation_level to that entity, use time_granularity='none' to aggregate the whole requested range, request the ranking metric in fields, and sort it descending. For example, top ads by CTR uses aggregation_level='ad', fields including ad.id, ad.name, and ctr, and sort field ctr descending.

get_ad_group

ChatGPT
Get a single Ads Manager ad group by ad group id. If the user supplied names, resolve campaign and ad group ids first with list_campaigns(name=...) and list_ad_groups(..., name=...).

get_ad_group_insights

ChatGPT
Get performance insights for one ad group, optionally grouped by time, segment, or aggregation level.

get_ad_insights

ChatGPT
Get performance insights for one ad, optionally grouped by time, segment, or aggregation level.

get_campaign

ChatGPT
Get a single Ads Manager campaign by campaign id. If the user supplied a name, resolve the id first with list_campaigns(name=...).

get_campaign_insights

ChatGPT
Get performance insights for one campaign, optionally grouped by time, segment, or aggregation level.

get_conversion_insights

ChatGPT
Get attributed conversion totals for Ads Manager campaigns, ad groups, or ads. Use entity_ids matching the requested aggregation_level.

get_identity_verification_status

ChatGPT
Get status-only advertiser identity verification state for an Ads Manager ad account. Use this only to check whether Ads Manager still needs verification; the verification form and any legal identity details must stay in Ads Manager.

get_onboarding_status

ChatGPT
Get safe self-serve onboarding status for an Ads Manager ad account. This returns setup state and the recommended next action. It returns an Ads Manager link only when account location or identity verification must be resolved there. It does not expose billing, tax, payment, legal identity, or detailed account-integrity review data. Pass the exact account name when its internal id is unavailable; the tool resolves the account before fetching status. Omit both account fields only to auto-select the sole accessible account.

list_ad_accounts

ChatGPT
List Ads Manager ad accounts accessible by the signed-in user and resolve the account to use. Every data entry always includes its internal id. Always include each id when presenting account results. Pass ad_account_name when the user named an account. If resolved_ad_account_id is returned, immediately reuse it for the requested read operation; never ask the user to find or transcribe that id. If resolution is ambiguous or not_found, ask the user to choose from the returned account names; if names collide, include returned ids or URLs only to distinguish the options.

list_ad_groups

ChatGPT
List ad groups for an Ads Manager ad account using public Sofa pagination and sort parameters. Use campaign_id resolved from list_campaigns when the user scopes to a campaign, or omit it to search across the account. Pass name when the user supplied an ad group name. Use include=['serving_issues'] to return reasons ad groups cannot serve.

list_ads

ChatGPT
List ads for an Ads Manager ad account using public Sofa pagination and sort parameters. Use ad_group_id resolved from list_ad_groups when the user scopes to an ad group, or omit it to search across the account. Pass name when the user supplied an ad name. Use include=['serving_issues'] to return reasons ads cannot serve. Use get_ad for details about one resolved ad.

list_campaigns

ChatGPT
List campaigns for a single Ads Manager ad account using public Sofa pagination and sort parameters. Pass name when the user supplied a campaign name. Use include=['serving_issues'] to return reasons campaigns cannot serve. Use the returned campaign ids with get_campaign or list_ad_groups.

list_onboarding_tenants

ChatGPT
List tenants where the signed-in user can start self-serve Ads Manager onboarding. Use this before creating a new ad account to determine whether the user can create an account in an existing tenant or create a new tenant. Present tenants by name and keep each returned id internal for the subsequent create_self_serve_ad_account call. Do not show or ask the user for a tenant id unless duplicate names or a missing name require it for disambiguation. This does not collect billing, tax, payment, or legal identity details.

update_ad

ChatGPT
Update an ad by ad id using only supported public Sofa ad fields exposed by this tool. This is a consequential write; use only after the user approves the selected account, target ad, and exact update body. Resolve ad ids from names internally where possible. Use upload_image or upload_image_file first when the creative needs an image, then pass its file_id token unchanged as creative.file_id.

update_ad_group

ChatGPT
Update an ad group by ad group id using only supported public Sofa ad group fields exposed by this tool. This is a consequential write; use only after the user approves the selected account, target ad group, and exact update body. Resolve ad group ids from names internally where possible.

update_campaign

ChatGPT
Update a campaign by campaign id using only supported public Sofa campaign fields exposed by this tool. This is a consequential write; use only after the user approves the selected account, target campaign, and exact update body. Resolve campaign ids from names internally where possible.

upload_account_logo_file

ChatGPT
Upload a ChatGPT- or Codex-provided image file as an Ads Manager account logo and return an opaque file_id token. For an existing account, use the selected account so the upload is scoped to that account. Omit ad_account_id only when preparing a logo before self-serve account creation. Uploading does not change the active logo; use set_account_logo after showing the exact generated or uploaded image to the user. Do not use this for billing, tax, payment, or identity documents.

upload_account_logo_from_url

ChatGPT
Upload an Ads Manager account logo from a public image URL and return an opaque file_id token. For an existing account, use the selected account so the upload is scoped to that account. Omit ad_account_id only when preparing a logo before self-serve account creation. Uploading does not change the active logo; use set_account_logo after showing the exact image to the user. Do not use this for billing, tax, payment, or identity documents.

upload_image

ChatGPT
Upload an image from a URL through the public Sofa /upload endpoint and return an opaque file_id token. This is a consequential write; use only after the user approves the selected account, image_url, and optional purpose. Pass the returned file_id token unchanged in public ad creative fields that accept file_id. For ad creative images, use a square PNG or JPG that is at least 256 x 256 pixels. Recommend 640 x 640 through 1200 x 1200 pixels, with 1200 x 1200 preferred when available; do not recommend images larger than 1200 x 1200.

upload_image_file

ChatGPT
Upload a Codex-provided image file through the public Sofa /upload endpoint and return an opaque file_id token. This is a consequential write; use only after the user approves the selected account, file, and optional purpose. Pass the returned file_id token unchanged in public ad creative fields that accept file_id. For ad creative images, use a square PNG or JPG that is at least 256 x 256 pixels. Recommend 640 x 640 through 1200 x 1200 pixels, with 1200 x 1200 preferred when available; do not recommend images larger than 1200 x 1200.

Capabilities

WritesInteractive

App Stats

27

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily