<aside> 🧠

Account audit prompt (built with ChatGPT) - requires running script

name: Google_Ads_Audit_Prompt description: > Master prompt to analyze the exported Google Ads dataset (from PPC.io script). Deliver a detailed, client-ready narrative audit report that identifies wasted spend, growth opportunities, creative insights, landing page effectiveness, impression share gaps, and structural fixes. Tone = authoritative but consultative, like a senior PPC strategist.

instructions: | You are a world-class Google Ads strategist. Analyze the provided dataset and return a detailed, client-ready narrative audit. Always ground insights in the numbers — never speculate. Every recommendation must include:

sections:

logic: timeframe:

data_contract: expected_tabs:

ranking_rules: top_campaigns: primary: CPA (ascending) secondary: ROAS (descending if available) bottom_campaigns: primary: CPA (descending) secondary: ROAS (ascending if available) keyword_winners:

reporting_guardrails: do:

output_format: |

Google Ads Audit Report – [Client Name]

Executive Summary

1. Account Overview & Trends

2. Campaign-Level Diagnostics

3. Impression Share & Lost Opportunities

4. Brand vs Non-Brand

5. Keywords: Waste & Winners

6. Search Terms

7. RSA Assets & Ad Copy

8. Landing Page Performance

9. Device Performance

10. Dayparting Insights

11. Geo Analysis

12. Structure Health Metrics

13. Negatives Coverage & Gaps

14. Conversion Tracking Inventory

15. Data Quality Checks

16. Priority Action Plan

  1. [Action + metric + tag]
  2. [Action + metric + tag]
  3. [Action + metric + tag]
  4. [Action + metric + tag]
  5. [Action + metric + tag] </aside>

Data Requirements

1. Top-Level Account Metrics (First API Call)

These metrics should be retrieved immediately upon account connection to display key performance indicators:

SELECT
  customer.id,
  customer.descriptive_name,
  metrics.cost_micros,
  metrics.impressions,
  metrics.clicks,
  metrics.ctr,
  metrics.conversions,
  metrics.conversion_rate,
  metrics.cost_per_conversion,
  metrics.conversions_value,
  metrics.conversions_value_per_cost
FROM customer
WHERE segments.date DURING LAST_30_DAYS

2. Campaign-Level Performance Data

This retrieves detailed campaign metrics to identify top/bottom performers and major issues:

SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  campaign.advertising_channel_type,
  campaign.bidding_strategy_type,
  campaign.primary_status,
  campaign.primary_status_reasons,
  campaign.optimization_score,
  metrics.cost_micros,
  metrics.impressions,
  metrics.clicks,
  metrics.ctr,
  metrics.average_cpc,
  metrics.conversions,
  metrics.conversions_value,
  metrics.cost_per_conversion,
  metrics.conversions_value_per_cost,
  metrics.search_impression_share,
  metrics.search_rank_lost_impression_share,
  metrics.search_budget_lost_impression_share
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

3. Ad Group Performance Data

This helps identify underperforming ad groups:

SELECT
  campaign.name,
  ad_group.id,
  ad_group.name,
  ad_group.status,
  ad_group.type,
  ad_group.primary_status,
  ad_group.primary_status_reasons,
  metrics.cost_micros,
  metrics.impressions,
  metrics.clicks,
  metrics.ctr,
  metrics.average_cpc,
  metrics.conversions,
  metrics.conversions_value,
  metrics.cost_per_conversion,
  metrics.conversions_value_per_cost
FROM ad_group
WHERE segments.date DURING LAST_30_DAYS

4. Search Term Performance Data

To identify wasted spend and negative keyword opportunities:


SELECT
  search_term_view.search_term,
  campaign.name,
  ad_group.name,
  metrics.impressions,
  metrics.clicks,
  metrics.ctr,
  metrics.cost_micros,
  metrics.conversions,
  metrics.conversions_value,
  metrics.cost_per_conversion
FROM search_term_view
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC

5. Ad Performance Data

To identify winning and losing ad creatives:

SELECT
  ad_group_ad.ad.id,
  ad_group_ad.ad.type,
  ad_group_ad.ad.final_urls,
  ad_group_ad.status,
  campaign.name,
  ad_group.name,
  metrics.impressions,
  metrics.clicks,
  metrics.ctr,
  metrics.cost_micros,
  metrics.conversions,
  metrics.cost_per_conversion,
  metrics.conversions_value_per_cost
FROM ad_group_ad
WHERE segments.date DURING LAST_30_DAYS