# ChatGPT Ads through toolfare

> Spend and results by campaign, ad group, landing page or UTM, live campaigns and drafts, billing and pixel readiness, and an advisory policy check on your copy — answered inside ChatGPT, Claude, Codex or Cursor. There is no ChatGPT Ads login to connect: toolfare sets the account up for you, and every read is free.

Page: https://toolfare.ai/chatgpt-ads

## Use it from your agent

Paste this into Claude Code, Codex, Cursor or any agent with a shell:

> Set up https://toolfare.ai/skill.md, then use toolfare to answer: Which landing pages convert best on ChatGPT Ads this month?

Apps without a terminal connect toolfare as an MCP server: https://toolfare.ai/docs#connect

## Use it from a script

```sh
mkdir -p ~/.local/bin
curl -fsSL 'https://toolfare.ai/toolfare/toolfare.mjs' -o ~/.local/bin/toolfare
chmod +x ~/.local/bin/toolfare
export PATH="$HOME/.local/bin:$PATH"
export TOOLFARE_MCP_URL='https://api.toolfare.ai/mcp'
toolfare login
```

Then connect your ChatGPT Ads account in the toolfare console (https://toolfare.ai/chatgpt-ads#setup); calls fail until it is connected.

Sign in once per machine; the CLI renews the sign-in itself. On a CI runner or another server, create an API key in the toolfare console and set it as `TOOLFARE_API_KEY` instead of signing in. Paid calls on one sign-in or key run one at a time. `--max-cost` refuses a call quoted above that many credits (1,000 credits = $3).

## Tools

### Results by campaign, landing page or UTM

Tool: `ads_query_single_dimension`

Spend, impressions, clicks, conversions and the derived costs, grouped by account, date, campaign, landing page or a UTM key — read from toolfare’s synced copy of the account.

Ask:
- Which landing pages convert best on ChatGPT Ads this month?
- Break down our ChatGPT Ads spend by utm_campaign.

### Live campaigns, and the drafts beside them

Tool: `ads_list_campaigns`

The account’s campaigns as the platform reports them, together with any campaign drafts saved in your toolfare account.

Ask:
- Which ChatGPT Ads campaigns are live right now?
- Do we have any campaign drafts that were never launched?

### Whether billing and the pixel are ready

Tool: `ads_get_account_info`

Account, billing and pixel facts combined into conservative readiness checks — what would stop a campaign from activating or from tracking.

Ask:
- Is our ChatGPT Ads account ready to launch a campaign?
- Is the pixel set up on our ChatGPT Ads account?

### An advisory policy check on your ad

Tool: `ads_check_ad_compliance`

Reads copy, media and destination against ChatGPT Ads content policy and reports what it found and what it could not check. Advice, not approval — a clean result does not mean the ad will run.

Ask:
- Check this ad copy and landing page against ChatGPT Ads policy.
- What in this draft might get flagged?

### Whether conversion tracking can support a launch

Tool: `ads_get_deploy_readiness`

Whether the account’s synced conversion setup is ready for a conversion-optimised campaign, and the single thing blocking it if not.

Ask:
- Can we run a conversion campaign on ChatGPT Ads yet?
- What is missing before we can optimise for conversions?

### The ad groups inside a campaign

Tool: `ads_list_ad_groups`

Ad groups and their current lifecycle state, for the whole account or one campaign.

Ask:
- List the ad groups in this ChatGPT Ads campaign.
- Which ad groups are active?

### Also available

- `ads_audit_ad_automation_inventory`: Audit every tracked automation setting against the live account
- `ads_create_ad`: Draft a paused ad from a creative
- `ads_get_ad_group`: One ad group and the ads inside it
- `ads_get_campaign`: One campaign’s live settings and status
- `ads_get_chatgpt_ads_report`: Live ChatGPT Ads performance by campaign and day
- `ads_get_data_readiness`: Which date ranges have finished syncing
- `ads_list_ad_accounts`: The ad accounts your toolfare account can read
- `ads_list_conversion_actions`: The conversion actions the account tracks
- `ads_list_geo_targets`: Country, region and DMA targeting codes
- `ads_preview_automation_baseline`: Read an entity’s current automation settings

## Price

Free to read: it is your own account, so toolfare pays nobody for the data and charges nothing per read. No per-read charge to observe. Reads need no purchase. Like every toolfare call, they run only while your balance holds at least $0.003, and that is not spent.

Balances and top-ups are in US dollars. Quotes and `--max-cost` count credits: 1,000 credits = $3 ($0.003 each).

## Use it when

- You are running ChatGPT Ads and want results by landing page or UTM without building a report.
- You want to know whether billing, the pixel and conversion tracking are ready before a launch.
- You want a policy read on copy and destination before you submit.

## Look elsewhere when

- You want a breakdown by two dimensions at once. ChatGPT Ads reporting here is one dimension at a time.
- You want certainty an ad will be approved. The compliance check is advisory and never a publishing gate.
- You want to activate or edit a campaign. Over MCP your AI can only propose new ads, and each one waits for your approval in toolfare.

## Limits

- Synced reporting supports one dimension at a time — account, date, campaign, landing page or a UTM key among them — with no multi-dimension breakdown.
- Live campaign/day reports cover up to 31 days per request and use the platform’s own conversion definitions, without applying any custom business conversion groups.
- UTM breakdowns reflect current campaign metadata; campaigns with no value for a key report under “(not set)”.
- A freshly connected account backfills in stages; an unsynced range is not zero spend.
- The compliance check is advisory. It reports gaps in what it could check and is never approval.
