google-ads-audit — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited google-ads-audit (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Part of Agent Skills™ by googleadsagent.ai™
The Google Ads Account Audit skill executes a comprehensive, pattern-driven analysis of any Google Ads account using a proprietary 1,000-pattern knowledge base. This is the most thorough automated audit available, covering all 20 audit categories: Campaign Structure, Bidding, Keywords, Ad Copy, Performance Max, Shopping, Audiences, Conversions, Budget, Quality Score, Search Terms, Display, Video/YouTube, Remarketing, Reporting, Account Structure, Landing Pages, Competitive Strategy, Automation, and Policy Compliance.
Each pattern in the knowledge base encodes a specific anti-pattern, threshold, or best practice violation derived from auditing thousands of Google Ads accounts across industries. The audit engine evaluates account data against these patterns, generates severity-scored findings, and produces prioritized recommendations with estimated impact. Findings are grouped by category and ranked by potential revenue impact, giving advertisers a clear roadmap for improvement.
The audit integrates directly with the Buddy™ Agent platform, enabling continuous monitoring rather than point-in-time snapshots. When deployed as a recurring audit, the skill tracks pattern resolution over time, measures improvement velocity, and alerts on regression. This transforms the traditional audit from a one-off consulting deliverable into an always-on optimization layer.
flowchart TD
A[Google Ads API] -->|Pull Account Data| B[Data Extraction Layer]
B --> C[Campaign Data]
B --> D[Ad Group Data]
B --> E[Keyword Data]
B --> F[Ad Copy Data]
B --> G[Conversion Data]
B --> H[Audience Data]
C --> I[Pattern Matching Engine]
D --> I
E --> I
F --> I
G --> I
H --> I
J[gads-knowledge.js\n1,000 Patterns] --> I
I --> K{Severity Scoring}
K -->|Critical| L[Immediate Action Items]
K -->|High| M[Priority Optimizations]
K -->|Medium| N[Improvement Opportunities]
K -->|Low| O[Best Practice Refinements]
L --> P[Audit Report Generator]
M --> P
N --> P
O --> P
P --> Q[Prioritized Findings by Category]
P --> R[Estimated Revenue Impact]
P --> S[Implementation Roadmap]The audit loads patterns from the knowledge base and evaluates each against live account data:
import { GoogleAdsApi } from 'google-ads-api';
import { auditPatterns } from './gads-knowledge.js';
const AUDIT_CATEGORIES = [
'campaign_structure', 'bidding', 'keywords', 'ad_copy',
'pmax', 'shopping', 'audiences', 'conversions',
'budget', 'quality_score', 'search_terms', 'display',
'video_youtube', 'remarketing', 'reporting', 'account_structure',
'landing_pages', 'competitive_strategy', 'automation', 'policy'
];
async function runFullAudit(customerId, credentials) {
const client = new GoogleAdsApi({ ...credentials });
const customer = client.Customer({ customer_id: customerId });
const accountData = await extractAccountData(customer);
const findings = [];
for (const category of AUDIT_CATEGORIES) {
const categoryPatterns = auditPatterns.filter(p => p.category === category);
for (const pattern of categoryPatterns) {
const result = await evaluatePattern(pattern, accountData);
if (result.triggered) {
findings.push({
category,
pattern_id: pattern.id,
severity: result.severity,
finding: result.description,
recommendation: result.recommendation,
estimated_impact: result.impact,
affected_entities: result.entities
});
}
}
}
return prioritizeFindings(findings);
}
async function extractAccountData(customer) {
const campaigns = await customer.query(`
SELECT campaign.id, campaign.name, campaign.status,
campaign.bidding_strategy_type, campaign.budget.amount_micros,
metrics.impressions, metrics.clicks, metrics.cost_micros,
metrics.conversions, metrics.conversions_value
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
`);
const keywords = await customer.query(`
SELECT ad_group_criterion.keyword.text,
ad_group_criterion.keyword.match_type,
ad_group_criterion.quality_info.quality_score,
metrics.impressions, metrics.clicks, metrics.cost_micros
FROM keyword_view
WHERE segments.date DURING LAST_30_DAYS
`);
return { campaigns, keywords };
}Pattern definition structure in gads-knowledge.js:
export const auditPatterns = [
{
id: 'KW-001',
category: 'keywords',
name: 'Broad Match Without Smart Bidding',
severity: 'critical',
condition: (data) => data.keywords.some(
kw => kw.matchType === 'BROAD' &&
!['TARGET_CPA', 'TARGET_ROAS', 'MAXIMIZE_CONVERSIONS']
.includes(kw.campaignBiddingStrategy)
),
description: 'Broad match keywords found without smart bidding, risking irrelevant traffic.',
recommendation: 'Pair broad match keywords with Target CPA or Target ROAS bidding.',
impact: 'high'
},
{
id: 'BID-012',
category: 'bidding',
name: 'Insufficient Conversion Volume for Smart Bidding',
severity: 'high',
condition: (data) => data.campaigns.some(
c => c.usesSmartBidding && c.conversions30d < 15
),
description: 'Smart bidding campaigns with fewer than 15 conversions in 30 days.',
recommendation: 'Consolidate campaigns or switch to portfolio bidding to aggregate signals.',
impact: 'high'
}
];The Google Ads Audit skill is the foundational diagnostic tool in the Buddy™ Agent platform. When a user connects their Google Ads account, Buddy™ automatically triggers an initial full audit across all 20 categories. Results populate the Buddy™ dashboard with severity-coded findings and a prioritized action queue.
Buddy™ uses audit findings to drive its proactive recommendation engine. Critical findings trigger immediate Slack/email notifications. High-severity findings are queued for the user's next session. The audit re-runs on a configurable schedule (daily, weekly, or monthly) to track resolution progress and detect new issues.
The audit skill feeds into downstream skills: keyword findings trigger the Keyword Research skill, ad copy findings trigger Ad Copy Generation, and Quality Score findings trigger the Quality Score Optimization skill.
| Platform | Supported |
|---|---|
| Claude Code | ✅ |
| Cursor | ✅ |
| Codex | ✅ |
| Gemini | ✅ |
google ads audit, ppc audit, account health check, campaign review, google ads optimization, ad account analysis, ppc analysis, google ads best practices, campaign audit checklist, wasted spend analysis, google ads diagnostics, performance review, account structure audit, bidding audit, keyword audit
© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.