Prerequisites
- Meta Business Manager account (create one here)
- An active Meta ad account with billing information
- Admin access to the ad account you want to manage
- Adspirer account connected via Claude Code, Cursor, or any supported AI client
Connecting Meta Ads
Once you’ve set up Adspirer with your AI client, connect Meta:- Open your AI assistant (ChatGPT, Claude, Claude Code, etc.)
- Say: “Connect my Meta Ads account”
- Enter your email address when prompted
- Review and accept the Meta Ads disclaimer — you must check the box acknowledging that Adspirer operates independently from Meta’s account enforcement systems before proceeding
- Adspirer opens your browser for OAuth authorization
- Sign in to Meta Business Manager and select the Business Manager(s) you want to grant access to
- Approve permissions (read campaign data, create ads, manage budgets)
Asset handling across ad accounts
When you ask the agent to launch a creative the agent finds in a different ad account in the same Business Manager, Adspirer offers to copy that creative into the target account before creating the campaign. This is opt-in per call — the agent asks before copying so you stay in control of which ad account holds which assets. Per-account asset discovery (image, video, creative) is scoped to the specific ad account you’re targeting so you don’t get false “asset not found” errors when the asset lives one BM over. Cross-account safety. If you ask the agent to add an ad to an ad set — or an ad set to a campaign — that actually belongs to a different one of your accounts, Adspirer catches the mismatch up front, names both accounts, and points to the right tool to list the correct entity, instead of letting Meta return a misleading “missing creative” error. Deselected (inactive) ad accounts are also write-protected: the agent can’t create or change ads in them until you re-activate them from the Manage Accounts modal.What You Can Do (37 Tools)
Performance Analysis
get_meta_campaign_performance— Pull metrics for campaigns, ad sets, or individual adsget_meta_adset_performance— Middle-layer analysis: spend, CTR, CPA, ROAS broken down by ad set within a campaign — see which audience segments perform best without going to individual ad levelanalyze_meta_ad_performance— Deep analysis of ad-level performance with recommendationsget_meta_audience_insights— Audience breakdown by age, gender, and interestsanalyze_meta_audiences— See which audience segments perform bestanalyze_meta_wasted_spend— Identify campaigns with poor ROAS and recommend cutsdetect_meta_creative_fatigue— Identify ads losing effectiveness over timeexplain_meta_anomaly— Diagnose sudden changes in performance (CPA spikes, CTR drops)get_meta_ad_creatives— View creative details for ads in a campaign
Targeting & Research
search_meta_targeting— Find audiences by interests, demographics, behaviorsbrowse_meta_targeting— Explore Meta’s targeting categorieslist_meta_custom_audiences— View existing custom audiences (database lists, lookalikes, website, engagement)
Location & geo targeting
Geo targeting is set as part of campaign and ad-set creation — you describe it in plain language and Adspirer builds the correct Meta targeting:- Cities, regions, ZIP/postal codes, and countries, including city + radius (“everyone within 20 miles of Austin”). Multiple cities, each with its own radius, work in a single ad set.
- Location reach modes — control who in a location you reach: people who live there, were recently there, or are traveling to / interested in it.
- Safer edits — when you change an ad set’s locations with
update_meta_ad_set, the new geo targeting merges onto the existing targeting rather than replacing all of it, so a location-only edit doesn’t wipe your audiences and placements.
Local Meta campaign with city + radius targeting.
European Union (EU/EEA) targeting — DSA disclosure
The EU Digital Services Act (DSA) requires every ad set that reaches an EU/EEA country to declare who the ad is for. When you create or update an ad set that targets the EU/EEA, supply:dsa_beneficiary— the person or organization the ad benefits (required for EU/EEA-targeted ad sets)dsa_payor— the entity paying for the ad (optional; defaults to the beneficiary)
Campaign Creation
select_meta_campaign_type— Choose between Image, Video, or Carousel based on your creativediscover_meta_assets— Check if you have existing creatives in Metavalidate_and_prepare_meta_assets— Verify images/videos meet Meta’s requirements (dimensions, file size, aspect ratio)create_meta_image_campaign— Launch single-image campaigns (supports lifetime budgets, end dates, placement controls)create_meta_video_campaign— Launch video campaigns (supports lifetime budgets, end dates, placement controls)create_meta_carousel_campaign— Launch multi-card carousel campaigns (supports lifetime budgets, end dates, placement controls)create_meta_dco_ad— Create dynamic creative optimization (DCO) ads — supply multiple headlines and body texts and Meta mixes-and-matches them; Adspirer auto-enables dynamic creative on the target ad set for both image and videoduplicate_meta_campaign— Duplicate an existing campaign with optional modifications
Lead generation
list_meta_lead_forms— View lead forms configured in your ad accountget_meta_lead_form_submissions— Pull lead submissions from a specific form
Account & pixel management
list_meta_instagram_accounts— View connected Instagram accountslist_meta_pixels— View Meta Pixels configured in your ad account
Optimization
optimize_meta_budget— Reallocate budget based on ROAS or CPA performanceoptimize_meta_placements— Shift spend to best-performing placements (Feed, Stories, Reels, etc.)
Ad set & ad management
add_meta_ad_set— Add ad sets to existing campaigns (supports lifetime budgets, end dates, placements, multi-advertiser opt-out)add_meta_ad— Add ads to existing ad setsupdate_meta_campaign— Change budgets, bids, or targetingupdate_meta_ad_set— Update ad set budgets, targeting, or scheduleupdate_meta_ad— Update ad creative or statuspause_meta_campaign— Stop campaigns or ad setsresume_meta_campaign— Restart paused campaignslist_meta_campaigns— List all campaigns with status and budgetget_meta_campaign_details— Detailed campaign infolist_meta_ad_sets— List ad sets in a campaignlist_meta_ads— List ads in an ad set
Campaign Creation Workflow
Meta campaigns follow a 6-step workflow. Skip steps and the campaign will fail validation.Example Prompts
Analyze Performance
Pull Meta Ads metrics and flag underperforming campaigns.
Detect Creative Fatigue
Find fatigued creatives with declining click-through rates.
Create an Image Campaign
Meta image campaign with creative validation and audience targeting.
Optimize Placements
Compare CPA across Feed, Stories, Reels and recommend shifts.
Audience Analysis
Audience breakdown by demographics and interest-based ROAS.
Creative Assets: What You Need to Know
Adspirer does NOT generate images or videos. You provide the creative URLs.Supported Asset Sources
- Google Drive (public or shared links)
- Dropbox (public links)
- Amazon S3 (public URLs)
- Any publicly accessible image/video URL
Meta’s Creative Requirements
Thevalidate_and_prepare_meta_assets tool checks these automatically:
- Image ads: 1080x1080px minimum, JPG or PNG, under 30MB, 1:1 or 4:5 aspect ratio
- Video ads: 1080x1080px minimum, MP4 or MOV, under 4GB, 1:1 or 4:5 or 9:16 aspect ratio, 1-240 seconds
- Carousel ads: 2-10 cards, each 1080x1080px, JPG or PNG
- Text limits: Primary text 125 chars (recommended), headline 27 chars, description 30 chars
Budget Guidelines
- Minimum: $5/day per ad set (Meta’s requirement)
- Recommended: $20+/day for meaningful data
- Testing: Start with $30/day split across 2-3 ad sets to find winners
- Scaling: Once you find ROAS above 3.0, increase budget 20-30% every 3 days
Best Use Cases for Meta Ads
- E-commerce: Visual products (fashion, home goods, beauty)
- Demand generation: Reach cold audiences with interest-based targeting
- Retargeting: Re-engage website visitors, cart abandoners (also see Google Display Ads for retargeting across the open web)
- Video storytelling: Brand awareness campaigns with Reels or Stories
- Lead generation: On-platform forms (though LinkedIn often performs better for B2B)
Troubleshooting
”Ad account not connected” error
Re-authenticate your Meta Business Manager:”Asset validation failed” error
Common causes:- Image/video URL is private (not publicly accessible)
- Wrong dimensions (Meta requires minimum 1080x1080px)
- File too large (30MB for images, 4GB for video)
- Unsupported format (use JPG/PNG for images, MP4/MOV for video)
“Campaign creation failed” error
Most common reason: skipping workflow steps. Meta campaigns require all 6 steps in order. If you jump straight tocreate_meta_image_campaign without running validate_and_prepare_meta_assets first, it will fail.
Adspirer now catches the most common failure causes before they reach Meta and explains them in plain language:
- Missing pixel on a conversion objective — a conversion-optimized ad set needs a Meta Pixel (or custom conversion). Adspirer flags this up front instead of letting Meta return the cryptic “promoted object fields missing.” Pass a pixel, or pick a non-conversion objective. Use
list_meta_pixelsto find yours. - Carousel cards — each card needs an image, a headline, and a landing-page URL (a carousel-level URL covers cards that don’t set their own). Adspirer validates every card before submitting and accepts the same
existing_image_hashits asset discovery returns, so you can build carousels straight from creatives already in your account. - Wrong account — if the campaign, ad set, or ad you referenced lives in a different one of your ad accounts, Adspirer names the right account instead of failing deep inside Meta. See Asset handling across ad accounts.
Creative fatigue detection not working
The tool needs at least 14 days of data per ad. If your ads are newer, it can’t detect fatigue yet. Wait until ads have run for 2+ weeks.FAQ
Can I manage Instagram ads separately from Facebook?
Can I manage Instagram ads separately from Facebook?
Does Adspirer generate ad creatives?
Does Adspirer generate ad creatives?
Can I A/B test creatives?
Can I A/B test creatives?
analyze_meta_ad_performance to see which creative wins, then pause the losers and scale the winner.What's the difference between Meta and Google Ads?
What's the difference between Meta and Google Ads?
How much does Adspirer cost for Meta Ads?
How much does Adspirer cost for Meta Ads?

