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.
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.
| Task | What Claude Code does | What stays yours |
|---|---|---|
| Campaign build | Creates campaigns and ad groups through the Google Ads API | Budget, offer, targeting calls |
| Ad copy | Drafts responsive search ads — up to 15 headlines and 4 descriptions per ad (Google's limit) | Approving every claim in them |
| Landing pages | Writes and deploys one page per search intent from your own repo | Brand, pricing, the product itself |
| Negative keywords | Reads search-term reports, researches ambiguous queries, proposes exclusions | Final approval before changes go live |
| SEO pages | Turns a keyword CSV into static, interlinked pages | Which keywords — it can't see search volumes |
| Technical SEO | Fixes what a pasted Lighthouse report flags | Very little — this one it mostly just does |
| Reporting | Builds dashboards from CSV exports of spend and results | Reading them and deciding |
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.
- 01Create a Google Ads Manager account and copy the developer token from its API Center.
- 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.
- 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.
- 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.
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.
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."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.
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.