Agent skill

Local Ppc Ads

by garrettjsmith in garrettjsmith/localseoskills

When the user wants to run geographically targeted Google Ads (PPC) campaigns for a local business.

MITAuto-check passedMarketing & SEO

Install Local Ppc Ads

skills CLI
$ npx skills add garrettjsmith/localseoskills --skill local-ppc-ads -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install garrettjsmith/localseoskills local-ppc-ads --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/garrettjsmith/localseoskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/local-ppc-ads .claude/skills/local-ppc-ads && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
local-ppc-ads
GitHub stars
120
Token cost
~2.4k tokens
SKILL.md length
1,124 words
Files
1
Skills in repo
38
Repo updated
First seen
Licence
MIT

At a glance

When the user wants to run geographically targeted Google Ads (PPC) campaigns for a local business.

  • Works in 7 steps: What services to advertise? → What geographic areas to target?… → Monthly budget? → …
  • Wants to run geographically targeted Google Ads (PPC) campaigns for a local business
  • SKILL.md covers What This Covers, Geographic Targeting Options, Campaign Structure for Local and Keyword Strategy, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Local Ppc Ads is an agent skill from garrettjsmith/localseoskills. When the user wants to run geographically targeted Google Ads (PPC) campaigns for a local business. Also use when the user mentions "local PPC," "geotargeted ads," "radius targeting," "Google Ads for local business," "local search campaigns," "geographic PPC," or "Google Ads location targeting." For LSAs (pay-per-lead), see lsa-ads. For map pack ads specifically, see local-search-ads.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Marketing & SEO, covering Paid advertising and Local SEO. It works with Google Ads. The repository describes itself as: Open-source Claude SEO tool for local search visibility — skills, tool integrations, and automation templates that turn Claude into a Local SEO expert. The licence is MIT.

When your agent uses it

  • Wants to run geographically targeted Google Ads (PPC) campaigns for a local business
  • The user mentions local PPC
  • Geotargeted ads
  • Radius targeting

Example prompts

  • “local PPC,”
  • “geotargeted ads,”
  • “radius targeting,”
  • “/local-ppc-ads”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. What services to advertise?
  2. What geographic areas to target? (cities, radius, ZIP codes)
  3. Monthly budget?
  4. What's an acceptable cost per lead?
  5. Existing Google Ads account or starting fresh?
  6. What conversion actions are available? (phone, form, booking)
  7. Current landing pages — do service/location pages exist?

What it can do on your machine

Read from SKILL.md and the folder at commit 405ce20. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Local Ppc Ads loads about 2.4k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 1,124 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from garrettjsmith/localseoskills at commit 405ce20, republished under its MIT licence (© garrettjsmith). 1,124 words, ~2,437 tokens.

Download SKILL.mdSave it as .claude/skills/local-ppc-ads/SKILL.md (or your agent's skills folder).
name
local-ppc-ads
description
When the user wants to run geographically targeted Google Ads (PPC) campaigns for a local business. Also use when the user mentions "local PPC," "geotargeted ads," "radius targeting," "Google Ads for local business," "local search campaigns," "geographic PPC," or "Google Ads location targeting." For LSAs (pay-per-lead), see lsa-ads. For map pack ads specifically, see local-search-ads.
metadata.version
1.0.0
metadata.author
Garrett Smith

Local PPC Ads (Geographically Targeted Google Ads)

You are an expert in running Google Ads campaigns with geographic targeting for local businesses. Your goal is to drive local leads and customers efficiently through search, display, and video campaigns targeted to specific service areas.

What This Covers

Standard Google Ads campaigns (search, display, Performance Max, video) with geographic targeting to reach local customers. These are the regular search ads that appear above and below organic results — distinct from LSAs (pay-per-lead) and local search ads (inside the map pack).


Geographic Targeting Options

Targeting Methods

Radius targeting

  • Set a radius around business location or any point
  • Best for: SABs, businesses serving a defined surrounding area
  • Example: 15-mile radius around your office

Location targeting (named areas)

  • Target by city, county, state, ZIP code, DMA, metro area
  • Can layer multiple locations
  • Best for: businesses serving specific defined cities/regions

Location groups

  • Target by places of interest, demographics, or business locations
  • Example: target within 5 miles of all your store locations
Critical Setting: Location Options

"Presence or interest" vs. "Presence only"

Google defaults to "Presence or interest" which shows ads to people who are IN your area OR who have shown INTEREST in your area. This means someone in another state searching "plumber buffalo ny" sees your ad.

For most local businesses: Switch to "Presence: People in or regularly in your targeted locations." This prevents wasted spend on people not actually in your area.

Exclusions
  • Exclude areas you don't serve
  • Exclude areas where a different location handles service
  • Exclude known low-converting zones
  • Regularly review Geographic Reports for locations you should exclude

Campaign Structure for Local

Account
├── [Service A] - [Market 1] Campaign
│   ├── Exact match ad group
│   ├── Phrase match ad group
│   └── Broad match ad group (with smart bidding)
├── [Service A] - [Market 2] Campaign
│   ├── ...
├── [Service B] - [Market 1] Campaign
│   ├── ...
├── Brand Campaign (all markets)
└── Competitor Campaign (optional)
Why Separate by Market
  • Different CPCs and competition per market
  • Different budgets per market
  • Location-specific ad copy
  • Easier performance analysis per market
Single Location (Simpler)
Account
├── Core Services Campaign (radius targeting)
├── Emergency/Urgent Campaign (radius targeting, 24/7)
├── Brand Campaign
└── Competitor Campaign (optional)

Keyword Strategy

Keyword Types for Local
  • Service + location: plumber buffalo ny, dentist orchard park
  • Near me: plumber near me, emergency dentist near me
  • Service only (with geo targeting): emergency plumber, ac repair
  • Problem-based: pipe burst, furnace not working, toothache
  • Brand: Your business name + variations
Match Types
  • Exact: Highest intent, highest control, start here
  • Phrase: Moderate expansion, good for discovering queries
  • Broad (with smart bidding): Let Google find converters, but monitor closely
Negative Keywords (Essential)
  • Jobs/careers: jobs, salary, hiring, career, indeed
  • DIY/informational: how to, DIY, tutorial, YouTube
  • Free: free (unless offering free estimates)
  • Unrelated services: services you don't offer
  • Wrong locations: cities you don't serve that share names
  • Brands: competitor names (unless intentionally targeting)

Ad Copy for Local

Headlines
  • Include city/area name: "Buffalo's Trusted Plumber"
  • Include service: "24/7 Emergency Plumbing"
  • Include differentiator: "Licensed & Insured Since 2005"
  • Include CTA: "Call Now — Free Estimates"
  • Use dynamic location insertion: {LOCATION(City)}
Descriptions
  • Mention specific services
  • Include trust signals (years, reviews, certifications)
  • Include offer if applicable
  • CTA with phone number
  • Mention service area
Extensions / Assets
  • Call asset: Phone number (use tracking number)
  • Location asset: Link to GBP (enables map pack ads too)
  • Sitelink assets: Service pages, reviews page, about page, contact
  • Callout assets: "Licensed & Insured," "Same-Day Service," "Free Estimates"
  • Structured snippet assets: Service types, brands served
  • Price assets: If pricing is competitive

Landing Pages

Rules for Local PPC Landing Pages
  • Send traffic to specific service or location pages, not homepage
  • Match ad copy to landing page content (keyword, service, location)
  • Include city/area prominently on the page
  • Click-to-call phone number above the fold
  • Short form (name, phone, service needed) above the fold
  • Trust signals: reviews, certifications, years in business
  • Mobile-optimized (most local searches are mobile)
  • Fast loading (under 3 seconds)
Landing Page per Campaign

Ideally:

  • [service] + [city] campaign → /plumbing/buffalo-ny/ landing page
  • Brand campaign → homepage
  • Emergency campaign → /emergency-plumbing/ with urgent CTA

Bidding Strategy

Starting Point
  • Maximize Conversions with target CPA if you have conversion data
  • Maximize Clicks if starting fresh (switch to conversion-based once you have 30+ conversions)
  • Manual CPC if you want full control (more work but more predictable)
Bid Adjustments
  • Device: Increase mobile bids 10-30% (local searches skew mobile)
  • Time of day: Increase during business hours, decrease overnight
  • Location: Increase bids for high-value areas, decrease for fringe
  • Audience: Increase for remarketing lists
Show full SKILL.md (453 more words)Show less
Budget Allocation
  • Weight budget toward highest-converting services
  • Weight toward highest-value markets
  • Reserve 10-20% for testing new keywords and markets
  • Adjust seasonally (HVAC summer/winter, tax season, etc.)

Conversion Tracking

What to Track
  • Phone calls (from ads, from website via dynamic number insertion)
  • Form submissions (contact forms, quote requests)
  • Chat initiations (if using chat widget)
  • Direction requests (if relevant for storefront)
  • Bookings (if using online scheduling)
Setup
  • Google Ads conversion tracking on all forms
  • Call tracking with dynamic number insertion (CallRail, CallTrackingMetrics)
  • Import Google Analytics goals into Google Ads
  • Track offline conversions if possible (CRM → Google Ads import)
Attribution
  • Use data-driven attribution if enough conversion volume
  • Default to last-click for smaller accounts
  • Track phone call quality (not just volume) — listen to calls

Measuring Performance

Key Metrics
  • CPC: Cost per click (benchmark: varies by industry)
  • CTR: Click-through rate (benchmark: 3-5% for local search)
  • Conversion rate: Clicks → leads (benchmark: 5-15% for local)
  • Cost per lead (CPL): Total spend ÷ leads
  • Cost per acquisition (CPA): Total spend ÷ customers
  • ROAS: Revenue from PPC customers ÷ ad spend
Weekly Optimization Checklist
  • Review search terms report → add negatives
  • Check geographic report → exclude non-converting areas
  • Review ad performance → pause low CTR ads
  • Check budget pacing → adjust if over/underspending
  • Monitor CPC trends → adjust bids if needed

Common Mistakes

  • "Presence or interest" targeting — default wastes spend on non-local searchers
  • Sending to homepage — always use specific landing pages
  • No call tracking — phone calls are the primary local conversion
  • No negative keywords — search terms report reveals massive waste
  • Ignoring mobile — local PPC is mobile-dominant
  • Same ads for all areas — localize ad copy per market
  • No conversion tracking — flying blind without it

Task-Specific Questions

  1. What services to advertise?
  2. What geographic areas to target? (cities, radius, ZIP codes)
  3. Monthly budget?
  4. What's an acceptable cost per lead?
  5. Existing Google Ads account or starting fresh?
  6. What conversion actions are available? (phone, form, booking)
  7. Current landing pages — do service/location pages exist?

What to Do Next

What You FoundNext ActionSkill
PPC running but no LSA presenceLSAs appear above PPC — set those up for maximum coveragelsa-ads
Want ads inside the map pack specificallySet up Local Search Ads (different from standard PPC)local-search-ads
Ad traffic needs better landing pagesBuild dedicated local landing pages for ad campaignslocal-landing-pages
Need to report PPC results alongside organicCombine PPC and organic metrics in unified reportslocal-reporting
GBP not optimized (hurts location extensions)Optimize GBP to improve ad location assetsgbp-optimization

Default next step: PPC is a visibility bridge while organic rankings build. Track both together and shift budget as organic improves.

Tools for This Skill

See docs/tool-routing to pick based on what's connected.

  • Keyword data (volume, CPC, competition for ad targeting) → keyword research tools (multiple options)

© garrettjsmith, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/local-ppc-ads of garrettjsmith/localseoskills.

Open the folder on GitHubat commit 405ce20

Compare with similar skills

Local Ppc Ads next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Local Ppc Ads compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Local Ppc Ads this skillgarrettjsmith/localseoskills120—~2.4kAutomated safety check: PassMIT
Blog GoogleAgriciDaniel/claude-blog2.3k1 repos~3.3kAutomated safety check: NotesMIT
SEO Googleseranking/seo-skills160—~4.8kAutomated safety check: PassMIT
Google Adsarnabbagxd/Brand-building-skills724—~3.1kAutomated safety check: PassMIT
Keyword Cannibalization Checkirinabuht12-oss/marketing-skills4k—~717Automated safety check: PassNone
Google Adszapier/connectors176—~3.7kAutomated safety check: PassElastic-2.0

Similar skills

  • Blog Google

    AgriciDaniel/claude-blog

    Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity…

    2.3k GitHub starsUsed in 1 repo~3.3k tokens
    Marketing & SEOAuto-check: notes
  • SEO Google

    seranking/seo-skills

    Direct access to Google's own SEO data via Search Console (Search Analytics, URL Inspection, Sitemaps), PageSpeed Insights v5, CrUX field data with 25-week history, Indexing API v3, GA4 organic…

    160 GitHub stars~4.8k tokensUpdated 3 mo ago
    Marketing & SEOAuto-check passed
  • Google Ads

    arnabbagxd/Brand-building-skills

    Plan, build, and optimize Google Ads campaigns — Search, Shopping, Performance Max, Display, and YouTube — including keyword research, match types, bidding strategy, Quality Score, ad extensions…

    724 GitHub stars~3.1k tokensUpdated 3 mo ago
    Marketing & SEOAuto-check passed
  • Keyword Cannibalization Check

    irinabuht12-oss/marketing-skills

    Identifies where your own keywords and campaigns are competing against each other in Google Ads auctions.

    4k GitHub stars~717 tokensUpdated 15 days ago
    Marketing & SEOAuto-check passed
  • Google Ads

    zapier/connectors

    Official

    Agent-callable Google Ads tools — search campaigns, ad groups, and ads via GAQL, build performance reports, manage campaign status and budgets, and set up conversion tracking.

    176 GitHub stars~3.7k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • Ads Copywriter

    claude-office-skills/skills

    Multi-platform ad copy generation for Google Ads, Meta/Facebook, TikTok, LinkedIn with A/B testing variants

    502 GitHub stars~2.1k tokensUpdated 8 mo ago
    Marketing & SEOAuto-check passed

More from garrettjsmith/localseoskills

All 38 skills in this repo
  • Gbp API Automation

    garrettjsmith/localseoskills

    When the user wants to programmatically manage Google Business Profiles at scale via API, automate GBP updates, build GBP management tools, or integrate GBP data into their systems.

    120 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Gbp Posts

    garrettjsmith/localseoskills

    When the user wants to create, schedule, or optimize Google Business Profile posts.

    120 GitHub stars~1.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Local Content Briefs

    garrettjsmith/localseoskills

    Generate complete semantic content briefs for local SEO content — location pages, service pages, blog posts, FAQ content, and pillar pages.

    120 GitHub stars~3.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Brief

    garrettjsmith/localseoskills

    Manages persistent work state (briefs) for local SEO engagements.

    120 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check: warnings
  • Local Content Strategy

    garrettjsmith/localseoskills

    Build a complete local content strategy from keyword research output.

    120 GitHub stars~2.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Local Falcon Tool

    garrettjsmith/localseoskills

    When the user wants to run a geogrid scan, check existing scan reports, track ranking trends over time, monitor GBP changes via Falcon Guard, or analyze reviews.

    120 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about Local Ppc Ads

What does Local Ppc Ads do?

When the user wants to run geographically targeted Google Ads (PPC) campaigns for a local business. Local Ppc Ads is an agent skill from garrettjsmith/localseoskills. When the user wants to run geographically targeted Google Ads (PPC) campaigns for a local business.

When should I use Local Ppc Ads?

Local Ppc Ads fits situations like: wants to run geographically targeted Google Ads (PPC) campaigns for a local business; the user mentions local PPC; geotargeted ads; radius targeting.

How do I install Local Ppc Ads in Claude Code?

Run `npx skills add garrettjsmith/localseoskills --skill local-ppc-ads -a claude-code`. Or copy the skill folder (skills/local-ppc-ads in garrettjsmith/localseoskills) into .claude/skills/local-ppc-ads in your project. Claude Code loads it when a task matches its description.

How do I install Local Ppc Ads in Codex?

Run `npx skills add garrettjsmith/localseoskills --skill local-ppc-ads -a codex`. Or copy the skill folder (skills/local-ppc-ads in garrettjsmith/localseoskills) into .agents/skills/local-ppc-ads in your project. Codex loads it when a task matches its description.

Can I use Local Ppc Ads in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add garrettjsmith/localseoskills --skill local-ppc-ads -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/local-ppc-ads, .gemini/skills/local-ppc-ads, .github/skills/local-ppc-ads and .opencode/skills/local-ppc-ads in your project.

What does Local Ppc Ads need to run?

SKILL.md names no scripts, command-line tools or credentials: Local Ppc Ads is instructions for the agent only.

Does Local Ppc Ads access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Local Ppc Ads safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Local Ppc Ads use?

Local Ppc Ads is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Local Ppc Ads use?

About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Local Ppc Ads?

Skills that share tags, products or a category with Local Ppc Ads: Blog Google (AgriciDaniel/claude-blog, 2.3k stars), SEO Google (seranking/seo-skills, 160 stars), Google Ads (arnabbagxd/Brand-building-skills, 724 stars) and Keyword Cannibalization Check (irinabuht12-oss/marketing-skills, 4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Local Ppc Ads?

garrettjsmith (a GitHub user) maintains it in garrettjsmith/localseoskills, which has 120 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on August 15, 2026.

Source: garrettjsmith/localseoskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.