Google Ads Claude skill

Geo Performance Optimizer

Geo Performance Optimizer is a Claude skill that analyzes Google Ads results by location. It queries user_location_view and geographic_view through the gaql action, ranks locations by efficiency, flags dead zones and returns bid adjustment percentages, exclusions and expansion ideas with a projected impact.
Google AdsIncludes Sample Data4 files
Download Skill

What Geo Performance Optimizer does

Geo Performance Optimizer is a Claude skill that analyzes Google Ads results by location. It queries user_location_view and geographic_view through the gaql action, ranks locations by efficiency, flags dead zones and returns bid adjustment percentages, exclusions and expansion ideas with a projected impact.

Use it to

  • Find cities or regions with no conversions
  • Set location bid adjustments from real CPA
  • Pick new locations to target

Example request

Hey Claude, I just added the "geo-performance-optimizer" skill. Can you analyze which locations are performing best and recommend bid adjustments?

Geo Performance Optimizer
SKILL.md
HOW_TO_USE.md
sample_input.json
expected_output.json
skillsgoogle-adsSKILL.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
# Geo Performance Optimizer
 
Find where your ads are killing it and where they're dying. Optimize bids by location to get more conversions from the same budget.
 
## Core Philosophy
 
**Location is a hidden lever.** Most advertisers set geo targeting and forget it. The smart ones constantly adjust bids based on where conversions actually come from.
 
**The Geo Questions:**
1. Which locations are driving efficient conversions?
2. Which locations are bleeding money?
3. Where should I increase/decrease bids?
4. Are there locations I'm missing?
 
---
 
## MCP Integration
 
### Required Data Pull
 
Run this GAQL query with the Google Ads MCP `gaql` action (resource: `user_location_view`):
 
```
SELECT
campaign.id,
campaign.name,
user_location_view.country_criterion_id,
user_location_view.targeting_location,
metrics.impressions,
metrics.clicks,
metrics.cost_micros,
metrics.conversions,
metrics.conversions_value,
metrics.ctr,
metrics.average_cpc,
metrics.cost_per_conversion
FROM user_location_view
WHERE segments.date BETWEEN '{start_date}' AND '{end_date}'
AND metrics.impressions > 0
ORDER BY metrics.cost_micros DESC
```
 
### Supplementary Query (Geographic View)
 
For country-level aggregation, also query `geographic_view` with the `gaql` action:
 
```
SELECT
campaign.id,
campaign.name,
geographic_view.country_criterion_id,
geographic_view.location_type,
metrics.impressions,
metrics.clicks,
metrics.cost_micros,
metrics.conversions
FROM geographic_view
WHERE segments.date BETWEEN '{start_date}' AND '{end_date}'
```
 
### Data Requirements
 
**From MCP Response:**
- `user_location_view.targeting_location` - Whether location is targeted
- `user_location_view.country_criterion_id` - Location identifier
- `metrics.cost_micros`, `metrics.conversions`, `metrics.clicks`
- `metrics.cost_per_conversion` - CPA by location
- `metrics.average_cpc` - Avg CPC by location
 
**User Should Provide:**
- Target CPA or ROAS
- Date range (default: last 30 days)
- Service area constraints (if any)
- Current geo bid adjustments (if known)
 
---
 
## Analysis Framework
 
### Tier 1: Location Performance Ranking
 
**Performance Buckets:**
 
| Tier | CPA vs Target | Volume | Action |
|------|---------------|--------|--------|
| Star | <75% of target | High | Increase bid +15-25% |
| Solid | 75-100% of target | Any | Maintain or slight increase |
| Average | 100-125% of target | Any | Monitor, no change |
| Underperformer | 125-175% of target | Any | Decrease bid -15-25% |
| Bleeder | >175% of target | Any | Decrease bid -30-50% |
| Dead Zone | High spend, 0 conv | Any | Exclude or -50% bid |
 
---
 
### Tier 2: Volume-Weighted Analysis
 
**Not all locations are equal.** A location with 2 conversions at $40 CPA is less reliable than one with 50 conversions at $45 CPA.
 
**Statistical Confidence:**
 
| Conversions | Confidence | Action Threshold |
|-------------|------------|------------------|
| 1-2 | Low | Don't adjust, monitor |
| 3-5 | Medium | Adjust if trend clear |
| 6-10 | Good | Make moderate adjustments |
| 11+ | High | Full adjustment confidence |
 
**Spend Significance:**
- Minimum $50 spend to evaluate
- Minimum $200 spend for confident adjustment
- High volume = more reliable CPA signal
 
---
 
### Tier 3: Bid Adjustment Calculation
 
**Bid Modifier Formula:**
 
```
Target CPA: $50
Location CPA: $40
 
Efficiency Ratio = Target / Actual = 50 / 40 = 1.25 (25% more efficient)
Recommended Bid Modifier = +25%
 
Location CPA: $75
Efficiency Ratio = 50 / 75 = 0.67 (33% less efficient)
Recommended Bid Modifier = -33%
```
 
**Adjustment Caps:**
- Maximum increase: +50% (avoid overspending before validation)
- Maximum decrease: -50% (keep some presence for data)
- Zero conversion locations: -50% or exclude
 
---
 
### Tier 4: Expansion Opportunities
 
**Signals for Location Expansion:**
- Adjacent markets to top performers
- Similar demographic profiles
- Underserved areas with low competition
 
**Signals for Location Exclusion:**
- Consistent 0 conversions with $100+ spend
- CPA consistently 3x+ target
- Outside service area
 
---
 
## Output Format
 
### Executive Summary
 
```
GEO PERFORMANCE HEALTH: 🟢/🟔/šŸ”“
Locations Analyzed: XXX
Period: [dates]
Top Performing Region: [location] (CPA: $XX)
Worst Performing Region: [location] (CPA: $XX)
Estimated Monthly Savings from Optimization: $X,XXX
```
 
---
 
### Top Performers (Increase Bids)
 
| Rank | Location | Spend | Conv | CPA | vs Target | Rec. Bid Adj |
|------|----------|-------|------|-----|-----------|--------------|
| 1 | [City/State] | $X,XXX | XX | $XX | -XX% | +XX% |
| 2 | [City/State] | $X,XXX | XX | $XX | -XX% | +XX% |
| 3 | [City/State] | $X,XXX | XX | $XX | -XX% | +XX% |
 
**Why These Locations Win:**
- [Observation about top performers]
- [Pattern or demographic insight]
 
---
 
### Underperformers (Decrease Bids)
 
| Rank | Location | Spend | Conv | CPA | vs Target | Rec. Bid Adj |
|------|----------|-------|------|-----|-----------|--------------|
| 1 | [City/State] | $X,XXX | X | $XXX | +XX% | -XX% |
| 2 | [City/State] | $X,XXX | X | $XXX | +XX% | -XX% |
 
**Why These Locations Struggle:**
- [Observation about underperformers]
- [Possible reasons: competition, intent mismatch, etc.]
 
---
 
### Dead Zones (Exclude or Minimize)
 
| Location | Spend | Conv | Clicks | Recommendation |
|----------|-------|------|--------|----------------|
| [City/State] | $XXX | 0 | XX | Exclude |
| [City/State] | $XXX | 0 | XX | -50% bid |
 
---
 
### Bid Adjustment Implementation
 
**Campaign: [Campaign Name]**
 
| Location | Current Adj | Recommended | Change |
|----------|-------------|-------------|--------|
| [Location] | +0% | +25% | +25% |
| [Location] | +0% | -30% | -30% |
| [Location] | +10% | +20% | +10% |
 
**Copy-Paste for Bulk Edit:**
```
Location, Bid Adjustment
[Location 1], +25%
[Location 2], -30%
[Location 3], +20%
```
 
---
 
### Geographic Distribution
 
```
REGION SPEND CONV CPA % of TOTAL
────────────────────────────────────────────────────
[Region 1] $X,XXX XX $XX XX%
[Region 2] $X,XXX XX $XX XX%
[Region 3] $X,XXX XX $XX XX%
National Avg $X,XXX XX $XX 100%
```
 
---
 
### Expansion Recommendations
 
**Consider Adding:**
- [Location] - Adjacent to top performer [X], similar demographics
- [Location] - Underserved market, low competition signals
 
**Consider Excluding:**
- [Location] - 90-day 0 conversions, $XXX wasted
- [Location] - Consistently 3x+ target CPA
 
---
 
### Impact Projection
 
**If All Recommendations Implemented:**
 
| Metric | Current | Projected | Change |
|--------|---------|-----------|--------|
| Total Spend | $XX,XXX | $XX,XXX | - |
| Conversions | XXX | XXX | +XX% |
| Blended CPA | $XX | $XX | -XX% |
 
**Confidence Level:** High / Medium / Low
 
**Assumptions:**
- Bid increases don't exhaust efficient inventory
- CPA patterns hold with bid changes
- No major market shifts
 
---
 
## Composability
 
**Chains from:**
- `budget-allocation-optimizer` - Geo insights inform budget decisions
 
**Chains to:**
- `scaling-roadmap-builder` - Top geos feed expansion strategy
- MCP `add_location_targeting` - Can add target locations (a write action: confirm with the user first; it needs a Read & Write connection with the action enabled)
 
---
 
## Limitations
 
**I can assess:**
- Location-level CPA and efficiency
- Bid adjustment recommendations
- Spend distribution by geography
- Expansion/exclusion candidates
 
**I cannot assess:**
- User location vs targeted location nuances
- Local competitive landscape
- Offline conversion attribution by location
- Seasonality patterns by region
 
**For deeper geo analysis:**
- Review auction insights by location (Google Ads UI)
- Check device Ɨ location cross-segments
- Validate with backend conversion quality data
 
---
 
## Quality Checklist
 
Before delivering analysis:
- [ ] Locations ranked by CPA efficiency
- [ ] Volume/confidence noted for each
- [ ] Bid adjustments calculated with formula
- [ ] Dead zones identified with spend impact
- [ ] Copy-paste format provided for implementation
- [ ] Expansion opportunities noted
- [ ] Impact projection included
Ready
UTF-8

How to use Geo Performance Optimizer with Claude

  1. Download the ZIP from this page. It contains a geo-performance-optimizer folder with SKILL.md, HOW_TO_USE.md, sample_input.json, expected_output.json. No account is needed to download it.
  2. Add the folder to Claude as a skill, or paste the contents of SKILL.md into a conversation.
  3. Connect the Google Ads MCP server so Claude can pull live data. Each server page has setup steps for Claude, ChatGPT, Claude Code, Cursor, Gemini CLI and Codex.
  4. Ask Claude for the task in plain language, like the example request above.

Frequently Asked Questions

Common questions about Geo Performance Optimizer and how to use it with Claude.

It uses the user_location_view resource for where people actually were and geographic_view for country-level targeting data, both queried with the Google Ads gaql action.

It can add target locations with add_location_targeting after you confirm. That is a write action, so it needs a Read & Write connection with the action enabled for the account.

Click Download Skill on this page. You get a ZIP file with a geo-performance-optimizer folder containing SKILL.md plus HOW_TO_USE.md, sample_input.json and expected_output.json. Downloading does not require an InsightfulPipe account.

Not to download or read it, and you can paste exported data into Claude. For Claude to pull live data, connect the Google Ads MCP server, which needs an InsightfulPipe plan. Plans start at $29.99/month with a 7-day free trial.

Write actions only work on accounts connected with Read & Write access. Owners, admins and operators can turn individual actions on or off per connected account; disabled actions are hidden from Claude and blocked. Destructive actions such as delete, remove and archive are off by default.

Ready to connect your data?

Join hundreds of agencies and brands using InsightfulPipe to connect marketing data to AI.

Start a free trial today.