AI Search Terms vs Ad Copy
Uses ChatGPT to score how well each search term matches the ad copy it triggered, with short AI explanations, so you can spot relevance gaps and messaging misfires.
by Charles Bannister (shabba.io)·shabba.io/google_ads_scripts/ai-search-terms-vs-ad-copy
Overview
Pulls recent search terms with their triggering ads and asks ChatGPT to rate the relevance between the query intent and your ad copy, returning a short explanation for each. Results land in a Google Sheet so you can prioritize ad rewrites or negatives. Useful for finding where your ads promise the wrong thing.
Setup
- 1Create or copy a Google Sheet with a 'settings' tab holding your OpenAI API key, and copy its URL.
- 2In Google Ads, go to Tools → Bulk Actions → Scripts.
- 3Click + to create a new script and paste the code below.
- 4Set SPREADSHEET_URL. Adjust LOOKBACK_WINDOW_DAYS and MINIMUM_CLICKS as needed.
- 5Authorize, preview, review the results tab, then schedule weekly.
Configuration Variables
| Variable | Default |
|---|---|
SPREADSHEET_URL | YOUR_SPREADSHEET_URL_HERE |
LOOKBACK_WINDOW_DAYS | 30 |
MINIMUM_CLICKS | 1 |
OPENAI_SETTINGS_SHEET | settings |
OUTPUT_SHEET_NAME | results |
Expected Output
Evaluated 60 search terms with ChatGPT. "emergency plumber near me" vs ad "Book a Plumber Online" — 6/10: ad omits emergency/urgency. Wrote scores + explanations to the results tab.
Notes
EXTERNAL API REQUIRED: needs your own OpenAI API key (stored in the sheet) and calls the OpenAI API — usage is billed by OpenAI. Quality and cost depend on the model and volume of terms.