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.

NotFair Team|

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).md

You: 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 morningCron runs. The digest lands in your inbox before standup. You skim, approve any negative keyword adds, move on with your day.
  • WednesdayYou ship a feature. You tell Claude Code, "draft three RSA variants for our new export feature," review them, approve the best one.
  • FridayYou ask Claude, "what changed in my account this week and did anything matter?" Five-line summary, ten seconds.
  • MonthlyYou 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.
  • QuarterlyYou 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.

Connect Google Ads

FAQ

Common questions about Model Context Protocol.

Do I need a Google Ads developer token to use Claude Code with NotFair?

No. NotFair handles the developer token for you. The plugin just authenticates against the hosted MCP endpoint after you complete OAuth at notfair.co/connect.

Can I run Claude Code headlessly in cron without prompts?

Yes for read-only operations. For destructive writes, approval gates default to on; scope your cron prompts to audits and recommendations, then run a separate interactive session to approve and apply changes.

Does this work with Cursor or Codex too?

Yes. Cursor's MCP support and ChatGPT via Codex both connect to the same NotFair endpoint with the same OAuth. Same tools, different chrome.

What's the smallest spend that justifies this?

Honestly, even at $300/month if you value your time. The setup cost is 30 seconds; finding $50 of wasted spend in your first audit pays for the year.

Can I version-control my ad-management scripts?

Yes — that's the point. Your weekly audit prompt, your expansion-keyword script, your reporting templates all live in your dotfiles or in a private repo. Treat ads ops like any other infra.