AI ads infrastructure
AI Google Ads for Solopreneurs: Cron Your PPC
AI Google Ads for solopreneurs: scriptable Claude Code workflows, weekly cleanups in cron, and CLI-driven optimization for indie hackers running their own ads.
If you're a technical solopreneur running $500-$5K/month on Google Ads, your problem is not budget — it's time. Ads aren't your job, but neither is clicking through the Google Ads UI for an hour every week. Claude Code plus the AdsAgent plugin lets you treat your Google Ads account like any other piece of infrastructure: scriptable, automatable, version-controllable, cron-able.
We've found that founders who already live in their terminal hit "this is what I wanted" within the first 10 minutes. Open Claude Code, run a one-liner to install the plugin, ask "audit my account," and you're getting a wasted-spend report before your coffee finishes brewing.
Install in 30 seconds
# Install the AdsAgent plugin into Claude Code
claude plugin install nowork-studio/adsagent-plugin
# First-time setup: connect your Google Ads account
open https://notfair.co/connect
# Verify it works
claude -p "audit my Google Ads account and return the top 5 issues"The plugin wraps the same NotFair MCP server the Claude Desktop connector uses. Same OAuth, same ~40 tools, same approval gates on writes. The difference is that Claude Code is a CLI you can pipe and script.
Weekly cleanup as a cron job
Most solopreneurs don't need real-time optimization. They need consistent weekly hygiene — negative keyword sweeps, budget pacing checks, conversion-tracking sanity. Cron a Claude Code prompt and treat your ads like a CI job.
# ~/scripts/ads-weekly.sh
#!/usr/bin/env bash
set -euo pipefail
claude -p --output-format json "
Run a weekly Google Ads audit:
1. Find search terms with >\$30 spend in last 7 days, zero conversions
2. Add them to the shared negative keyword list (require approval)
3. Pull last week's spend, conversions, and CPA
4. Format as a markdown digest
Return the digest only.
" > ~/ads-weekly-$(date +%Y-%m-%d).md
# Crontab entry — every Monday at 8am
# 0 8 * * 1 ~/scripts/ads-weekly.sh && open ~/ads-weekly-$(date +%Y-%m-%d).mdYou: claude -p "find every keyword whose CPC went up >50% week-over-week and return as JSON"
Claude: [ { "keyword": "workflow automation tool", "cpc_last_week": 3.40, "cpc_this_week": 6.20, "campaign": "Search-Productivity" }, { "keyword": "slack alternative", "cpc_last_week": 4.10, "cpc_this_week": 7.80, "campaign": "Search-Competitor" } ]
You: pipe that into a slack webhook, simple.
Multiple Claude clients, one connection
Founders often run Claude Desktop on the laptop for ad-hoc questions and Claude Code in the terminal for scripted runs. Both connect to the same NotFair endpoint with the same OAuth — no need to maintain two integrations. ChatGPT via Codex hooks in too. When Claude Code wants to apply a destructive write — pause a campaign, bulk-update bids — the approval gate fires and Claude prints what it's about to do; you confirm at the terminal. For headless cron use, scope the prompt to read-only or recommendation output and apply changes in a follow-up interactive session.
A week in the life of a solopreneur using NotFair
- Monday morning — Cron runs. The digest lands in your inbox before standup. You skim, approve any negative keyword adds, move on with your day.
- Wednesday — You ship a feature. You tell Claude Code, "draft three RSA variants for our new export feature," review them, approve the best one.
- Friday — You ask Claude, "what changed in my account this week and did anything matter?" Five-line summary, ten seconds.
- Monthly — You run a deeper audit ("full account audit, prioritize by spend impact") and act on the top 3 issues. The other 47 issues from a typical agency report can wait or get ignored — you're the strategist.
- Quarterly — You ask Claude to draft a quarterly performance report for your own records. Done in a minute.
FAQ
Try MCP with Google Ads
Connect your Google Ads account to NotFair in 30 seconds and start querying campaigns from Claude.