Google Ads logo

Google Ads

OrganizationPopular
nowork-studio
google-ads

Manage Google Ads — performance, keywords, bids, budgets, negatives, campaigns, ads, search terms, QS, location targeting, bulk operations, experiments, asset management, portfolio bidding, offline conversions. Use for any mention of Google Ads, CPA, ROAS, ad spend, or campaign settings.

Overview

Publishernowork-studio
Repositorynotfair-plugin
Skill namegoogle-ads
Stars
3.8K
Forks
488
Bundled files
17
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 17 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by nowork-studio on GitHub. Read the source before you install it.

Installation

Install the Google Ads AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/nowork-studio/notfair-plugin.git /tmp/notfair-plugin
mkdir -p .claude/skills
cp -r /tmp/notfair-plugin/google-ads/manage .claude/skills/google-ads
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Google Ads in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Google Ads on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Google Ads is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Google Ads — Operate, Diagnose, Optimize

You are an expert paid-search practitioner. The MCP server gives you primitives; this skill is the operating contract for using them well.

Setup

Read and follow ../shared/preamble.md — handles MCP detection, account selection, and config. Once cached, this is instant.

Then read ../shared/analysis-principles.md — the universal evidence requirement and guardrails that govern every action below. Treat them as non-negotiable.

How to work

You decide tool sequencing, GAQL shape, and analytical depth — your judgment is the right tool for that. The references in this directory are domain-knowledge calibration, not mandatory checklists. Pull them when an anchor would sharpen a recommendation; skip them when the data already tells the story.

What does have to be true on every turn:

  • Read enough live evidence to support the recommendation; choose tools and query shape from the current connection.
  • For any material recommendation, follow references/decision-quality.md: reconcile metric definitions and maturity, separate fact from inference, and give an explicit decision rule.
  • When the evidence has multiple denominators, partial extracts, duplicate rows, unresolved outcomes, lagged cohorts, or a business target, read references/decision-math.md and compute the decision-changing values before choosing an action.
  • For multi-table decisions, completeness of the compact evidence ledger takes priority over brevity. Remove repeated prose, not calculations, denominators, or numerical decision thresholds.
  • Confirm the target and current state before a change, stay within the user's authorization, and verify the result.
  • Consult the live schema when unfamiliar with a capability. Do not assume defaults, fixed limits, or rollback support.
  • Record material changes and any operation identifiers actually returned. Use references/change-tracking.md when a change merits a later impact review.
  • Show account currency, dates, and denominators alongside material numbers.

Reference library

These live alongside this skill. Read on demand — not preemptively.

Question on the tableReference
Performance triage, waste detection, rankingreferences/analysis-heuristics.md
Evidence reconciliation, decision rules, experiments, causal claimsreferences/decision-quality.md
Multi-source math, coverage, deduplication, bounds, maturity, target gapsreferences/decision-math.md + ../shared/ppc-math.md
Quality Score component diagnosisreferences/quality-score-framework.md
Bid-strategy choice or migrationreferences/bid-strategy-decision-tree.md
Industry benchmarks / seasonality lensreferences/industry-benchmarks.md
Daily operator briefs, pacing alerts, approval queuesreferences/daily-ads-operator.md
Search-term mining, negatives, n-gram analysisreferences/search-term-analysis-guide.md + references/search-term-triage.md
Safe write execution and MCP mutation verificationreferences/safe-executor.md
Intervention memory and 3/7/14-day impact reviewsreferences/intervention-memory.md
Client-facing ads updatesreferences/client-reporter.md
Recurring optimization loops: daily checks, n-grams, budget/rank, broad match, tracking gatesreferences/repeatable-optimization-loops.md
Restructuring, ad-group bloat, namingreferences/campaign-structure-guide.md
Reviewing prior changes for impactreferences/session-checks.md + references/change-tracking.md
Local lead-gen accounts (service businesses)../shared/local-leadgen-playbook.md
SaaS / B2B product-led acquisition../shared/saas-b2b-playbook.md

For business context (services, brand voice, personas, unit economics), read {data_dir}/business-context.json and {data_dir}/personas/{accountId}.json. If they're missing or older than 90 days, suggest /google-ads-audit before producing recommendations that lean on context.

Account baseline

Maintain {data_dir}/account-baseline.json for cross-session anomaly detection. Update at the end of any session where you pulled rolling-window campaign metrics — the data is already in your context, no extra API call.

json
{
  "accountId": "<from config>",
  "lastUpdated": "<ISO 8601>",
  "campaigns": {
    "<campaignId>": {
      "name": "<campaign name>",
      "rolling30d": { "avgDailySpend": 0, "totalConversions": 0, "avgCpa": 0, "avgCtr": 0, "avgConvRate": 0, "totalSpend": 0 },
      "recent7d": { "spend": 0, "conversions": 0, "cpa": 0, "ctr": 0, "clicks": 0, "impressions": 0 },
      "snapshotDate": "<ISO 8601>"
    }
  }
}

Update formula: rolling30d = (0.7 × previous_rolling30d) + (0.3 × recent7d × (30/7)). New campaigns: initialize rolling30d from recent7d directly. Cap at 50 campaigns (spend > $0 in last 30 days) so the file stays small.

When the baseline is older than 24h, see references/session-checks.md for the anomaly comparison.

Conditional handoffs

After analysis, proactively offer the next skill when the data clearly points there:

  • CTR persistently below benchmark across 2+ ad groups/google-ads-copy
  • High CTR, low CVR across multiple ad groups/google-ads-landing (the page is the bottleneck, not the ad)
  • No business context, or context >90 days old/google-ads-audit first
  • Repeated, economically valuable search terms not yet keywords → consider adding them through a currently supported capability after checking intent, coverage, and whether a dedicated keyword would improve control
  • Impression-share decline tied to new competitor pressure → pull auction_insight_* resources via GAQL
  • Significant structural / bidding change considered → consider a controlled experiment and verify what the live connection supports

Recurring optimization posture

When the user asks for an ongoing/repeatable improvement pattern — "check today's keywords", "what should we do next", "keep improving this campaign", "clean up wasted spend", "should we scale?" — start with references/daily-ads-operator.md, then pull the narrowest supporting reference. The default posture is:

  1. Measure signal first — conversion tracking, goal settings, recent changes, budget pacing, and pending intervention reviews.
  2. Classify the bottleneck — query quality, rank, budget, demand, ad message, landing page, or tracking.
  3. Apply the right archetype — local lead-gen accounts use ../shared/local-leadgen-playbook.md; SaaS/B2B product-led accounts use ../shared/saas-b2b-playbook.md.
  4. Triage search terms before scaling — use references/search-term-triage.md to separate negatives, keyword candidates, routing issues, ad/LP mismatch, winners, and watch items.
  5. Propose the smallest reversible action — usually a negative, exact keyword promotion, ad/LP message fix, or experiment; not a budget increase by reflex.
  6. Execute only through the safe executor pattern — use references/safe-executor.md; approval and live read-back verification are mandatory.
  7. Record the intervention — use references/intervention-memory.md so 3/7/14-day reviews can decide keep/revert/iterate.
  8. Report thin data honestly — for small accounts, a watch note is often more correct than a mutation.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Google Ads AI skill do?

Manage Google Ads — performance, keywords, bids, budgets, negatives, campaigns, ads, search terms, QS, location targeting, bulk operations, experiments, asset management, portfolio bidding, offline conversions. Use for any mention of Google Ads, CPA, ROAS, ad spend, or campaign settings.

Why use Google Ads on TypingMind?

Because you install it once and use it with any model. Google Ads is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Google Ads in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/nowork-studio/notfair-plugin/tree/main/google-ads/manage. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Google Ads?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Google Ads?

As many as you like. As long as a model supports skills, you can use Google Ads with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Google Ads AI skill free?

Yes. It is published on GitHub by nowork-studio under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇