vibedonaldsvibedonalds.com
Maker Playbook

Claude Code for Marketing: Run Ads and SEO for Your Vibe-Coded App (2026)

Claude Code can run a real marketing loop for the app it built: connected to the Google Ads API it creates campaigns, writes ads, and audits search terms; pointed at your own repo it ships one landing page per search intent and fixes whatever Lighthouse flags. What it can't do is know search volumes or spend your budget wisely — that part stays human.

This playbook is written for one specific reader: you vibe-coded a product, it works, and nobody knows it exists. It distills practitioner walkthroughs of Claude Code running Google Ads and local SEO (with the course-selling stripped out) plus Google's and Anthropic's own documentation — every hard number below was re-checked against the official pages on 2026-07-15.

By Andrew DyuzhovUpdated July 2026

What can Claude Code actually do for marketing?

A marketing SaaS sees one layer of your funnel. An agent working inside your repository touches three at once: the ad platform's API, the codebase that serves your pages, and the analysis loop between them. That's the whole argument for using Claude Code as your first marketing hire — not that it knows marketing, but that it can operate every surface marketing happens on.

TaskWhat Claude Code doesWhat stays yours
Campaign buildCreates campaigns and ad groups through the Google Ads APIBudget, offer, targeting calls
Ad copyDrafts responsive search ads — up to 15 headlines and 4 descriptions per ad (Google's limit)Approving every claim in them
Landing pagesWrites and deploys one page per search intent from your own repoBrand, pricing, the product itself
Negative keywordsReads search-term reports, researches ambiguous queries, proposes exclusionsFinal approval before changes go live
SEO pagesTurns a keyword CSV into static, interlinked pagesWhich keywords — it can't see search volumes
Technical SEOFixes what a pasted Lighthouse report flagsVery little — this one it mostly just does
ReportingBuilds dashboards from CSV exports of spend and resultsReading them and deciding
The honest division of labor. The agent operates; the judgment calls stay human.
One agent, three layers no marketing tool spans Platform APIs Google Ads API: campaigns, ads, negative keywords, search-term reports Your codebase One landing page per intent, SEO pages, tags — written, committed and deployed The analysis loop Search-term audits, Lighthouse fixes, dashboards from CSV exports Claude Code the same agent that built the app A marketing SaaS sees one layer. An agent in your repo touches all three.
The case for a coding agent as a marketing operator: it reaches all three layers.

The wiring: connect Claude Code to your Google Ads account

The connection is a plain OAuth integration — no middleware, no paid connector, no MCP server required. The Google Ads API itself is free; what gates you is your developer token's access level (developers.google.com, checked 2026-07-15): a fresh token starts at Test Account Access — 15,000 operations a day against test accounts only. Explorer level runs 2,880 operations a day against production accounts, and Basic Access raises that to 15,000 a day after an application Google says is typically reviewed within 5 business days.

Two honesty notes before the steps. The console part is thirty to sixty minutes of real clicking, not the five minutes tutorials promise. And secrets live in .env with the agent explicitly told never to commit it — an ads-account token in a public repo is a very expensive mistake.

  1. 01Create a Google Ads Manager account and copy the developer token from its API Center.
  2. 02In Google Cloud Console: new project, enable the Google Ads API, set up the OAuth consent screen, create a desktop-app OAuth client, and download credentials.json into your project folder.
  3. 03Put the developer token in .env, drop credentials.json next to it, and tell Claude Code to read both and complete the Google Ads authentication flow. It scripts the OAuth dance and stores the refresh token.
  4. 04From here on, campaign creation, ad generation, and search-term reports are prompts.

Loop 1 — paid: one intent, one ad, one page

The strategy worth automating is message match: the exact phrase someone searched shows up as the ad's first headline and again as the landing page H1. Google lets you pin a headline to position 1 for exactly this — its own docs note pinning can lower your Ad Strength grade, and that's a trade worth taking, because relevance to the searcher beats Google's rubric. Done by hand, one-page-per-search-intent is unaffordable. An agent that writes both the ads and the pages makes it a batch job: feed it a keyword list, get an ad group and a matching page per intent.

Message match: the searcher never changes language what they type ai invoice generator the ad they see · headline pinned #1 AI Invoice Generator Sponsored · yourapp.com the page H1 AI Invoice Generator One intent → one ad group → one page. Same words at every step. Manually this caps at a handful of pages. An agent that writes both the ads and the pages makes one-page-per-intent a batch job.
Message match: the searcher's own words, three times in a row.

The settings and hygiene worth dictating

Location targeting defaults to "Presence or interest", which also reaches people merely interested in your target area; switch to "Presence" if you sell somewhere specific (both option names verified against Google Ads help, 2026-07-15). Keep a fresh account on plain Search campaigns first — attribution is legible, and you can read exactly which query triggered which click before you let Google's more automated formats spend for you.

Negative keywords are where the agent earns its keep weekly. Google supports account-level negative keywords (up to 1,000) plus shared lists (up to 5,000 keywords each, 20 lists per account). The agent move: have Claude pull the search-term report through the API and, for every ambiguous query, actually search it and read the results before classifying — a query that looks relevant can turn out to be job hunters or DIY tutorials. It proposes the exclusions with reasons; you approve; it pushes.

Close the tracking loop before scaling spend: install the Google tag and verify it fires. And if you sell offline or by invoice, note a fresh change most tutorials miss — since June 15, 2026, offline conversion imports are blocked in the Google Ads API and live in Google's Data Manager API instead (support.google.com, checked 2026-07-15). Point Claude at the current docs, not last year's video.

One more mechanical detail that bites: an ad whose final URL 404s gets disapproved. Deploy the landing pages first, then create ads — or create ads with the homepage as a placeholder and have the agent swap in the real URLs after deploy.

prompts/ads-loop.md
1. "Read setup.md and credentials.json, complete the Google Ads
   authentication flow, and keep all secrets in .env — never commit it."

2. "Here's keywords.csv (exported from Keyword Planner). For each
   intent: create a Search campaign with Presence-only targeting,
   one ad group, one responsive search ad with the root phrase
   pinned to headline 1, and a landing page in /landing/<slug>
   whose H1 is that exact phrase. Show me the full plan before
   creating anything."

3. "Pull the last 30 days of search terms. For any query you can't
   classify, search it and read the results. Propose negatives
   grouped by reason and wait for my approval, then add them to
   the shared negative list."
A starter prompt pack for the paid loop. Every prompt ends with an approval gate.

Loop 2 — organic: pages from data, not vibes

The organic loop is the same shape with a longer clock, and the human step comes first: keywords. Claude Code cannot see search volumes. Keyword Planner is free with an ads account (volumes are rounded), any paid SEO tool is sharper, and an agent asked to just "find keywords" will invent plausible-looking phrases with zero demand. Export a CSV; that file is the loop's fuel.

Then the agent takes over: one static page per intent — statically generated, interlinked, written against your voice files rather than default model prose. Cap the batch. Dozens of pages that each answer a real query beat thousands of thin permutations, which is how sites get de-indexed rather than ranked. The full site-level version of this play is in our guide to doing SEO with Claude Code.

Voice files are the cheapest anti-slop mechanism we know: paste your own posts and emails into the repo as reference files — tone.md, vocabulary.md, beliefs.md — and reference them in every content prompt. The model stops writing like a model and starts writing like the person who feeds it.

For technical SEO the loop is almost comically direct: run Lighthouse in Chrome DevTools, copy the entire report, and paste it into Claude Code with "fix these". Re-run, repeat. The agent reads a raw audit more patiently than any human skims one.

Ads first or SEO first?

The honest heuristic: ads buy signal, SEO compounds. If you need to know this week whether anyone wants the thing, and you can fund a few hundred dollars of clicks, run the paid loop — you'll have real search terms and conversion data in days. If there's no click budget, or your product's queries are ones people will still be typing next year, start the organic loop and let it stack. The loops share parts either way: paid landing pages become organic pages, and the paid search-term report is the best keyword research you'll ever get without paying for a tool.

Ads or SEO first? Do you need signal this week? yes no Can you fund a few hundred dollars of clicks? yes no Can you wait months for compounding traffic? yes Ads loop first answers in days, costs cash SEO loop first costs time, compounds Either way the loops share parts: ad landing pages become organic pages, and paid search-term reports are next month’s keyword list.
The decision in one picture — and the parts both paths share.

Bottle the loop into skills

Everything above runs as one-off prompts first. The compounding step is packaging: Claude Code skills are markdown instruction files invoked as slash commands (code.claude.com/docs, checked 2026-07-15). Run the ads workflow once by hand, then have Claude write /generate-ads and /new-page skills from the session — each with a log file so it never duplicates a keyword. Hooks add guardrails, like blocking any push that contains .env. A weekly scheduled run — "audit the account, propose changes, touch nothing" — turns Monday-morning optimization into reading a report over coffee.

What Claude Code can't do for your marketing

It doesn't know search volumes. That data lives in Keyword Planner and SEO tools, and any volume number an LLM produces from memory is fiction wearing a confident face.

It doesn't own consequences. The ad account, the policy strikes, the budget — yours. That's the real reason every prompt in this playbook ends with an approval gate: the agent proposes, you dispose.

And it can't fix a product nobody wants. If the perfectly message-matched page converts nobody, that's signal about the offer, not the automation. The good news is that finding out is nearly free: Claude's Pro plan at $17–20 a month includes Claude Code (claude.com/pricing, 2026-07-15), the Google Ads API costs nothing, and Keyword Planner costs nothing — the marketing loop's fixed cost is a subscription plus whatever you choose to spend on clicks.

Frequently asked questions

Can Claude Code really create Google Ads campaigns?
Yes — through the official Google Ads API with a developer token and OAuth credentials. The API is free to use; a new token works against test accounts (15,000 operations/day), Explorer access covers production accounts at 2,880 operations/day, and Basic access (15,000/day) takes an application Google typically reviews in about 5 business days.
Do I need an MCP server to connect Claude Code to Google Ads?
No. The connection is a plain OAuth + API integration that Claude Code scripts itself from your credentials.json and developer token. MCP servers are a convenience where they exist, not a requirement.
Can Claude Code do keyword research?
It can cluster, prioritize, and act on keywords — it cannot source them. Search-volume data lives in Google Keyword Planner (free with an ads account, volumes rounded) or a paid SEO tool. A model asked for keywords from memory produces plausible-looking phrases with unknown demand.
Is letting an AI agent manage my ads against Google's rules?
Managing campaigns through the Google Ads API is exactly what the API exists for. What Google polices is what it always polices — misleading claims, broken landing pages, policy violations — and that responsibility stays with the account owner, which is why every workflow here keeps a human approval gate.
How much does this whole stack cost?
Claude Pro at $17–20/month includes Claude Code; the Google Ads API and Keyword Planner are free. The real variable is your click budget — a few hundred dollars buys the first real market signal.
Last updated July 2026 · By Andrew Dyuzhov · A Vibedonalds guide. Drafted with AI assistance.