All articles
Tutorial 18 min read

Create Google Ads and Meta Campaigns in Plain English Using Claude or ChatGPT

A

Adspirer Team

Share Y
Create Google Ads and Meta Campaigns in Plain English Using Claude or ChatGPT
Summary

Yes — you can describe a campaign to Claude or ChatGPT in plain English and have it built, structured, and ready for review in under a minute. Through Adspirer’s MCP connection, the AI reads your description, calls the ad platform APIs, creates every layer of the campaign, and pauses it for your approval before anything goes live.

Google Ads Manager has 23 distinct steps to launch a Search campaign. Here’s how to do it in one sentence.

That’s not marketing copy — it’s what happens when you connect Claude or ChatGPT to your ad accounts through Adspirer. You describe the campaign you want. The AI builds it. You review it. You approve it. It goes live.

No form-filling. No guessing which setting lives in which submenu. No switching between tabs to cross-reference documentation.

The capability that makes this possible is MCP (Model Context Protocol) — a standard that lets AI assistants call external tools and APIs directly from the chat interface. When you connect Adspirer to Claude or ChatGPT, the AI gains access to 200+ advertising tools that call the Google Ads and Meta Ads APIs on your behalf. You speak. The API responds. The campaign exists.

Info

Want to try this now? Adspirer connects Claude and ChatGPT to Google Ads, Meta Ads, LinkedIn Ads, and TikTok Ads. Setup takes 2 minutes and nothing goes live without your approval. Start free →


What “Natural Language Campaign Setup” Actually Means

This isn’t AI generating a campaign plan you then copy into Ads Manager manually. And it isn’t a chatbot that fills in a template form for you.

When you describe a campaign to Claude or ChatGPT through Adspirer, the AI is making direct, authenticated API calls to Google Ads or Meta Ads on your behalf. It reads your description, extracts the structured parameters it needs (budget, locations, keywords, bid strategy, match types, objective), and calls the same APIs that Ads Manager uses in the background.

The difference from working in the UI is that you skip the interface entirely. You write one sentence — or a paragraph with all the details — and the AI handles the translation from human language to platform configuration.

Before: Manual Campaign Build

Open Google Ads Manager → Click New Campaign → Select objective → Choose campaign type → Name the campaign → Select bidding strategy → Set budget → Configure locations → Configure languages → Add keywords → Set match types → Write ad copy → Create ad group structure → Review settings → Publish

~23 steps, 20-40 minutes, high error risk

After: Natural Language Setup

Describe your campaign in plain English → Claude builds the full structure via API → Review the summary Claude shows you → Approve to unpause

1 prompt, under 60 seconds, paused by default

One important clarification: the AI is not “hallucinating” a campaign into existence. It creates real campaigns in your real ad account, using your real budget credentials. The campaigns appear in your Ads Manager immediately. This is why Adspirer defaults every created campaign to paused — so you can review exactly what was built before it starts spending.

You can verify the campaign structure, spot any misunderstandings, and either approve it with one message or ask Claude to change something before it goes live.

What You Need Before Starting

For Google Ads

  • A Google Ads account (even a fresh one)
  • A Claude Pro or ChatGPT Plus subscription
  • An Adspirer account (free tier available)
  • About 2 minutes to connect everything

For Meta Ads

  • A Meta Business Suite account with an Ad Account
  • Your Meta Pixel installed (required for conversion campaigns)
  • A Claude Pro or ChatGPT Plus subscription
  • An Adspirer account

You do not need developer access, API credentials, or any technical setup. Adspirer handles the API authentication — you only authorize via standard OAuth, the same flow you use to connect any third-party app to Google or Facebook.


Step by Step: Google Ads Campaign from One Prompt

Here’s exactly what happens when you describe a Google Search campaign to Claude through Adspirer.

Connect Adspirer to Claude

Go to Claude → Settings → Connectors → search “Adspirer” → connect and authorize. Then link your Google Ads account through the OAuth flow in your Adspirer dashboard. Total setup: under 2 minutes.

Write your campaign description

Describe the campaign in plain English. The more detail you include, the closer the result is to what you want — but a minimal description also works. Claude will flag anything it needs clarification on before building.

Full Google Search Campaign — Complete Description

Create a Google Search campaign called “Spring Sale — Running Shoes”. Target these keywords as phrase match: “running shoes”, “buy running shoes online”, “best running shoes 2026”. Add exact match variants for “buy running shoes” and “running shoes sale”. Target the United States and Canada. Daily budget $75. Bidding strategy: Maximize Conversions. Ad schedule: Monday to Friday, 6am to 10pm. Set the campaign to paused for review before anything goes live.

Review what Claude is about to build

Before creating anything, ask Claude to confirm the full structure. This is the fastest way to catch misunderstandings before they become real campaign settings.

Ask Claude to Confirm Before Building

List everything you’re about to create before building it — campaign name, keywords with match types, locations, budget, bid strategy, ad schedule, and status.

Claude will reply with a structured summary. Read it, make sure it matches your intent, then tell it to proceed.

Claude builds the campaign via API

Claude calls Adspirer’s tools in sequence: creates the campaign shell, sets the budget and bidding, adds geo targets, creates ad groups, adds keywords with the correct match types, and sets the status to paused. You see progress in real time — each step confirms as it completes.

Edit before approving

If anything needs changing, do it in the same conversation. No need to open Ads Manager.

Edit Before Approving

Actually, change the daily budget to $100 and add Australia to the locations. Also make “best running shoes 2026” exact match instead of phrase match.

Claude makes the changes via API — same real-time updates, same paused status.

Approve to go live

When everything looks right, tell Claude to unpause. The campaign starts serving immediately. You can also unpause directly in Ads Manager if you prefer.

What Claude Actually Builds

When you send that campaign description, Claude creates a complete, layered campaign structure:

  • Campaign level — name, objective, bidding strategy, daily budget, status (paused)
  • Targeting — geo targets (country or region level), language, ad schedule
  • Ad group structure — themed groups matching your keyword intent
  • Keywords — each with the match type you specified (exact, phrase, broad)
  • API validation — Adspirer checks for policy issues and configuration errors before confirming

What it does not generate automatically: ad copy. Claude can write responsive search ads if you include that in the prompt, but campaign structure and ad copy are separate steps. Most experienced advertisers prefer to handle copy separately anyway.

Tip

Include ad copy in the same prompt if you want it. Add “write 3 responsive search ad headlines and 2 descriptions for each ad group” to your campaign description and Claude will generate copy as part of the build. The character limits (30 for headlines, 90 for descriptions) are applied automatically.

A Real Confirmation Summary

Here’s what Claude’s pre-build output looks like for the prompt above. This is what you review before saying “go ahead”:

Campaign: "Spring Sale — Running Shoes"
Type: Search
Status: Paused (will not spend until you approve)
Budget: $75/day
Bidding: Maximize Conversions
Locations: United States, Canada
Language: English
Ad schedule: Monday–Friday, 6am–10pm (account timezone)
Ad Groups:
"Brand Keywords"
[exact] buy running shoes
[exact] running shoes sale
"Generic Keywords"
[phrase] running shoes
[phrase] buy running shoes online
[phrase] best running shoes 2026
Ready to build. Confirm to proceed or let me know what to change.

If the confirmation matches your intent, reply “go ahead” or “build it.” If anything is off — a location is wrong, a match type needs changing, the ad groups need restructuring — correct it in plain English before Claude touches the API. See the full list of skills Adspirer supports →

Google Campaign Types You Can Build This Way

The natural language approach works across all major Google Ads campaign types:

Campaign TypeWhat to include in your prompt
SearchKeywords with match types, bid strategy, budget, locations
DisplayAudience targeting, topic/placement targeting, responsive ad assets
Performance MaxURL to scrape for assets, audience signals, conversion goal
ShoppingMerchant Center ID, product group filters, target ROAS
Video (YouTube)Audience, placement type (in-stream vs in-feed), budget

For PMax specifically: describe the objective, geo targets, budget, and audience signals — Claude builds the campaign shell and can pull assets from your landing page URL. Full PMax guide →


Launching a Meta Campaign from Natural Language

Meta campaign creation follows the same pattern: describe the objective, audience, budget, and creative approach, and Claude builds the campaign hierarchy — campaign, ad set, and ad shell — paused for your review.

Image Ad Campaign — Lead Generation

Meta Image Campaign — SaaS Lead Generation

Create a Meta image ad campaign for my SaaS tool targeting marketers aged 25 to 45 in the United States. Interests: marketing automation, digital marketing, HubSpot, and Marketo. Objective: Lead Generation. Daily budget $50. Placement: Facebook and Instagram feeds. Set to paused for review — I’ll add the creative separately.

Claude builds:

LayerWhat Gets Created
CampaignObjective set to Lead Generation, spending cap from budget
Ad SetAudience targeting (age, locations, interests), placements, daily budget
AdPlaceholder ad shell in paused status — ready for your creative upload

Because the campaign is paused, you can add your image and ad copy in Ads Manager (or ask Claude to generate copy) before anything spends.

Video Ad Campaign — E-commerce Conversions

Meta Video Campaign — E-commerce Conversions

Create a Meta video ad campaign targeting women 28 to 50 in the US and UK interested in fitness, wellness, and yoga. Objective: Conversions, optimized for purchase. Daily budget $80. Run on Facebook feed, Instagram feed, and Instagram Reels. Frequency cap: 3 impressions per user per week. Set to paused for review.

What’s different for video campaigns:

  • Claude sets the optimization event (purchase) at the ad set level
  • Frequency capping is applied at the campaign level where Meta supports it
  • Reels placement is specified separately from feed placements
  • You supply the video creative — Claude creates the structural container

Before approving any Meta campaign, check that your Meta Pixel is firing correctly on the conversion event you’re optimizing for. A campaign optimizing for purchases without a working Pixel will spend budget without meaningful signal. Claude can check your Pixel status if you ask.

According to Meta’s Business Help Center, campaign objective selection at creation time cannot be changed after launch — so it’s worth confirming the objective in Claude’s pre-build summary before proceeding.

Other Meta Campaign Types You Can Describe

Beyond image and video ads, the same natural language approach works for:

  • Carousel campaigns — describe each card’s headline, link, and description in the prompt
  • Collection ads — reference your product catalog by name and Claude sets the catalog source
  • Traffic campaigns — specify the URL, audience, placement, and budget
  • Awareness campaigns — describe your reach objective, frequency cap, and geo target
  • Retargeting campaigns — reference a Custom Audience you’ve already created in Meta (“use my ‘30-day website visitors’ audience”)

The pattern is the same across all types: describe the objective, audience, budget, and any structural specifics — Claude builds the campaign, ad set, and ad shell, paused for review.

Warning

Meta Pixel note: For any campaign optimizing for conversions, make sure your Pixel events are verified in Meta Events Manager before building the campaign. Claude can check your Pixel status — ask “check my Meta Pixel and confirm purchase events are firing” before creating a conversion campaign.


What You Can and Can’t Describe

Natural language campaign setup handles most of what you’d do in Ads Manager — but there are limits. Here’s an honest breakdown.

What you can describeWhat you can’t describe this wayWorkaround
Campaign name, type, objectiveCustom conversion events (must be pre-configured in platform)Set up conversion events in Ads Manager first, then reference by name
Daily or lifetime budgetShared budgets across campaignsUse individual campaign budgets, or configure shared budgets in Ads Manager
Geographic targeting (country, state, city, radius)Zip code lists with 500+ entriesUpload large location lists directly in Ads Manager
Keyword match types (exact, phrase, broad)Dynamic Search Ad targetsCreate DSA campaigns in Ads Manager
Bidding strategies (Max Conversions, Target CPA, Target ROAS, Manual CPC)Portfolio bid strategiesLink portfolio strategies in Ads Manager after campaign creation
Audience targeting by interest, age, gender, locationCustom Audiences from uploaded listsUpload custom audiences in Meta first, then reference the audience name
Ad schedule (days and hours)Dayparting with different bids per hourSet base schedule via Claude, adjust bid modifiers in Ads Manager
Ad copy (headlines, descriptions)Dynamic Keyword Insertion syntaxWrite DKI ads directly in Google Ads UI
Campaign structure (multiple ad groups with themes)Asset group creative for Performance MaxUse Claude for PMax campaign shell, then add assets in Ads Manager

The practical rule: if you can describe it in one or two sentences, Claude can probably build it. If it requires uploading a file or referencing a list you haven’t pre-configured in the platform, handle that part in Ads Manager first, then use Claude for the rest.

According to Google’s official campaign setup documentation, the typical Search campaign workflow involves at minimum six configuration screens before the first keyword is entered. Natural language campaign setup collapses all of this into the prompt itself.

What Happens to Campaigns You Build This Way

Campaigns created through Claude are identical to campaigns built manually in Ads Manager — they live in the same account, appear in the same interface, and can be edited either way. There’s no secondary layer or shadow account. You can build through Claude and then refine in the UI, or vice versa. The only trace of how a campaign was created is in your Claude conversation history.

This also means existing campaigns are editable from Claude. You don’t have to create a campaign through natural language to manage it this way — you can connect Claude to an account with years of existing campaigns and start managing them conversationally from day one.


5 Tips for Better Campaign Descriptions

The quality of what Claude builds is directly proportional to the specificity of what you describe. Here’s how to get it right.

1. Always specify match types explicitly. Don’t say “target these keywords” — say “target these keywords as exact match” or “phrase match.” Without explicit instruction, Claude uses the platform default (broad match for Google, which is rarely what you want). Write out the match type for every keyword or group of keywords.

2. State the status in the prompt. Every prompt that creates a campaign should end with “set to paused for review.” This ensures nothing goes live without your explicit approval. It takes two seconds to type and saves you from accidental spend during setup.

3. Include one description, one campaign. Mixing multiple campaigns in one prompt works but creates risk of misattributed settings. If you’re setting up a Google Search campaign and a Display campaign separately, describe them in separate messages. You’ll get cleaner builds and clearer confirmation summaries.

4. Ask for a pre-build summary on campaigns over $100/day. For higher-budget campaigns, the confirmation step is worth the extra thirty seconds. Send the “list everything you’re about to create” prompt before you say “go ahead.” Review the structured summary carefully — budget, match types, and location targeting are where most errors happen.

5. Use the edit-in-conversation workflow before approving. Don’t approve a campaign and then go into Ads Manager to fix details. If you see something wrong in Claude’s confirmation summary, describe the change in the same chat: “change the bid strategy to Target CPA at $45” or “remove Canada from the locations.” Claude updates via API and confirms the change. You stay in one place.

Bonus: Use a campaign brief template. If you regularly create similar campaigns, write a template description you can copy and fill in each time. Something like: “Create a [campaign type] campaign called ‘[name]’, targeting [keywords/audience], locations [X], budget $[Y]/day, bid strategy [Z], set paused.” Fill the brackets, paste it in, and you have a consistent, repeatable setup workflow that takes 20 seconds.


Comparison: Natural Language vs Manual vs Templates

Natural Language (Claude/ChatGPT)Manual (Ads Manager)Template Approach
Time to launchUnder 60 seconds20-40 minutes10-20 minutes
Error riskLow (AI validates before creating)High (easy to miss a setting)Medium (template may be outdated)
Can edit from chatYes — change anything in conversationNo — must return to UINo — must edit template file
Requires knowing the UINoYesPartially
Handles complex structuresYes — multi-ad-group campaignsYesLimited to template design
Works across platformsYes — Google, Meta, LinkedIn, TikTokNo — each platform separatelyNo — platform-specific
Audit trailConversation history + Ads ManagerAds Manager change historyNo built-in trail
Best forSpeed, unfamiliar platforms, agencies managing volumeAdvanced configurations, DKI, custom audiencesRepeatable campaign types

Who Benefits Most from This Approach

Freelancers and consultants managing multiple client accounts benefit from speed. Building 10 campaigns a month manually takes 3–7 hours of click-work. Describing 10 campaigns takes under 30 minutes, leaving more time for strategy and reporting.

In-house teams unfamiliar with a new platform benefit from the translation layer. If you’ve only run Google Ads and need to launch Meta campaigns, you don’t need to learn a new UI — describe the campaign in terms you understand and Claude handles the Meta-specific configuration.

Agencies onboarding new clients benefit from the audit trail. Every campaign Claude builds is documented in the conversation: what was requested, what was built, what was changed, and when it was approved. That’s a cleaner paper trail than most manual workflows.

Advertisers testing new campaign types benefit from lowered friction. Running a Display campaign for the first time is intimidating in Ads Manager — there are too many placement, audience, and creative options to navigate confidently. Describing what you want and letting Claude handle the configuration removes the interface as a barrier to experimentation.


FAQ

Does the campaign go live immediately after Claude creates it?

No. Adspirer defaults every campaign Claude creates to paused status. Nothing spends until you explicitly approve. You review what Claude built — either in the conversation summary or directly in Ads Manager — and then tell Claude to unpause it, or unpause it yourself in the platform UI.

This is by design. The point of the review step is to catch anything that doesn’t match your intent before it hits the live auction. You can read more about the safety defaults in Adspirer’s capabilities documentation.

Can I describe multiple campaigns at once?

You can, but it’s not recommended for high-budget campaigns. Describing two campaigns in one prompt works — Claude will build them sequentially and confirm each one. The risk is that settings specified in one description bleed into the other, especially for shared parameters like locations or budget.

The safer workflow: describe one campaign, review the confirmation, approve or edit, then describe the next. This keeps each build clean and auditable.

Does this work for Performance Max campaigns?

Yes, for the campaign structure and configuration. Describe your objective, geo targets, budget, bidding strategy, and audience signals — Claude builds the PMax campaign shell via API. What it can’t do automatically is populate asset groups with your images, videos, headlines, and descriptions, since those require your actual creative files.

The workflow: create the PMax campaign through Claude, then go into Google Ads Manager to add your asset group creative. Or ask Claude to generate copy suggestions first, review them, then add them manually. See the full PMax guide →

What if I describe something wrong?

Two safety mechanisms catch mistakes. First, the pre-build summary — if you ask Claude to “list everything you’re about to create,” it outputs a structured review before touching the API. You can spot misunderstandings at this stage.

Second, the paused default — even if Claude builds something you didn’t intend, it sits paused and can’t spend until you approve it. If you see the wrong configuration in Ads Manager, you can either tell Claude to fix it in conversation (“change the bid strategy to Target CPA”) or make the change directly in the platform UI. Either way, no budget was wasted.

Is this available in ChatGPT too?

Yes. Adspirer connects both Claude and ChatGPT to your ad accounts using the same MCP backend. The campaign-building workflow is identical — describe the campaign, review the confirmation, approve to launch.

The main practical difference: Claude streams progress updates in real time as it builds, so you see each step complete as it happens. ChatGPT processes the full build and then returns the result. For campaign creation specifically, this means Claude feels more transparent during multi-step builds. Both produce the same output. See the full ChatGPT setup guide →


Stop Clicking Through Forms

The ad platform UIs were built for a world where software was the only intermediary between you and the API. That’s no longer true.

When Claude or ChatGPT can call the Google Ads and Meta Ads APIs directly, the UI becomes optional. You still have access to it — for creative uploads, granular bid adjustments, and configurations that require file uploads. But for the majority of campaign setup, one clear description is faster, lower-error, and easier to audit than twenty-three clicks.

The campaigns are real. The data is live. The spend requires your approval. The only thing missing is the form.

For agencies and in-house teams managing multiple accounts: the time savings compound. Building one campaign from a description rather than form-filling saves roughly 20 minutes. Over 10 campaigns a month across 5 clients, that’s more than 16 hours returned to strategy, creative work, and analysis.

The setup takes 2 minutes. The first campaign build takes 60 seconds. Everything after that is just describing what you want.

Natural language campaign setup isn’t a workaround or an approximation of real ad management — it’s direct API access to the same systems Ads Manager uses, with a conversational interface in front of it. The campaigns it builds are indistinguishable from campaigns built manually, because they’re created through the same underlying APIs.

Info

Adspirer connects Claude and ChatGPT to Google Ads, Meta Ads, LinkedIn Ads, and TikTok Ads. Setup takes 2 minutes. Every campaign is paused by default. Nothing goes live until you approve it. Start free →


Google Ads Meta Ads ChatGPT Claude Campaign Building Tutorial

More articles to read