ChatGPT alone cannot create Meta ads — it has no ability to authenticate into Ads Manager or call Meta's API. A working automation requires three layers: an LLM (ChatGPT or Claude) to generate structured ad copy, an orchestration platform (Make, n8n, or custom code) to route that output, and Meta's Marketing API to actually create campaigns, ad sets, and ads. Build those three layers in sequence and the workflow is genuinely powerful.
PAUSED status and include a human review gate before any live spend is touched.ChatGPT and Claude are language models — they generate text, reason about strategy, and produce structured data, but they cannot authenticate into external platforms or make API calls on your behalf. [1] That's an architecture boundary, not a capability gap. Meta requires OAuth authentication and credentialed API calls to create any campaign object inside Ads Manager, which a language model in isolation cannot perform.
This question came up in a thread in the r/ChatGPT community, and it surfaces constantly because the dream — "have AI write and publish my ads" — sounds like one step. In practice it is three distinct layers working in sequence.
A production-grade workflow has five phases that you build in sequence.
Everything starts with a consistent data schema. Whether your brief comes from a Google Sheet, Airtable, a client intake form, or a Slack message, the automation needs the same fields every time. At minimum:
This schema feeds directly into a system prompt template that instructs the LLM exactly what to produce.
Your prompt should instruct the model to return ad copy as a JSON object structured to match Meta's Marketing API ad creative fields — this eliminates a transformation step in your orchestration layer and dramatically reduces downstream errors. [2] A prompt might read:
"Return a JSON array of 3 ad variants. Each variant must include: primary_text (≤125 characters), headline (≤40 characters), description (≤30 characters), call_to_action_type."
Ask the model to produce 3–5 variants per ad set covering different angles — emotional, functional, social proof, urgency-based. In practice, testing that range of variants typically yields a 15–30% improvement in CTR versus running a single "best guess" creative, and the LLM can generate all variants in under 60 seconds.
Once the LLM returns structured JSON, an orchestration platform routes it through the rest of the pipeline. The main options:
| Platform | Best for | Meta API support | Complexity |
|---|---|---|---|
| Make (Integromat) | Marketers & agencies, no-code teams | HTTP modules for Meta API | Low–Medium |
| n8n | Self-hosted, developer-friendly teams | HTTP Request node + custom code | Medium |
| Custom Python/Node.js | Engineering teams, high-volume agencies | Full Meta Business SDK | High |
| Zapier | Simple trigger-based workflows | Webhooks only (limited) | Low |
For most marketing teams and agencies, Make is the sweet spot — visual enough for non-developers to audit, flexible enough for conditional logic (e.g., "if objective is Lead Gen, use this ad set configuration; if Conversions, use this one"). If you've ever hit the wall where Zapier's simplicity breaks the moment a workflow gets complex, Make or n8n is the right move up.
Meta's Marketing API follows a strict object hierarchy, and your automation must respect it:
OUTCOME_LEADS, OUTCOME_SALES)Your orchestration layer must make these calls sequentially, capture the returned ID at each step, and pass it into the next call. Most DIY workflows break here — typically by trying to create an ad before the campaign exists, or by dropping an ID between steps.
status: ACTIVE immediately. Automated copy generation at scale will occasionally produce something that violates Meta's ad policies, and publishing it instantly can trigger account flags. Always default to PAUSED and route through a review gate before activation.For authentication, generate a long-lived System User access token inside Meta Business Manager. Personal user tokens expire in 60 days and will break your automation at the worst possible moment.
The fastest way to damage a client relationship — or your own ad account — is removing human judgment entirely from a workflow that touches live spend. Even the most mature agent workflows include a review gate. In practice:
This isn't a concession to imperfection — it's good engineering. You're eliminating 90% of the manual labor while keeping a quality checkpoint that protects account health. For a deeper look at how approval gates work in a production AI ads agent, the Buddy approvals and safety documentation walks through the same pattern applied to Google Ads.
Once campaigns have run for 7–14 days and accumulated meaningful data (aim for at least 50 conversions per ad set before drawing conclusions — Meta's own algorithm needs roughly that volume too), pull performance data back into the LLM.
A simple implementation: pull top and bottom performing ads via the Insights API, pass them to ChatGPT with a prompt like "here are my best and worst performing variants by cost-per-result — analyze the differences and generate 5 new variants that emphasize the characteristics of the winners," and run the full pipeline again. In accounts I've run this pattern on for Google Ads with Buddy, our open-source AI ads agent, iterating this way typically produces a 20–40% reduction in cost-per-conversion within 2–3 cycles versus static creative testing.
You can also push the LLM beyond copy generation. Feed it anonymized customer data, top-converting audience segments, and your offer, then ask it to recommend interest targeting clusters, custom audience seed characteristics, lookalike expansion strategy, and exclusion audiences. These outputs won't replace a skilled media buyer's judgment, but they generate strong hypotheses to test — especially valuable when onboarding a new account with no historical data.
Before building from scratch, it's worth knowing what existing tools cover parts of this problem:
For most small-to-mid-size advertisers and agencies, building the workflow with Make + ChatGPT API + Meta Marketing API runs under $200/month at moderate volume and is more customizable than any off-the-shelf solution. The comparison between Google Ads and Meta Ads automation approaches is worth reading if you're deciding where to invest build time first.
You likely don't need the full engineering build. Use Make with a ChatGPT integration to generate copy on a schedule or trigger, review it in a lightweight approval interface, and push approved copy to Meta via API. Total build time with Make's visual interface: 4–8 hours for someone comfortable with APIs. Ongoing maintenance is minimal.
This is where the ROI becomes compelling. Managing 10+ Meta accounts, a production pipeline can reduce campaign creation time from 3–4 hours per client launch to 30–45 minutes. At agency billing rates, the recovered capacity is significant. Expect 40–80 hours of initial development; at 10+ active accounts, that investment typically pays back within 2–3 months. The same principles that make Google Docs-style workflow automation useful for content apply directly here.
Prioritize the performance feedback loop over the creation automation. You likely have brand guidelines and creative constraints that make fully automated copy generation risky without strong guardrails. Build the review gate robustly, and use the LLM primarily for variant generation and iteration rather than first-draft creation from scratch.
Yes — Claude works equally well for structured JSON output and ad copy generation. [4] The choice comes down to your existing API access and preference for model behavior. Claude's structured output mode is reliable for the kind of constrained JSON format Meta's API requires. The orchestration and API layers are identical regardless of which LLM you use.
A marketer comfortable with APIs and no-code tools can build a solid version using Make. You'll need to read Meta's Marketing API documentation and understand JSON basics, but you don't need to write custom code. The hardest part is the initial API authentication setup — once that's working, Make's visual interface handles the rest without coding.
This is exactly why the human review gate and the PAUSED default status exist. Automated copy generation at volume will occasionally produce policy-violating content — typically around health claims, financial guarantees, or sensitive audience targeting. Your review gate catches these before they reach Meta's review system and risk flagging your ad account.
The workflow described handles copy and campaign structure. Creative assets — images and video — need to be uploaded separately via Meta's API using the adimages or advideo endpoints, which you can incorporate into the same pipeline. AI image generation tools can slot into the creative layer, but video and image quality control makes that step riskier to fully automate without strong human review.
Meta's Advantage+ automates placement and audience optimization within a campaign you've already set up manually. The workflow described here automates the creation of the campaign structure itself — from brief to live ad — including copy generation and API calls. They're complementary: you can run Advantage+ creative optimization inside campaigns your automation pipeline creates.
Not a widely adopted one as of this writing. Buddy was built for Google Ads because the Google Ads API has more mature tooling for programmatic campaign management. The Meta Marketing API has the capability, but the open-source tooling ecosystem around it is thinner. The workflow in this article is the closest practical equivalent you can build today.
More answers in this topic: Automation & Scripts