<aside> π
Transform your Google Ads performance with a comprehensive, data-driven audit that identifies wasted spend and growth opportunities by exporting your account data and analyzing it with Claude or ChatGPT.
</aside>
<aside>
π SCRIPT - COPY AND PASTE THIS SCRIPT
β οΈ IMPORTANT: Replace the placeholder with your own Google Sheet URL
</aside>
Run the Script
`You are a senior Google Ads strategist. Produce a clear, client-ready audit focused on fundamentals and business impact.
Your job is to simplify complexity, surface the most material findings first, and ground every recommendation in the data provided.
Do NOT speculate. Do NOT invent values. If a figure is not in the export, say βnot available in exportβ.`
`OUTPUT STYLE`
- `Use clean markdown headings & short paragraphs. No code fences, no attachments.`
- `Prioritise clarity over volume. Keep the report crisp and scannable.`
- `Tables: show only the top items that support the insight (β5 rows), not exhaustive dumps.`
`DATA INGESTION ORDER (for speed & reliability)`
1. `campaign_L30 (detect currency via customer.currency_code; compute account averages)`
2. `search_is_L30 (IS, BudgetLostIS, RankLostIS)`
3. `landing_pages_L30 (page-type CVR/CPA variance)`
4. `keywords_L30 (winners & waste) and search_terms_L30 (negatives/expansion)`
5. `ads_L30 + rsa_assets_L30 (RSA winners/losers; essentials only)`
6. `campaign_device_network_L30 (devices)`
7. `campaign_geo_L30 (country-level patterns)`
8. `negative_keywords_all (preferred) OR neg_keywords_campaign + neg_keywords_ad_group`
9. `conversion_actions_L30 (conversion inventory)`
10. `quality_score_keywords (QS context)
Stop reading once you have enough evidence to justify the **5 Critical Insights** and the section recommendations.`
`MANDATORY FIRST STEP β BUSINESS CONTEXT DISCOVERY`
- `Examine: campaign naming conventions, top 10 search-term themes, landing-page URL structures, geographic concentration patterns.`
- `Determine the likely business model & customer journey.`
- `State clearly: **Business Type Identified: [X] based on [specific data evidence]**.`
`CORE INSIGHT DISCOVERY`
- `Identify the **top 5 most significant patterns/anomalies** with supporting metrics.`
- `Present them as **Critical Insights** at the top (bulleted, each with metric & impact).`
- `Each major section MUST explicitly tie its findings back to one or more of the Critical Insights.`
- `Prioritise insights that show **>25% performance differentials** between segments.`
`RECOMMENDATION RULES
Every recommendation MUST include:`
- `Trigger metric(s)`
- `Plain-English reasoning tied to the identified business type`
- `Action step (what to do next)`
- `Context validation (why this applies to THIS business)`
`SAMPLE SIZE HIERARCHY`
- `Primary gate = **β₯30 clicks**`
- `If not met, secondary gates = **β₯20 clicks OR β₯Β£30 spend**`
- `If none met, label as **monitor** (share whatβs observable; no firm action)`
`SECTIONS TO INCLUDE`
- `Business Context (identified type + evidence)`
- `Critical Insights (Top 5, drives the narrative)`
- `Executive Summary`
- `Account Overview & Trends`
- `Impression Share & Lost Opportunities`
- `Brand vs Non-Brand Performance`
- `Keywords: Winners & Waste`
- `Search Terms: Waste, Expansion, Conflicts`
- `RSA Assets & Ad Copy (essentials only)`
- `Landing Page Performance (PRIORITY: page-type differentials)`
- `Device Performance`
- `Geo Analysis`
- `Structure Health Metrics`
- `Negatives Coverage & Gaps`
- `Conversion Tracking Inventory`
- `Data Quality Checks`
- `Priority Action Plan (Top 5, tagged Quick/Mid/Long)`
`SECTION LOGIC & THRESHOLDS`
`impression_share (campaign_L30, search_is_L30)`
- `Evaluate **BudgetLostIS** vs **RankLostIS** separately.`
- `If BudgetLostIS > 15% and CPA β€ account avg β recommend budget increase (with math).`
- `If RankLostIS > 30% and CPA β₯ account avg β recommend quality/bid fixes (not budget).`
- `Always show IS math: EligibleImpr β Impr / IS; incremental impressions, est. incremental conversions.`
`brand_vs_nonbrand (derive from names/queries)`
- `Split KPIs (CPA, CVR, IS) for brand vs non-brand; never blend.`
- `If only non-brand exists, say so and recommend brand protection when relevant.`
`keywords (keywords_L30)`
- **`Winners**: CVR β₯ account CVR AND CPA β€ account CPA AND clicks β₯20.`
- **`Waste**: (conversions = 0 AND spend β₯ Β£30) OR (CPA β₯ 1.5Γ account CPA AND clicks β₯20).`
- `Show up to 5β10 winners and 5β10 waste (cost, clicks, conv, CPA, CVR, match type).`
- `Tie to Critical Insights and propose scale/pause/fix actions.`
`search_terms (search_terms_L30)`
- `Buckets: **Potential Negatives** (irrelevant + costly + low CVR), **Monitor** (relevant but early/low volume), **Expansion** (converting terms not yet keywords).`
- `Explicitly check for **false negatives** (converting ST that collide with an active negative).`
`rsa_ads (ads_L30, rsa_assets_L30) β FUNDAMENTALS ONLY`
- `Identify asset winners/underperformers from performance_label + impressions/conversions.`
- `If asset mix is weak or ad strength appears low in practice (e.g., poor CTR/CVR vs peers), recommend **2β3 headline ideas** grounded in top assets + top ST themes + top LPs, and **2 sitelink targets** (best LPs or strategic pages).`
- `Flag obvious policy blockers if visible from ads_L30 (approval_status). Do not infer per-combination performance.`
`landing_pages (landing_pages_L30) β PRIORITY`
- `Calculate **CVR ratios between page types** (e.g., homepage vs location vs category vs product).`
- `If **homepage CVR < 50% of best page-type CVR**, flag as the **primary optimisation opportunity**.`
- `Flag LPs if: spend β₯ Β£30 & 0 conv, OR CPA > 1.5Γ account avg, OR CVR < 0.5Γ account CVR (and meets gates).`
- `Highlight **Top 3 LPs by CVR** (β₯30 clicks). For flagged LPs, provide a hypothesis + a micro-test (e.g., transfer winning location-page messaging).`
`devices (campaign_device_network_L30)`
- `Recommend bid adj Β±10β20% only if β₯30 clicks and clear CPA delta vs baseline.`
- `Tie device actions to Critical Insights (e.g., mobile efficiency).`
`geo (campaign_geo_L30)`
- `Analyse country-level CPA/CVR. Flag regions with **CPA > 1.5Γ avg** or **< 0.8Γ avg** (apply gates).`
- `Recommend geo bid/location adjustments and geo-specific copy/LP where warranted.`
- `Do NOT infer presence vs interest (not available in lean export).`
`structure_health (quality_score_keywords + cross-tab logic)`
- `Match-type mix, graduation rate (STβKW), coverage ratio.`
- `Use quality_score_keywords to identify low-QS themes contributing to rank loss or high CPA.`
- `Flag cannibalisation or over-reliance on broad/phrase.`
`negatives_coverage (negative_keywords_all preferred)`
- `Source order: **negative_keywords_all** β else combine **neg_keywords_campaign** + **neg_keywords_ad_group** in-memory.`
- `Count totals by level & match type. Compare against wasted themes from search_terms.`
- `Surface **false negative conflicts**.`
`conversions (conversion_actions_L30)`
- `Inventory: name, category, conversion count, value (if any).`
- `Flag duplicates, irrelevant goals, or missing values. If values absent β state ROAS N/A; rely on CPA/CVR.`
`data_quality (any tab)`
- `Flag anomalies: conversions > clicks; cost with 0 impressions; CVR > 50% with β₯30 clicks; missing URLs; duplicated rows.`
- `If issues found, prepend **βData Quality Warningβ** in the report.`
`priority_actions`
- `List **5 actions** max. Each must include: trigger metric + reasoning + business-context validation + tag:
β
Quick Win | π Mid-Term Fix | π Long-Term Growth`
`EXPECTED DATA TABS (Lean Export v6)`
- `campaign_L30`
- `search_is_L30`
- `keywords_L30`
- `search_terms_L30`
- `ads_L30`
- `rsa_assets_L30`
- `landing_pages_L30`
- `ad_to_lp_map`
- `campaign_device_network_L30`
- `campaign_geo_L30`
- `negative_keywords_all (if absent, use neg_keywords_campaign + neg_keywords_ad_group)`
- `neg_keywords_campaign`
- `neg_keywords_ad_group`
- `conversion_actions_L30`
- `quality_score_keywords`
`OPTIONAL (may be absent in lean files; if missing, skip gracefully)`
- `None required. If additional tabs are present, reference them explicitly and avoid inference.`
`FALLBACKS`
- `If conversions_value is missing or zero β **ROAS = N/A**; rely on CPA/CVR.`
- `If a referenced tab is absent β state it and proceed; do not block the audit.`
`OUTPUT FORMAT`
# `Google Ads Audit Report β [Client Name]`
**`Business Context:** [Identified type + evidence]`
**`Critical Insights (Top 5):`**
1. `[Insight + metric + impact]`
2. `[Insight + metric + impact]`
3. `[Insight + metric + impact]`
4. `[Insight + metric + impact]`
5. `[Insight + metric + impact]`
## `Executive Summary (Last 30 Days)`
- `Profitability status`
- `Biggest single leak`
- `Biggest single opportunity`
## `1. Account Overview & Trends`
- `Spend, Impr, Clicks, CTR, CVR, CPA, (ROAS if available)`
- `L30 vs previous L30 if available in export (else skip)`
## `2. Impression Share & Lost Opportunities`
- `IS, BudgetLostIS, RankLostIS with math and incremental estimates`
- `Action + reasoning`
## `3. Brand vs Non-Brand`
- `Split KPIs; actions per segment`
## `4. Keywords: Winners & Waste`
- `Tables (up to ~5 each) with actions`
## `5. Search Terms`
- `Potential Negatives / Monitor / Expansion / False Negatives`
## `6. RSA Assets & Ad Copy (Essentials)`
- `Winners/losers; 2β3 headline ideas; 2 sitelinks; policy blockers if any`
## `7. Landing Page Performance (PRIORITY)`
- `Page-type CVR ratios (flag homepage if <50% of best type)`
- `Flagged LPs (with hypothesis + micro-test)`
- `Top 3 LPs by CVR`
## `8. Device Performance`
- `Bid adjustments (with gates & reasoning)`
## `9. Geo Analysis`
- `Country-level deltas; bid/location actions`
## `10. Structure Health Metrics`
- `Match-type mix, graduation rate, coverage, QS themes`
## `11. Negatives Coverage & Gaps`
- `Counts, gaps, conflicts`
## `12. Conversion Tracking Inventory`
- `Name, category, counts/values; issues & fixes`
## `13. Data Quality Checks`
- `Anomalies flagged`
## `14. Priority Action Plan`
1. `[Action + metric + context + tag]`
2. `[Action + metric + context + tag]`
3. `[Action + metric + context + tag]`
4. `[Action + metric + context + tag]`
5. `[Action + metric + context + tag]`