← All articles
OpenAI Dots7 min read

OpenAI Dots for Meta Ads: Cost per Lead, Creative Fatigue and Lead Forms

Connect OpenAI Dots to Ads Manager data through MCP Ads to schedule cost-per-lead and creative-fatigue checks, export leads, and boost posts you approve.

Dots arrived as OpenAI's answer to Meta's Muse, and an OpenAI agent has no built-in view of Ads Manager. It works through ChatGPT's apps and connectors, and in this setup MCP Ads is the connector that gives your dot your Ads Manager reports and actions. MCP Ads is an independent MCP server, not a Meta or OpenAI integration: you add it in ChatGPT, and your dot then works with the ad accounts and Pages you connected there. This guide covers the Meta checks worth scheduling and where the pitfalls are.
WalkthroughSee it on a real account

One minute of Claude reading a live Google Ads account through MCP Ads, asking before it changes anything.

Cost per lead by campaign, ad set and ad, with breakdowns
A weekly creative-fatigue check driven by frequency and CTR
Lead form lists, lead exports and paused lead ads
Boosting an existing post, and the budget-unit pitfall

What MCP Ads adds for Meta Ads

With MCP Ads connected, your dot can read an account overview, campaigns, ad sets and ads with spend, impressions, clicks, CTR, CPC, CPM, reach, frequency and the actions Meta records; daily and hourly trends; placement, demographic and geographic breakdowns; video performance; audiences, pixels and custom conversions; and an account diagnostic that covers spending limits, status, active campaigns and pixel health in one call. It can also check for payment errors, which is often why delivery stops overnight.

Meta Ads and Facebook & Instagram Pages are two separate connections in MCP Ads. Ad reporting needs the first; lead forms, boosting and page posts also need the second. The Meta Ads MCP page lists the full set.

Connect it in a few minutes

Dots use the same apps and connectors as ChatGPT, so MCP Ads is added once in ChatGPT and your dot can then use it. The MCP Ads plugin is in review for the ChatGPT plugin directory; until it is listed, you add it as a custom connector in Developer mode. There is no API key to copy: you sign in through the browser.

Connect Meta Ads, and Facebook & Instagram Pages if you use lead forms or boost posts, under Connections in the MCP Ads dashboard before you send it.

In a Business workspace, custom connectors may need an admin to turn on Developer mode first. The Dots setup page and the Dots docs have the same steps.

Dots follow ChatGPT's permissions, and you can add rules for which tasks need your approval. Research a dot does on its own is read-only; tasks you give it or schedule can act, under their own rules and approvals, on top of the approval controls in MCP Ads.

The steps:

  • In ChatGPT, open Settings → Plugins → Browse plugins, and turn on Developer mode if custom connectors are not offered yet.
  • Add a custom connector named MCP Ads with the URL https://mcp-ads.com/mcp-slim.
  • Sign in through the browser window that opens, with the login that owns your MCP Ads account.
  • Let your dot use the MCP Ads app, then ask it: "Once you are in, list my Meta ad accounts and tell me which active campaign has the highest cost per lead this month."

Cost per lead, read at the right level

Meta reports leads as an action type, and cost per lead as a cost per action type. MCP Ads returns both at campaign, ad set and ad level, so your dot can answer "which ad is driving the cost up" rather than stopping at the campaign average. For a single ad it can add a breakdown by age, gender, country, region, publisher platform, placement or device.

Placement is the breakdown people skip and should not. A campaign can look healthy on average while one placement delivers cheap leads that never answer the phone. Ask for cost per lead by placement next to what happened to those leads afterwards, which only you or your CRM know.

QuestionLevel to ask atWhat to look for
Is the account on track?CampaignCost per lead against your target, week on week
Which audience is expensive?Ad setCost per lead and frequency together
Which creative is failing?AdFalling CTR with rising cost per lead
Where are the leads coming from?Ad, by placementCheap placements with poor lead quality

Creative fatigue on a schedule

Fatigue is the classic job for an agent that checks back. The frequency watcher in MCP Ads looks at every active campaign over the last 14 days, flags the ones above a frequency threshold (3.0 by default, and you can set your own) and suggests one of three actions: refresh the creative, reduce the budget, or pause. Pair it with CTR per ad over the same window and you have a weekly note that names the ads that are wearing out.

For new angles, your dot can look at what competitors run in the Meta Ad Library through MCP Ads. The Ad Library guide covers how to read those results.

Lead forms, lead exports and boosting a post

Your dot can list the lead forms on a Page and export leads per form to CSV, filtered by date, which is useful for a scheduled "send me yesterday's leads" check. It can also build a lead form, its creative and a lead ad in one flow; that flow needs your privacy policy URL and always creates the ad paused.

To boost a post that is already doing well organically, your dot finds the post from its link or a few words of its text and creates an ad from it inside an ad set you choose. The ad keeps the post's existing likes, comments and shares.

  • Which ad sets had cost per lead more than 30% above last week? Show frequency and CTR for each.
  • Show cost per lead by placement for the last 14 days on the lead campaign.
  • Export yesterday's leads from every lead form on my Page.
  • Find my Page post about the autumn offer and prepare a boost in the retargeting ad set, paused, for me to approve.
  • Every Monday at 9, run a fatigue check and list ads with frequency over 3 and falling CTR, with three new angles from competitors' ads.
  • Every morning at 8, tell me if any ad account has a payment error or stopped delivering overnight.

Approvals, budget units and honest limits

Campaigns created through MCP Ads start paused unless you ask for them active, and budgets, statuses and new campaigns go through the approval and workspace controls in MCP Ads. Your dot prepares the change and it goes live when you approve it. Your dot sees only the ad accounts and Pages you connected in MCP Ads.

One Meta-specific pitfall: budgets are passed in the currency's smallest unit, so 6000 means 60.00. Ask your dot to state every budget change in plain currency before you approve it. Also, Meta allows a budget on the campaign or on its ad sets, not both, so a "raise the budget" request needs to say which level.

Every tool call counts toward your MCP Ads plan, and Meta's reported conversions depend on your pixel and attribution settings, which your dot reads but does not second-guess. MCP Ads is free for 30 tool calls a month, then $49/month flat for unlimited; see pricing.

FAQ

Did OpenAI or Meta build the MCP Ads integration for Dots?

No. MCP Ads is an independent hosted MCP server. A dot reaches it through the custom connector you add in ChatGPT, with a browser sign-in.

Can your dot show cost per lead by ad?

Yes. MCP Ads returns actions and cost per action type at campaign, ad set and ad level, with optional breakdowns such as placement, age, gender or device.

Will your dot turn on new Meta campaigns by itself?

No. New campaigns start paused, the lead-form flow always creates a paused ad, and changes to budgets, statuses and new campaigns go through MCP Ads approval controls.

Can your dot download my leads?

Yes. It can export leads from each lead form on a connected Page to CSV, filtered by date.

Ready to connect your marketing stack?

Connect Google Ads, Meta Ads, GA4, and Search Console. Ask Claude anything about your accounts.