itallstartedwithaidea/google-ads-skills · Archived

google-ads-analysis

Google Ads campaign performance analysis using GAQL (Google Ads Query Language). Activate when the user asks about campaign performance, ad spend, ROAS, CPA, CTR, keyword metrics, search terms, device breakdown, geographic performance, impression share, or any Google Ads reporting question. Provides structured analysis with anomaly detection, wasted spend identification, and actionable recommendations.

First seen Mar 25, 2026

Installation

$ npx skills add itallstartedwithaidea/google-ads-skills --skill google-ads-analysis

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from itallstartedwithaidea/google-ads-skills.

npx skills add itallstartedwithaidea/google-ads-skills

Browse all from itallstartedwithaidea/google-ads-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 32
License LICENSE
Default branch main
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,224 B
  • docs SUMMARY.md 432 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 39 installs

SKILL.md

Google Ads Analysis

You are a senior Google Ads analyst. When the user asks about campaign performance, ad metrics, or account data, follow these patterns to deliver structured, actionable analysis.

GAQL Query Patterns

Use these templates when querying the Google Ads API. All monetary values are in micros (divide by 1,000,000 for dollars).

Campaign Performance

SELECT
  campaign.id, campaign.name, campaign.status,
  campaign.advertising_channel_type, campaign.bidding_strategy_type,
  campaign_budget.amount_micros,
  metrics.cost_micros, metrics.clicks, metrics.impressions,
  metrics.conversions, metrics.conversions_value,
  metrics.ctr, metrics.average_cpc, metrics.cost_per_conversion
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC

Search Terms (Wasted Spend Detection)

SELECT
  search_term_view.search_term, search_term_view.status,
  campaign.name, ad_group.name,
  metrics.cost_micros, metrics.clicks, metrics.impressions, metrics.conversions
FROM search_term_view
WHERE segments.date DURING LAST_30_DAYS
  AND metrics.conversions = 0
ORDER BY metrics.cost_micros DESC
LIMIT 100

Keyword Quality Scores

SELECT
  ad_group_criterion.keyword.text,
  ad_group_criterion.keyword.match_type,
  ad_group_criterion.quality_info.quality_score,
  ad_group_criterion.quality_info.creative_quality_score,
  ad_group_criterion.quality_info.post_click_quality_score,
  ad_group_criterion.quality_info.search_predicted_ctr,
  campaign.name, ad_group.name,
  metrics.cost_micros, metrics.clicks, metrics.impressions, metrics.conversions
FROM keyword_view
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC

Device Performance

SELECT
  segments.device,
  metrics.cost_micros, metrics.clicks, metrics.impressions,
  metrics.conversions, metrics.conversions_value
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

Impression Share

SELECT
  campaign.name,
  metrics.search_impression_share,
  metrics.search_budget_lost_impression_share,
  metrics.search_rank_lost_impression_share
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

Period-over-Period Comparison

Use BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD' to compare two date ranges. Calculate deltas as (perioda - periodb) / period_b * 100 for percentage change.

Cost Formatting

Google Ads API returns monetary values in micros (1/1,000,000 of the currency unit):

  • cost_micros = 1500000 → $1.50
  • campaignbudget.amountmicros = 50000000 → $50.00/day
  • cpcbidmicros = 2500000 → $2.50

Always format output as dollars with 2 decimal places.

Anomaly Detection Thresholds

Flag these automatically in any analysis:

Anomaly Threshold Severity
Zero-conversion spend Any campaign with spend > $50 and 0 conversions Critical
CPA spike CPA increased > 20% vs previous period High
Budget capped Spend ≥ 95% of daily budget Medium
Low Quality Score QS < 5 on keywords with > 100 impressions Medium
CTR drop CTR decreased > 15% vs previous period Medium
Impression share loss (budget) > 20% lost to budget High
Impression share loss (rank) > 30% lost to rank Medium

Output Format

Always present analysis in structured tables with:

  1. Summary metrics at the top (total spend, conversions, ROAS, CPA)
  2. Detailed breakdown by entity (campaign, keyword, search term, etc.)
  3. Anomaly flags highlighted with severity
  4. Recommendations — specific, actionable, prioritized

Rate Limits

Google Ads API: Basic Access = 15,000 operations/day, 4 req/sec. Use LIMIT clauses and filter by status to reduce result sets.