Google Ads for AI agents.

Adjar is the Google Ads control layer for AI agents. Your account becomes plain-text config agents work with through the adjar CLI — the agent drafts the change, you review the diff, Adjar applies it safely, and the next report starts the next round.

your coding agent
"cut the keyword that's burning spend"
Read reports/2026-06.google.md
Update(campaigns/access-control.toml)
+ [[ad_groups.negative_keywords]]
+ text = "cyberark"
Use cases

Who runs their ads with Adjar.

A growth team of one, an agency book of clients, a company-wide AI push — the same review-and-apply workflow.

Run paid search as a team of one

Own every campaign alongside the rest of growth? Put your coding agent to work: daily reports land next to the config, the agent spots waste and drafts the fix, you review the diff. Tuning that took days ships in minutes.

  • Ship campaign changes as reviewable diffs, not console clicks
  • The agent reads daily reports and proposes fixes itself
  • Every change has an author, a review, and a way back
Read how Bytebase does it
reports/2026-06.google.md
CampaignCTRCostConv.
DB Change Mgmt3.16%$69.922
DB Change Mgmt · JP1.94%$5.760
DB Access Control1.81%$73.841

The JIT access group is catching CyberArk support queries — adding an ad-group negative:

+ [[campaigns.ad_groups.negative_keywords]]
+ text = "cyberark"
+ match_type = "BROAD"
Config is the source of truth

Your whole ad account, as config your AI can drive.

Adjar represents your entire account — campaigns, keywords, creatives, conversions — as plain-text, version-controlled config an AI can read and reason about. Point your coding agent at it; Adjar turns its edits into a reviewable plan and applies them safely.

db-ads-config/
# account root — composes the restplatform = "google"imports = [  "google/assets.toml",  "google/conversions.toml",  "google/campaigns/*.toml",][account]id = "7272244390"sitelinks = [ "sl-pricing", "sl-data-masking" ]callouts = [ "co-5min-install", "co-downloads" ]
your coding agent
~/ads $ agent "pause keywords under 2x ROAS in JIT access, then scale EMEA 20%"

 Read campaigns.toml
 Edited campaigns.toml
   3 keywords status ENABLED "PAUSED"
   1 campaign daily_budget_usd 200 → 240

Run `adjar plan` to review the diff before anything goes live.
One file, every agent. No SDK to learn.
Claude CodeCodexGemini CLICursorAny MCP client

Managing paid search shouldn't mean a thousand clicks.

Start with Google Ads

More platforms coming.