---
title: AI-Driven Google Ads Optimization Tool
type: article
created: '2026-03-18'
updated: '2026-03-18'
source_docs:
- raw/2026-03-18-weekly-call-inventory-performance-marketing-130927254.md
tags:
- google-ads
- ai-tools
- performance-marketing
- bidding-strategy
- conversion-tracking
- negative-keywords
- remarketing
layer: 2
client_source: null
industry_context: null
transferable: true
---

# AI-Driven Google Ads Optimization Tool

## Overview

An AI agent has been developed and demoed internally that automates the full Google Ads audit and optimization workflow. The agent runs locally on a user's machine, connects to Google Ads, Google Analytics, Google Tag Manager, and Google Drive, and executes a structured 14–15 step audit process — then applies fixes directly to the account in real time.

The tool was first demoed live against the [[clients/cordwainer/_index|Cordwainer]] Google Ads account, where it identified and resolved multiple critical structural errors in under 10 minutes that had likely been degrading campaign performance for months.

---

## How It Works

The agent is installed locally (requires Python and a small set of dependencies). It is invoked with a target client account and runs through a structured sequence of steps:

1. Reads the client profile (business type, region, services)
2. Checks the website for conversion points
3. Reviews OKRs for the current quarter
4. Audits Google Tag Manager and Google Analytics for conversion tracking integrity
5. Pulls Google Ads account structure, campaigns, ad groups, keywords, and bidding settings
6. Reviews the search term report for irrelevant traffic and keyword gaps
7. Checks conversion settings (primary vs. secondary, assigned values)
8. Reviews negative keyword lists
9. Checks audience and remarketing configuration
10. Reviews budget allocation against known spend targets
11. Cross-references organic baseline from Google Analytics
12. Compares findings against the previous audit (if one exists)
13. Generates a prioritized list of issues
14. Executes approved fixes directly via the Google Ads API

Setup requires a one-time configuration call with Mark. See [[people/mark-hope|Mark Hope]] to schedule.

---

## Common Issues Found in Audits

The agent consistently surfaces the same categories of structural errors across accounts. These are the highest-impact problems to fix:

### 1. Bidding Strategy Mismatch

**Pattern:** Accounts using `Target ROAS` or `Maximize Conversion Value` when no meaningful conversion values are assigned, or using `Maximize Conversions` when there are zero recorded conversions.

**Why it matters:** Google's algorithm is blind without signal. If conversion values are set to `$1` across the board, Google treats every lead as nearly worthless and bids accordingly — suppressing volume and quality.

**Fix:** 
- For lead-gen accounts with no conversion history: use `Maximize Clicks` for the first 60 days to build signal.
- Once conversions are accumulating: switch to `Maximize Conversions`.
- Assign realistic monetary values to conversion actions based on estimated deal value × close rate × margin.

**Example (Cordwainer):** The account was running `Target ROAS` on a lead-gen account with zero conversion values assigned. The agent switched all campaigns to `Maximize Conversions`.

**Conversion value estimation formula:**
```
Lead Value = (Average Deal Size × Close Rate × Margin)
```
Example: $10k/month client × 12 months × 10% close rate × 50% margin = **$6,000 per lead**

### 2. Conversion Tracking Pollution

**Pattern:** All conversion actions marked as "Primary," giving Google no way to prioritize what to optimize for.

**Why it matters:** If 8–10 actions are all marked Primary (page views, scroll depth, form submits, calls, etc.), the algorithm has no clear objective. It will optimize for the easiest-to-achieve actions, not the most valuable ones.

**Fix:** Designate only 2–3 high-intent actions as Primary (e.g., form submission, phone call, meeting booking). Set everything else to Secondary.

**Caveat:** Legacy "Smart Campaign" conversions may be locked as Primary by Google and cannot be changed programmatically. These require manual resolution or account restructuring.

**Example (Cordwainer):** All 8 conversions were Primary. 6 were locked Smart Campaign conversions. The agent assigned monetary values to the unlocked ones to partially correct the signal.

### 3. Missing Negative Keywords

**Pattern:** Main campaigns running with no negative keyword lists attached.

**Why it matters:** Without negatives, budget is wasted on irrelevant queries — competitor brand names, job seekers, unrelated geographies, etc.

**Fix:** The agent generates and applies a comprehensive negative keyword list including:
- Competitor brand terms (exact and phrase match)
- Own brand terms on non-brand campaigns (to prevent cannibalization)
- Irrelevant modifiers (e.g., "free," "DIY," "jobs," "reviews")

**Example (Cordwainer):** No negative keywords were active on any main campaign. The agent added 16 competitor terms and 5 brand terms as negatives.

### 4. Missing Brand Campaign

**Pattern:** No dedicated brand keyword campaign, meaning competitor ads may appear for branded searches and brand traffic is mixed into general campaigns.

**Fix:** Create a separate exact-match brand campaign with its own budget. This protects branded traffic, typically converts at very high rates, and keeps brand CPCs low.

**Example (Cordwainer):** The agent created a new exact-match brand campaign from scratch.

### 5. Poor Landing Page Relevance

**Pattern:** All ad traffic directed to the homepage rather than dedicated, intent-matched landing pages.

**Why it matters:** Quality Score is heavily influenced by landing page relevance. Low Quality Scores mean higher CPCs and lower ad positions.

**Fix:** Create dedicated landing pages matched to each campaign's intent. Coordinate with the web team to build these pages before launching or scaling campaigns.

**Example (Cordwainer):** All traffic was going to the generic homepage. Action item: [[people/sebastian-gant|Sebastian]] to build a dedicated landing page.

### 6. Broken Ad Extensions

**Pattern:** Sitelinks or other extensions pointing to 404 pages.

**Fix:** The agent checks all extension URLs and flags or fixes broken links.

**Example (Cordwainer):** One sitelink was pointing to a 404. The agent fixed it automatically.

### 7. No Remarketing Audiences

**Pattern:** Campaigns running with no remarketing audiences attached, missing the opportunity to re-engage past site visitors at lower cost.

**Fix:** Create remarketing audiences in Google Ads (website visitors, converters, etc.) and attach them to all campaigns in observation mode initially. Once lists are large enough, launch dedicated remarketing campaigns.

**Note:** Newly created audiences need time to populate (typically 30+ days) before remarketing ads can run effectively. Display creative assets are required — coordinate with the design team.

**Example (Cordwainer):** No remarketing audiences existed. The agent created and attached them to all campaigns. Display images still needed from the design team.

### 8. Budget Misalignment

**Pattern:** Google Ads budget not calibrated against total client ad spend across channels.

**Fix:** Confirm total monthly ad budget (Google + Meta + other), then allocate Google's share appropriately.

**Example (Cordwainer):** Total budget was $2k/month (Google + Meta). The agent optimized Google Ads budget to ~$1,490/month.

---

## Applying This to Other Accounts

This audit framework applies to all Google Ads accounts under management. Priority order for review:

1. Accounts with `Target ROAS` or `Maximize Conversion Value` and no meaningful conversion values
2. Accounts with all conversions marked Primary
3. Accounts with no negative keyword lists
4. Accounts with no brand campaign
5. Accounts sending all traffic to the homepage

See also: [[knowledge/google-ads/conversion-tracking-best-practices|Conversion Tracking Best Practices]] and [[knowledge/google-ads/bidding-strategy-selection|Bidding Strategy Selection]].

---

## Setup & Access

- **Runs locally** on the operator's machine
- **Requires:** Python, Google Ads API credentials, access to client's Google Ads / GA4 / GTM accounts
- **Setup:** Schedule a configuration call with [[people/mark-hope|Mark Hope]]
- **Current users:** Mark Hope
- **Planned rollout:** [[people/gilbert-barrongo|Gilbert Barrongo]] (setup call scheduled)

---

## Related Clients

- [[clients/cordwainer/_index|Cordwainer]] — First live demo; multiple critical fixes applied 2026-03-18