AdAgent AI
Independent Google Ads management · Jaipur, India

Google Ads, run by a person, executed by software.

AdAgent AI is a private tool I built and operate to manage Google Search campaigns for advertising clients I work with directly. It reads account performance, drafts changes, and queues every budget-affecting action for my review — nothing reaches a live account without a person approving it first.

Safeguards · current configuration
shadow_mode
All writes are simulated and logged only. Nothing is sent to Google Ads until I explicitly disable shadow mode for a given change.
default: on
human_approval_queue
Campaign creation and budget changes sit in a queue. I approve or reject each one before it executes.
required
budget_caps
Daily budgets are constrained to a configured min–max range. Any proposal outside that range is rejected automatically.
enforced
kill_switch
All automated activity can be halted instantly. Every action — approved, rejected, or executed — is written to an audit log.
armed

What this is

I'm an independent developer providing Google Ads management as a service to advertising clients, under their authorization, through my Google Ads manager account. My current client is Synergy Designs, an architecture and interior design firm in Jaipur, India. As my practice grows, I expect to manage additional advertiser clients under the same manager account.

I don't resell Google Ads API data, and I don't advertise my own products through this tool. Clients don't log in to it — there's no public or self-service access. It's a private operator dashboard, used solely by me to review drafts, approve or reject changes, and monitor account performance.

How it works

Observe

A scheduled process reads account metrics — campaigns, ad groups, keywords, performance — once per hour.

Reason

It compares current performance against goals and drafts specific, explainable optimizations.

Act

Proposed changes are queued for my approval. Nothing executes without a person signing off.

Every write to the Google Ads API is routed through a single control point. If any step of a multi-step change fails partway through, everything already created in that batch is rolled back — an account is never left in a half-built state.

Google Ads API services used

All calls originate from a Python (FastAPI) backend, with PostgreSQL for state, audit logs, and the approval queue.

ServicePurpose
GoogleAdsService (SearchStream)Read campaign, ad group, keyword, and account performance metricsread
KeywordPlanIdeaService (GenerateKeywordIdeas)Keyword volume, competition, and CPC research for campaign draftingread
GeoTargetConstantServiceResolve location names to geo target constantsread
CampaignBudgetService / CampaignServiceCreate budgets; create or pause Search campaignswrite
AdGroupService / AdGroupCriterionServiceCreate ad groups and keywords; adjust bidswrite
CampaignCriterionServiceAdd campaign-level negative keywordswrite
AdGroupAdServiceCreate responsive search ads; pause underperforming adswrite
AssetService / CampaignAssetServiceCreate and link sitelink and callout assetswrite