Meta Ads: ad set parity and custom audience reliability
add_meta_ad_set now supports all campaign-level features
When adding ad sets to existing Meta campaigns, you can now use the same parameters that were previously only available at campaign creation:- Lifetime budgets — set
budget_lifetimeon individual ad sets - End dates — set
end_timeon ad sets (required when using lifetime budgets) - Multi-advertiser opt-out — control
multi_advertiserper ad set - Granular placements — set
publisher_platforms,facebook_positions, andinstagram_positionsper ad set
Custom conversion tracking fix
custom_conversion_id is now properly decomposed into its underlying pixel and event configuration before being sent to Meta. Previously, passing a custom conversion ID could cause a Meta API error on campaign or ad set creation. Adspirer now automatically resolves the conversion via the Meta API and applies the correct pixel ID and event type.list_meta_custom_audiences reliability
- Timeout increased from 30 seconds to 90 seconds — accounts with 1,000+ audiences no longer time out
- Audience status now displays as clean labels (“Active”, “Paused”) instead of raw SDK objects
TikTok Ads: full performance analytics
8 new performance analytics tools bring TikTok to parity with Google and Meta for campaign analysis. Total TikTok tools: 4 → 31.New analytics tools
| Tool | Description |
|---|---|
get_tiktok_campaign_performance | Campaign summary with TikTok-specific video and engagement metrics |
get_tiktok_ad_performance | Ad-level analysis with hook rate, video completion, and engagement |
analyze_tiktok_wasted_spend | ROAS-based waste detection with campaign status awareness |
optimize_tiktok_budget | LP-based budget allocation recommendations |
detect_tiktok_creative_fatigue | Hook rate decline as the primary fatigue signal |
explain_tiktok_anomaly | Statistical deviation detection with TikTok-specific metrics |
get_tiktok_audience_insights | Age/gender breakdown with CPA ranking |
analyze_tiktok_geo_performance | Country-level performance analysis |
TikTok now fully available
TikTok Ads is no longer marked “Coming Soon” during onboarding. You can connect your TikTok Ads account directly from the setup flow.TikTok campaign management and creation
19 new tools for full campaign lifecycle management on TikTok — from campaign creation through ad group and ad management, including Spark Ads, Carousel, and APP_PROMOTION support.New campaign management tools (12)
list_tiktok_campaigns— List all campaigns with status, objective, and budgetget_tiktok_campaign_details— Detailed campaign infopause_tiktok_campaign/resume_tiktok_campaign— Control campaign statusupdate_tiktok_campaign— Update name, budget, budget modelist_tiktok_ad_groups/pause_tiktok_ad_group/resume_tiktok_ad_group/update_tiktok_ad_group— Full ad group managementlist_tiktok_ads/pause_tiktok_ad/resume_tiktok_ad— Ad-level management
New campaign creation tools (7)
add_tiktok_ad_group— Add ad groups with full targeting to existing campaignsadd_tiktok_ad— Add ads to existing ad groups (image, video, Spark Ads, Carousel)create_tiktok_carousel_card— Create carousel cards from multiple imagesupload_tiktok_images— Upload images to TikTok Asset Librarysearch_tiktok_targeting— Search interests, keywords, regions, languages, action categories, carriers, and device models
New ad formats
- Spark Ads — Boost existing TikTok organic posts as ads
- Carousel Ads — Multi-image carousel format
- APP_PROMOTION — App install campaign objective with app ID configuration
Campaign Budget Optimization (CBO)
TikTok campaigns now supportbudget_optimize_on for campaign-level budget optimization. TikTok CBO is on by default — set to false to manage budgets per ad group manually.Google Ads fixes
get_campaign_targeting— New tool to view location targeting on existing campaignsget_campaign_structure— Now paginated for large accountsanalyze_search_terms— Newraw_reportmode shows actual search terms users type into Google- Keyword removal now validates IDs before attempting deletion, with per-keyword error reporting
LinkedIn Ads overhaul + Meta Ads gaps closed
LinkedIn campaign hierarchy and targeting
Complete overhaul of LinkedIn campaign tools with campaign group support, rollback logic, and 14 new targeting facets.- Campaign groups —
campaign_group_idandcampaign_group_nameon all create tools. Newadd_linkedin_campaign_to_grouptool for adding campaigns to existing groups. - Carousel creatives — New
add_linkedin_carousel_creativetool - Creative naming —
creative_namefield added to all 4 campaign creation tools - 14 new targeting facets — skills, job functions, interests, degrees, fields of study, employers, groups, age ranges, genders, schools, member behaviors, years of experience, followed companies, and buyer groups. All facets work on both create and update.
- Video discovery — Now finds videos uploaded via LinkedIn Campaign Manager UI, not just API uploads
- Rollback logic — Failed campaigns are automatically archived to prevent duplicates on retry
- Campaign filtering —
list_linkedin_campaignsnow filters by campaign group
Meta Ads: 6 critical gaps
- Lifetime budgets — Set
budget_lifetimeat campaign creation (mutually exclusive with daily budget) - End dates —
end_timesupport on campaigns and ad sets - Custom audiences — New
list_meta_custom_audiencestool for viewing database lists, lookalikes, website, and engagement audiences - Granular placements — Control
publisher_platforms,facebook_positions, andinstagram_positionsat campaign creation - Multi-advertiser opt-out — New
multi_advertiserfield to opt out of Meta’s multi-advertiser ads - Custom conversion tracking — Fixed
custom_conversion_idbeing silently dropped on image and carousel campaigns
Monitoring
- New
delete_monitortool — Previously, deleting monitors required knowing aboutmanage_scheduled_task, which AI clients couldn’t discover
Gemini CLI Extension
Adspirer is now available on the Gemini CLI Extensions Gallery. Google’s terminal-based AI tool can now manage your ad campaigns across all 4 platforms.Install
What’s Included
- MCP Server — 100+ tools across Google Ads, Meta Ads, LinkedIn Ads, and TikTok Ads
- 5 Slash Commands —
/adspirer:setup,/adspirer:performance-review,/adspirer:write-ad-copy,/adspirer:wasted-spend,/adspirer:refresh - OAuth authentication — browser opens automatically on first use
Official Claude Plugin
Adspirer is now an official plugin in the Claude plugin marketplace (claude-plugins-official). Available on both Claude Code and Claude Cowork.What Changed
- No more custom marketplace setup. Previously, you had to manually add the
amekala/ads-mcpmarketplace before installing. Now just search for “adspirer” in the plugin browser. - Claude Code: Type
/plugin, search “adspirer”, and installadspirer-ads-agentdirectly. Or run/plugin install adspirer-ads-agent. - Claude Cowork: Go to Customize → Browse Plugins and search for “adspirer” — install with one click.
- Plugin page: claude.com/plugins/adspirer-ads-agent
What’s Included
The official plugin bundles everything in a single install:- MCP Server — 100+ tools across Google Ads, Meta Ads, LinkedIn Ads, and TikTok Ads
- 5 Slash Commands —
/setup,/performance-review,/write-ad-copy,/wasted-spend,/refresh-brand-context - 2 Skills — Ad campaign management and best practices
- 1 Agent — Performance marketing agent with safety rules
Lead Gen Campaign Support
Full lead generation support across Google Ads and Meta Ads — performance analysis, wasted spend, and audience tools now handle lead gen campaigns correctly.Google Ads Lead Gen
- Performance analysis, wasted spend, and audience tools now work for campaigns optimized for leads. Previously, tools could crash or show incorrect metrics for lead gen campaigns.
- Conversion metrics now use primary conversions only (
metrics.conversions), matching what you see in the Google Ads UI. Previously, Adspirer reported all conversions including secondary actions, which inflated numbers. - PMax search themes now correctly apply to the specified asset group, not the first one found.
Meta Ads Lead Gen
- All performance tools —
analyze_meta_campaign_performance,analyze_meta_ad_performance,get_meta_wasted_spend, and audience analysis — now support lead gen campaigns (OUTCOME_LEADS optimization). - CPA calculation now uses the ad set’s optimization event instead of dividing by total conversions. If you’re optimizing for leads, CPA reflects cost-per-lead, not cost-per-all-actions.
- Audience CPA sort order now shows lowest CPA first for lead gen campaigns.
Audience Search Fix
search_audiencesnow returns results for multi-word queries (e.g., “digital marketing” or “home improvement”). Previously, multi-word searches returned zero results, causing AI clients to fabricate audience IDs.- DemandGen and YouTube tools now validate audience segment IDs against the API instead of accepting AI-generated IDs that don’t exist.
OpenClaw Plugin Fix
Fixed empty-argument bug affecting all 143 tools. The OpenClaw plugin now ships complete input schemas, so tools receive the parameters you provide instead of empty objects.Faster Tool Responses
- Google Ads account list cached in Redis (3-minute TTL) — subsequent tool calls skip the account discovery API call.
- All Google Ads data cache TTLs increased to 10 minutes — repeat queries (e.g., checking campaign performance twice) return instantly from cache.
Google Ads Rate Limit Fix & MCC Reliability
Rate Limit Resolution (P0)
Fixed a critical issue where Google Ads API rate limits (HTTP 429) could block all users — not just the affected account. The system now caches account list responses and includes an emergency recovery endpoint. Users who were seeing “Resource has been exhausted” errors should no longer be affected by other accounts’ API usage.MCC Account Fixes
- Child accounts under MCC (My Client Center) manager accounts now correctly resolve their
login_customer_idduring onboarding and tool calls. Previously, some MCC child accounts would fail with “The caller does not have permission” errors. - Direct (non-MCC) accounts are no longer incorrectly mapped to an MCC manager, which caused “customer not found” errors for users with standalone ad accounts.
login_customer_idis now stored in the database, eliminating aListAccessibleCustomersAPI call on every tool call — faster and more reliable.
Meta Ads CPA Fix
CPA for Meta campaigns now uses the ad set’s optimization event (e.g., cost per lead, cost per purchase) instead of dividing spend by total conversions. This was especially inaccurate for lead gen campaigns where secondary events inflated the denominator.Error Clarity, LinkedIn & Meta Fixes
Google Ads Error Messages
- Centralized error parsing across all 18 Google Ads write operations. Errors now show the specific field and issue (e.g., “headline exceeds 30 characters”) instead of raw API codes.
add_keywordsnow detects policy violations (trademark, restricted content) and provides specific guidance.update_bid_strategyreturns actionable error details when a strategy change fails, instead of just the strategy name.
LinkedIn Improvements
search_linkedin_targetingnow uses LinkedIn’s typeahead API for better, faster targeting search results. Facet names (job title, company, industry) are correctly mapped to LinkedIn’s API format.- Fixed parameter mismatches, null handling, and error parsing across LinkedIn Ads tools.
Meta Ads Fixes
add_meta_adandadd_meta_ad_setnow honor the name you provide. Previously, the user-provided name was silently ignored.add_keywordsrouting fix — calls now use the correct code path with policy violation detection.
OAuth Fix
Fixed a 500 error on the OAuth authorization page. Users connecting via ChatGPT or Claude would see a server error instead of the consent screen.LinkedIn Creatives & Campaign Enhancements
LinkedIn Creatives
- Fixed
list_linkedin_creativesreturning empty results for large accounts (22,000+ creatives). Pagination now handles all account sizes correctly. - Fixed duplicate creatives appearing in results due to pagination overlap.
- Rewrote creative filtering to use LinkedIn’s server-side FINDER API, eliminating timeouts on campaign-level creative lookups.
- Fixed LinkedIn metrics silently dropping to zero, MCP timeout on large result sets, and pagination breaking on no-match scenarios.
Google Ads Campaign Extensions
- Added
MAXIMIZE_CONVERSION_VALUEas a supported bidding strategy for all campaign types. - Extensions (sitelinks, callouts, snippets) are now added in a single batch operation instead of individually, reducing API calls and errors.
- Automatic retry on
CONCURRENT_MODIFICATIONerrors when multiple operations target the same campaign.
PMax, Demand Gen & YouTube
Your business logo is now automatically injected into PMax, Demand Gen, and YouTube campaigns during creation — no need to provide it manually if one exists at the account level.Monitoring
Fixedcreate_monitor using a 30-minute default check interval, which was below the API minimum of 1,440 minutes (24 hours). Monitors now default to a valid interval.Perplexity Computer Support
New AI Client: Perplexity
Adspirer now supports Perplexity as an AI client via MCP connector. Connect Adspirer to Perplexity Computer — the autonomous AI agent — and combine real-time web research with 100+ advertising tools.- OAuth setup — Add Adspirer as a custom connector in Perplexity Computer → Connectors. OAuth auto-discovery means zero configuration beyond the URL.
- Search + ads — Perplexity’s native web search lets you research competitors and market trends, then immediately act on that research using Adspirer tools. No other client combines real-time search with ad management this seamlessly.
- Perplexity Computer — Max subscribers get autonomous multi-step workflows: research → create → optimize, all from a single prompt.
- Requires Perplexity Pro (200/mo), or Enterprise.
Audience Targeting Fixes for Demand Gen, YouTube & PMax
Custom Interest Audiences Now Work in Demand Gen & YouTube
Custom interest audiences (custom segments) were not being applied when creating Demand Gen or YouTube campaigns — even though the tool response showed them as set up. Remarketing audiences worked correctly, but custom interest targeting was silently dropped. This is now fixed. All audience segment types (in-market, affinity, custom audiences, and remarketing lists) work consistently across PMax, Demand Gen, and YouTube campaigns.PMax: No More Unwanted Search Themes on Remarketing Campaigns
When creating a PMax campaign with only remarketing audiences and no search themes, the system was auto-generating search themes from your ad headlines. If you only ask for audience targeting, search themes will no longer be added automatically.Stable MCP Sessions
No More Intermittent “Invalid Token” Errors
Fixed an issue where some tool calls would randomly fail with “Invalid or expired token” — especially after being idle for a while. Sessions are now resilient to Clerk session expiry. If a session token becomes stale, the system automatically recovers without requiring you to reconnect.Billing & Onboarding UX
Billing Page
- Fixed pricing display and plan comparison layout
- Fixed broken navigation between billing sections
- Improved upgrade/downgrade CTA logic
Onboarding
- Fixed layout and scroll issues on onboarding screens
- Plan tier messaging now accurately reflects current pricing
- Save badge visibility fixed
Automation Tools: Multi-Platform Fix
Scheduled briefs, monitoring alerts, and on-demand reports now work correctly for all platforms — Meta Ads, LinkedIn Ads, and TikTok Ads. Previously, automation tools only worked reliably for Google Ads. Monitors set to track “all platforms” were silently resolving to zero accounts.Persistent MCP Sessions & Faster Auth
No More Frequent Reconnects
MCP access tokens now last 1 week instead of 1 hour. Claude, ChatGPT, Codex, and Cursor sessions stay authenticated much longer — no more “Error occurred during tool execution” after stepping away for an hour.Diagnostic tools (get_usage_status, get_connections_status) remain available even when your quota is exhausted, so you can always check your account status.Faster Tool Responses
Added an in-process auth cache that eliminates repeated token verification overhead. Subsequent tool calls in the same session resolve authentication instantly instead of re-verifying on every request.Manus AI Client Support
New setup guide for connecting Adspirer to Manus — the autonomous AI agent. Manus connects via API key authentication with Streamable HTTP transport. Import Adspirer skills directly from GitHub for campaign management workflows.Meta Ads Fix
Meta tools now always pass the correct connected ad account ID. Previously, some Meta tools could fail with “No ad account found” even when an account was connected.LinkedIn Ads Fix
Fixed currency formatting for LinkedIn campaign metrics. Campaigns with non-USD currencies now display correctly instead of showing raw API values.Faster Google Ads Account Loading
Google Ads account connections now load with lazy pagination and parallel processing. The connections page loads instantly instead of waiting for all accounts to resolve.Quota Experience & Error Clarity
Completely overhauled how Adspirer communicates quota limits and errors across all AI clients.Usage Warnings Before You Hit the Wall
Tool responses now include a visible usage footer when you’re approaching your quota limit:- 75%+ usage —
📊 12/15 free calls used (80%) — 3 remaining. Upgrade: ... - 90%+ usage —
🚨 2 calls remaining! Upgrade now to avoid interruption: ...
Diagnostic Tools Always Available
get_usage_status, get_connections_status, and echo_test now work even when your quota is exhausted. You can always check your usage and connection status regardless of your remaining calls. These tools don’t count against your quota.Clear Error Messages
- Quota exceeded — shows a clean upgrade message with pricing and payment link (previously showed a generic “Error occurred during tool execution” on Claude)
- Session expired — now tells you exactly what happened and how to reconnect (previously showed the same generic error)
- Server errors — include the actual error details and retry guidance
Demand Gen: Multi-Region Ad Groups
Add ad groups to existing Demand Gen campaigns withadd_demandgen_ad_group:- Each ad group can target different locations (e.g., US cities vs India cities vs UAE cities)
- Each ad group can have its own audience signals (in-market + affinity segments)
- Reuse existing account images and YouTube videos across ad groups
- Different creative variations per ad group
Meta Ads: City Targeting & Placement Creatives
- City-level targeting — target specific cities in Meta campaigns with
search_meta_targeting - Placement-specific creatives — upload different images for Feed, Stories, and Reels placements
- Emoji support — use emoji in Meta ad headlines and descriptions
AI Client Input Resilience
Adspirer now handles common input mistakes from AI clients automatically:- JSON strings sent as text instead of objects are auto-parsed
- Integer IDs sent instead of strings are auto-coerced
- Extra whitespace and unknown fields are silently handled
- Works across all 100+ tools — no more validation errors from formatting issues
PMax: Multiple Asset Groups & Bidding Control
- Multiple asset groups per campaign — create campaigns with distinct asset groups for different product lines or audiences
- Bidding strategy control — your explicit bidding choice (Maximize Conversions, Target ROAS, etc.) is now always honored
- Auto-derived search themes — search themes are automatically suggested from your headlines and descriptions
- Post-creation nudge — after creating a PMax campaign, you’re prompted to add search themes and audience signals
Demand Gen Campaign Creation
Full support for Google Demand Gen campaigns — reach users across YouTube, Discover, Gmail, Display, and Maps from a single campaign.Create Demand Gen campaigns withcreate_demandgen_campaign:- Multi-asset format — landscape, square, and portrait images with headlines and descriptions
- Video responsive format — YouTube videos with text overlays
- Automatic sitelink, callout, and structured snippet extensions
- Location and language targeting at the campaign level
- All bidding strategies supported: Maximize Clicks, Maximize Conversions, Target CPA, Target ROAS
Audience Targeting
- In-market and affinity audience segments via
search_audiences - Reuse existing audiences from Google Ads UI
- Per-ad-group audience customization
Meta Ads Fixes
- Fixed lead form handling for OUTCOME_LEADS and OUTCOME_ENGAGEMENT campaigns
- Fixed Meta page and Instagram account lookup for business accounts
- Wasted spend analysis now respects learning phase and minimum spend thresholds
PMax Search Themes & Audience Signals
Added 7 new tools for managing search themes and audience signals on Google Ads Performance Max campaigns. These PMax-only features give you direct control over how Google’s automation targets search queries and audience segments.New Tools
| Tool | Type | Description |
|---|---|---|
add_pmax_search_themes | Write | Add search themes to guide PMax targeting (max 50 per asset group) |
get_pmax_search_themes | Read | View current search themes on a PMax campaign |
remove_pmax_search_themes | Write | Remove specific search themes |
add_pmax_audience_signal | Write | Add audience signal combining in-market, affinity, custom audiences, and user lists |
get_pmax_audience_signals | Read | View current audience signals |
remove_pmax_audience_signal | Write | Remove an audience signal |
search_audiences | Read | Search for audiences by keyword across all Google Ads audience types |
Search Themes
Short phrases (max 50 per asset group) that tell Google which search queries your PMax campaign should target. They supplement Google’s automated targeting with explicit intent signals. Supports add and remove operations — to update, remove and re-add.Audience Signals
Tell Google which audience segments are most likely to convert. Combine multiple segment types in a single signal:- In-market audiences — users actively researching products in a category
- Affinity audiences — users with sustained interests and habits
- Custom audiences — account-level custom audience segments
- User lists — first-party data (website visitors, customer lists, CRM uploads)
Agent Skills Updated
The Ad Campaign Management skill and Performance Marketing Agent now include search themes and audience signals in the PMax campaign creation workflow (steps 9-10). The agent will automatically recommend search themes based on keyword research and suggest relevant audience segments.Bug Fixes
- Fixed GAQL query syntax for asset group signals (
campaign.idinstead ofasset_group.campaign.id) - Fixed audience search returning zero results (replaced case-sensitive GAQL LIKE with client-side filtering +
taxonomy_typeenum) - Added
user_list_idssupport for remarketing lists in audience signals - Increased max search themes from 25 to 50 (Google’s actual limit)
API Key Authentication (Personal Access Tokens)
Adspirer now supports Personal Access Tokens for headless and remote server authentication. Generate API keys from the dashboard and use them on remote servers, Docker containers, and CI/CD pipelines where browser-based OAuth isn’t available.What’s New
- API Key Management UI — Generate, name, and revoke API keys from adspirer.ai/keys
- OpenClaw
--tokenflag —openclaw adspirer login --token sk_live_...for headless authentication ADSPIRER_API_KEYenv var — Set the environment variable for zero-config server authentication- Tier-based key limits — Free: 2 keys, Plus: 5, Pro: 10, Max: 20
- Key expiration — Optional expiration (30 days, 90 days, 1 year, or never)
- Admin controls — Admin dashboard for API key analytics, per-user key management, and emergency revocation
- Auth method tracking — Tool call logs now track whether each call used OAuth or an API key
Security
- Keys use
sk_live_prefix for easy identification - SHA-256 hashed storage — raw tokens never stored server-side
- Instant revocation with audit trail
- Keys cannot be used to create other keys (prevents privilege escalation)
Documentation
- OpenClaw Remote Server Setup — Step-by-step guide
- Security — API Key Authentication — Security model and comparison
- Updated How MCP Works — Authentication section
- Updated FAQ — Remote server and API key questions
Claude Cowork Setup Guide
New documentation page with step-by-step visual guide for connecting Adspirer to Claude Cowork. Includes 9 annotated screenshots covering the full flow: plugin install from marketplace, connector setup, OAuth authentication, and brand folder workspace.Claude Connector Simplified
Claude Chat setup no longer requires manual OAuth configuration. Just paste the URL — Claude auto-discovers the server name and authentication settings.ChatGPT Setup Updated
ChatGPT setup updated to match current UI: new field names, OAuth advanced settings callout, “I understand and want to continue” checkbox, and the new Reference memories and chats preferences screen.LinkedIn Exhaustive Campaign Features
Extended LinkedIn campaign tools with exhaustive targeting and management capabilities. Fixed Googlelist_campaign_extensions returning incorrect data.Database Performance
Phase 1 database performance improvements for faster query execution across campaign metrics and user analytics.Documentation: Agent Pages & Support
Added 8 new documentation pages:- Claude Code Agent, Cursor Agent, Codex Agent, OpenClaw Agent — per-client agent architecture docs
- How It Works — 5-layer architecture page
- FAQ, Glossary, Support — knowledge base expansion
- Added Support tab to top navigation
Pricing V2
Updated pricing across all tiers:| Plan | Price | Tool Calls |
|---|---|---|
| Free | $0/mo | 15/month |
| Plus | $49/mo | 150/month |
| Pro | $99/mo | 600/month |
| Max | $199/mo | 3,000/month |
- Annual pricing option now available with savings
- Tool call counter resets to 0 on tier upgrade
- Fixed subscription cancellation on upgrade to prevent double-billing
- Stripe webhook handlers now sync quota correctly
MCC/Manager Account Warnings
Connections page now warns users attempting to connect MCC (Google) or Business Manager (Meta) accounts instead of individual ad accounts.OpenClaw Plugin Updates
openclaw adspirer uninstallCLI command added- OAuth retry logic improved
- Skill metadata updated with security section and privacy policy
Skill Reference & Performance Marketing Agent Docs
Added 2 new pages to the Agent Skills section:- Skill Reference — Complete reference for all 5 Adspirer skills with invocation commands per IDE (Claude Code, Cursor, Codex), step-by-step execution details, and example prompts
- Performance Marketing Agent — How the agent orchestrates skills with brand knowledge, strategy persistence, and memory across sessions
Strategy-Aware Execution
Skills now readSTRATEGY.md before executing — a persistent file where strategic decisions (AVOID, PREFER, CONSTRAINT, REQUIRE directives) survive across sessions:- Campaign creation loads strategy directives at Step 0 and flags conflicts with research results
- Keyword research cross-references results against AVOID/PREFER directives
- Performance review flags “Strategy Drift” when campaigns violate active directives
- Wasted spend prioritizes campaigns violating strategy as waste sources
Agent Documentation Highlights
- Mermaid architecture diagram showing Agent → Context + Strategy + Memory → Skills → Tools → Platforms
- IDE comparison table for agent features across Claude Code, Cursor, and Codex
- Brand Workspace setup flow and context file structure
- Cursor Rules and Codex Safety Rules explained with before/after examples
Asset Discovery & PMax Validation
- Fixed asset discovery across platforms
- YouTube logo upload support for PMax campaigns
- Mandatory extensions enforcement for Google Ads
- PMax logo validation improvements
CLI OAuth Fix
Resolved OAuth failures for CLI clients (Claude Code, Codex). Loopback redirect now correctly routes web vs CLI authentication flows.Cross-Domain Attribution
Added referrer-based UTM fallback for cross-domain tracking between adspirer.com and adspirer.ai.Help & Contact Page
Added in-app Help page with documentation link and contact options.YouTube Ads Campaign Support
Added YouTube Ads campaign creation to the Google Ads toolset. Create video ad campaigns targeting YouTube viewers with budget controls and audience targeting.Automation Tools
Launched 8 automation tools:- Scheduled briefs — automated performance summaries on a recurring schedule
- Performance monitors — alerts when campaigns cross KPI thresholds
- Cross-platform reports — unified reporting across Google, Meta, and LinkedIn
UI Redesign
Mobile dropdown and desktop tab redesign for the main app. Removed trial language from onboarding flow.Documentation Updates
- Enhanced Mintlify components: Frame, Badge, Check, Info, Tooltip across all pages
- Tabbed install methods for Claude Code setup
- Resend-style navbar redesign
- GA4 tracking added to docs site
- 6 new Knowledge Base articles, MCP explainer page, Mermaid workflow diagrams
- UTM tracking on all CTA links
Documentation Site Launch
Launched comprehensive documentation at adspirer.com/docs with 24 pages covering all AI clients, ad platforms, agent skills, and in-depth guides.- AI client guides for ChatGPT, Claude, Claude Code, Cursor, Codex, OpenClaw, and Windsurf
- Ad platform guides for Google Ads (39 tools), Meta Ads (20 tools), LinkedIn Ads (28 tools), and TikTok Ads (4 tools)
- Agent skills documentation with workflows, tool catalog, and safety rules
- 7 in-depth guides covering keyword research, automation, and strategy
- Auto-generated
llms.txt,llms-full.txt, andskill.mdfor AI agent discovery - Contextual sharing to ChatGPT, Claude, Cursor, and VS Code
ChatGPT MCP Connector
Added native MCP connector support for ChatGPT Plus and Pro users. Connect Adspirer directly in ChatGPT Settings with OAuth 2.1 authentication.Claude MCP Connector
Added native MCP connector for Claude Pro, Max, Team, and Enterprise. Includes progress streaming for real-time updates during campaign creation.Codex Agent Support
Added autonomous agent setup for OpenAI Codex with YAML configuration and skill files.OpenClaw Plugin
Released zero-configuration OpenClaw plugin with bundled 14.4KB skill file. Install withopenclaw plugins install openclaw-adspirer.ChatGPT MCP Connector Fix
Fixed dynamic client registration to correctly detect Claude vs ChatGPT during OAuth. Claude clients now receive the correct redirect URIs instead of ChatGPT credentials.OpenAI Apps SDK Integration
Added domain verification, OAuth protected resource endpoints, MCP annotations for tool hints, and OpenAI Platform redirect URI for app submission.LinkedIn Campaign Fixes
Fixed LinkedIn campaign creation and update workflows. Resolved API version errors.Conversion Tracking
Set up end-to-end conversion tracking infrastructure for measuring signup-to-paid funnel. Multiple fixes to Google Ads metrics accuracy.Onboarding Revamp
Redesigned onboarding flow with mobile-responsive screens, auto-completion logic, and MCP OAuth gating to prevent onboarding bypass.Enterprise Readiness
Account lifecycle management, metrics pause for inactive accounts, and sign-in/sign-up page revamp.Meta Ads Traffic Management
Added Meta video and carousel campaign creation, ad management workflows, and traffic management tools.GTM Cross-Domain Tracking
Added Google Tag Manager (GTM-PQGBFK5Q) to frontend. GA4 sessions now persist across domains via the_gl parameter.LinkedIn Ads Full Integration
Complete LinkedIn Ads integration across 8 phases:- LinkedIn account setup and OAuth
- Single image sponsored content campaigns
- Campaign performance analytics
- Unified tools for cross-platform management
Meta Video & Carousel Campaigns
Added video campaign creation and carousel ad support for Meta Ads.Local Currency Support
Fixed currency handling across all MCP tools and backend APIs. Campaigns now display metrics in the user’s local currency.Smart Metric Collection
Automated background metric collection for historical performance tracking.Asset Reuse & PMax Improvements
- Smart asset discovery and reuse for Performance Max campaigns
- Domain filtering for sitelinks
- Location targeting fix for MCP/ADK PMax campaigns
Account Tier System
Account tier infrastructure with 120-day metric backfill for new users. Accurate daily metrics viasegments.date in queries.ChatGPT Apps SDK Widgets
In-app quota widget and account management tools for ChatGPT users. OAuth improvements for API routes.Custom GPT Support
Added ChatGPT Actions support with OAuth compatibility for Custom GPT configurations.MCP Protocol Improvements
- Progress streaming (MCP 2025-03-26) for real-time updates during campaign creation
- False success message elimination
- OAuth token rotation on reconnect
- JWT expiry fix and performance routing improvements
TikTok Ads Integration
Complete TikTok Ads platform integration:- OAuth setup and multi-platform architecture
- In-feed video campaign creation
- Image upload and asset validation
- Session handling and location targeting
MCP Server Launch
Initial MCP server deployment atmcp.adspirer.com:- OAuth 2.1 with PKCE authentication
- Complete PMax campaign creation via ChatGPT
- Modular architecture for multi-platform support
Creative Canvas
Multi-image upload UX improvements and character limit enforcement for PMax campaigns.Adspirer Launch
Initial release with 100+ tools across Google Ads and Meta Ads.Google Ads (39 tools)
- Keyword research with real CPC data from Google Keyword Planner
- Search and Performance Max campaign creation
- Wasted spend analysis, budget optimization, and ad extensions
- Asset discovery, validation, and ad copy generation
Meta Ads (20 tools)
- Image, video, and carousel campaign creation
- Audience targeting and creative fatigue detection
- Placement optimization and performance analysis
Core Features
- OAuth 2.1 authentication with PKCE
- Multi-platform account management
- Agent skills system with SKILL.md instruction files

