This recipe produces a fully configured Google Ads campaign structure — account hierarchy, themed ad groups, keyword sets, responsive search ads, bid strategy selection, and verified conversion tracking — ready to serve ads and acquire customers. The output is a live Google Ads account with documented campaign structure, tested conversion tracking, and initial optimization settings based on 2025–2026 best practices. [src1]
Which path?
├── Budget < $500/mo AND non-technical
│ └── PATH A: Google Ads UI (Express mode) — manual setup, limited features
├── Budget $500-$2K/mo AND any skill level
│ └── PATH B: Google Ads UI (Expert mode) — full feature access, manual management
├── Budget $2K-$10K/mo AND semi-technical+
│ └── PATH C: Google Ads UI + Keyword Planner + Google Ads Scripts
└── Budget $10K+/mo AND developer
└── PATH D: Google Ads API + SEMrush/SpyFu + automated scripts
| Path | Tools | Cost | Speed | Output Quality |
|---|---|---|---|---|
| A: UI Express | Google Ads Express | $0 platform + ad spend | 30 min setup | Basic — limited targeting control |
| B: UI Expert | Google Ads Expert + Keyword Planner | $0 platform + ad spend | 2–3 hours | Good — full manual control |
| C: UI + Scripts | Google Ads + Keyword Planner + Ads Scripts | $0–$39/mo (SpyFu optional) | 3–4 hours | Very good — semi-automated optimization |
| D: API + Premium | Google Ads API + SEMrush ($139/mo) + custom scripts | $139–$250/mo + ad spend | 4–6 hours initial, then automated | Excellent — full automation and competitive intelligence |
Duration: 45–90 minutes · Tool: Google Keyword Planner (free) or SEMrush/SpyFu (paid)
Open Google Keyword Planner from the Tools menu in Google Ads. Enter 5–10 seed keywords related to your product or service. Export the full keyword list with search volumes and CPC estimates. Organize keywords into themed groups of 5–15 related terms per group — each group becomes one ad group following STAG (Single Theme Ad Group) structure.
# Google Keyword Planner workflow:
1. Google Ads → Tools → Keyword Planner → "Discover new keywords"
2. Enter seed keywords (e.g., "project management software")
3. Set location targeting to match your market
4. Filter: Min monthly searches > 100, Competition: Low-Medium
5. Download keyword ideas as CSV
6. Organize into themed groups (5-15 keywords per group)
7. Each group becomes one ad group
Verify: Exported CSV has 100+ keyword ideas with search volume, CPC, and competition data. Keywords organized into 5–15 themed groups. · If failed: If Keyword Planner returns limited data, supplement with Google Autocomplete, AnswerThePublic, or AlsoAsked.com.
Duration: 30–60 minutes · Tool: Google Ads UI (Expert mode)
Create campaigns using the STAG (Single Theme Ad Group) structure — the 2026 standard that replaced SKAGs. Group 5–15 closely related keywords by intent theme per ad group. Create separate campaigns for brand terms, non-brand core terms, competitor terms, and Performance Max. [src2]
# Campaign structure example:
# CAMPAIGN 1: "Brand — [Company Name]"
# Ad Group: Brand Terms (branded keywords)
#
# CAMPAIGN 2: "Non-Brand — Core Product"
# Ad Group: Product Category A (5-15 themed keywords)
# Ad Group: Product Category B (5-15 themed keywords)
#
# CAMPAIGN 3: "Non-Brand — Competitor"
# Ad Group: Competitor A Alternative
# Ad Group: Competitor B Alternative
#
# CAMPAIGN 4: "Performance Max" (budget > $2K/mo)
# Single asset group with all creatives
#
# Setup: + New campaign → Objective → Search →
# Set geo, language, daily budget, then create ad groups
Verify: Campaign structure visible in Google Ads with all ad groups populated. No keyword conflicts across ad groups. Geographic targeting matches target market. · If failed: Use Google Ads Editor (desktop app) to bulk-identify and resolve duplicate keyword conflicts.
Duration: 45–60 minutes · Tool: Google Ads UI
Write RSAs for each ad group. Each RSA needs 8–10 unique headlines (max 30 characters each) and 3–4 descriptions (max 90 characters each). Include primary keywords in at least 3 headlines. Only pin critical elements — over-pinning restricts optimization. [src5]
# RSA template per ad group:
# Headlines (8-10, each unique, max 30 chars):
# H1: [Primary keyword]
# H2: [Key benefit]
# H3: [Social proof / numbers]
# H4: [Call-to-action]
# H5: [Price or offer]
# H6: [Differentiator]
# H7: [Urgency element]
# H8: [Feature highlight]
# H9: [Brand name]
# H10: [Question format]
#
# Descriptions (3-4, each unique, max 90 chars):
# D1: [Value prop + CTA]
# D2: [Features + social proof]
# D3: [Objection handling]
# D4: [Competitor differentiation]
#
# Pinning: Only pin brand to H1 (brand campaigns)
# Leave all other positions unpinned for optimization
Verify: Each ad group has 1 RSA with ad strength “Good” or “Excellent.” All headlines unique. Character limits respected (30 chars headlines, 90 chars descriptions). · If failed: If ad strength shows “Poor” or “Average,” add more diverse headlines with numbers, questions, and varied CTAs.
Duration: 15–30 minutes · Tool: Google Ads UI
Select bid strategy based on conversion data maturity and budget. New accounts must start conservative and graduate to Smart Bidding as conversion data accumulates. [src1]
# Bid strategy progression:
# < 15 conversions/month:
# Use "Maximize Clicks" + max CPC cap
# Cap = 2x (target CPA / expected CVR)
# Run 2-4 weeks to accumulate data
#
# 15-30 conversions/month:
# Switch to "Maximize Conversions"
# Let algorithm learn for 2 weeks
#
# 30+ conversions/month:
# Switch to "Target CPA" or "Target ROAS"
# Initial target = 20% above actual CPA
# Tighten 5-10% every 2 weeks
#
# Budget allocation:
# Brand: 10-15% | Non-brand core: 50-60%
# Competitor: 15-20% | PMax: 15-25%
Verify: Bid strategy matches conversion data maturity. Daily budgets sum to monthly target. Max CPC caps set for Maximize Clicks. No Smart Bidding on accounts with < 15 monthly conversions. · If failed: If Smart Bidding was enabled prematurely and CPA spikes, switch back to Maximize Clicks, accumulate 30+ conversions, then retry.
Duration: 30–60 minutes · Tool: Google Tag Manager + Google Analytics 4
Implement conversion tracking before campaigns go live. Use Google Tag Manager for tag deployment and GA4 for measurement. Enable Enhanced Conversions for accuracy. Implement Consent Mode v2 for EU traffic compliance. [src4]
# 5a: Create conversion actions in Google Ads
# Goals → Conversions → + New conversion action
# Configure: category, value (static or dynamic), counting
#
# 5b: Deploy via Google Tag Manager
# Tags → New → Google Ads Conversion Tracking
# Enter Conversion ID + Label, set trigger
# Enable Enhanced Conversions (hashed email/phone)
#
# 5c: Link GA4 to Google Ads
# GA4 Admin → Product Links → Google Ads Links
# Import GA4 conversions into Google Ads
#
# 5d: Consent Mode v2 (required for EU)
# GTM: add Consent Mode tag, set default denied
# Update consent on user acceptance via CMP
#
# 5e: Test with Google Tag Assistant extension
# Submit test conversion, verify in Ads within 24h
Verify: Tag Assistant shows green checkmarks. Test conversion appears in Google Ads within 24 hours. Enhanced Conversions diagnostic shows “Recording data.” GA4 linked. · If failed: If tags do not fire, check GTM trigger conditions. If conversions missing, verify Conversion ID and Label match. If Enhanced Conversions fail, check hashed user data field mappings.
Duration: 20–30 minutes · Tool: Google Ads UI
Add ad extensions (assets) to increase ad real estate and CTR. Complete the pre-launch checklist before enabling campaigns.
# Required extensions (assets):
# 1. Sitelinks (4+): Pricing, Features, Free Trial, Case Studies
# 2. Callouts (4+): Free Trial, No Credit Card, 24/7 Support
# 3. Structured snippets: Features, Types/Plans
# 4. Call extension (if applicable)
# 5. Image extensions: 3-5 images (1.91:1 + 1:1)
#
# Pre-launch checklist:
# [ ] Conversion actions verified
# [ ] Bid strategy matches data maturity
# [ ] Daily budgets correct (monthly / 30.4)
# [ ] Geographic targeting confirmed
# [ ] Negative keywords added
# [ ] Landing page URLs tested (no 404s)
# [ ] UTM parameters configured
# [ ] Campaign set to Paused for final review
Verify: All campaigns show “Eligible” status. Ad extensions approved. Billing verified. Conversion tracking active. · If failed: If ads disapproved, check Google Ads Policy Center. Common issues: trademark terms, misleading claims, landing page mismatches.
{
"output_type": "google_ads_campaign_structure",
"format": "JSON",
"columns": [
{"name": "campaign_name", "type": "string", "description": "Campaign name: Type — Theme", "required": true},
{"name": "campaign_type", "type": "string", "description": "Search, Performance Max, Display, Shopping, or Video", "required": true},
{"name": "daily_budget", "type": "number", "description": "Daily budget in account currency", "required": true},
{"name": "bid_strategy", "type": "string", "description": "Maximize Clicks, Maximize Conversions, Target CPA, or Target ROAS", "required": true},
{"name": "ad_group_name", "type": "string", "description": "Ad group name matching keyword theme", "required": true},
{"name": "keywords", "type": "array", "description": "Keywords with match types", "required": true},
{"name": "rsa_headlines", "type": "array", "description": "8-10 headlines, max 30 chars each", "required": true},
{"name": "rsa_descriptions", "type": "array", "description": "3-4 descriptions, max 90 chars each", "required": true},
{"name": "conversion_actions", "type": "array", "description": "Configured conversion actions with IDs", "required": true},
{"name": "geographic_targeting", "type": "string", "description": "Countries, regions, or radius targeting", "required": true},
{"name": "negative_keywords", "type": "array", "description": "Negative keyword lists", "required": false}
],
"expected_row_count": "3-8 campaigns, 5-25 ad groups",
"sort_order": "campaign priority descending",
"deduplication_key": "ad_group_name"
}
| Quality Metric | Minimum Acceptable | Good | Excellent |
|---|---|---|---|
| Ad Strength (RSA) | Average | Good | Excellent |
| Keywords per ad group | 5 | 8–12 | 12–15 themed |
| Unique headlines per RSA | 5 | 8–10 | 12–15 |
| Conversion tracking verified | 1 action | 2–3 actions | 3–5 actions + Enhanced Conversions |
| Click-through rate (Search) | > 3% | > 5% | > 8% |
| Quality Score average | 5/10 | 7/10 | 8+/10 |
| Landing page experience | Average | Above Average | Above Average + fast load |
If below minimum: Re-review ad copy relevance to keyword themes (Quality Score), add more diverse headlines (Ad Strength), verify landing page matches ad promise (landing page experience). Low CTR may indicate poor ad position — increase bids or improve ad relevance. [src3]
| Error | Likely Cause | Recovery Action |
|---|---|---|
| Ads not serving — “Campaign limited by budget” | Daily budget too low relative to keyword CPC bids | Increase daily budget or reduce keyword scope to highest-priority ad groups |
| Ads disapproved — policy violation | Trademark use, misleading claims, or landing page mismatch | Check Google Ads Policy Center, revise ad copy, ensure landing page matches ad promise |
| Conversion tracking shows 0 after 48 hours | Tag not firing, wrong Conversion ID, or trigger misconfigured | Use Google Tag Assistant to debug; verify GTM trigger conditions and Conversion ID/Label |
| Quality Score below 4/10 | Low ad relevance — keyword-to-ad mismatch | Restructure ad group: tighten keyword theme, rewrite headlines to include primary keyword |
| Smart Bidding CPA 3x+ above target | Insufficient conversion data or wrong conversions tracked | Switch to Manual CPC, verify only valuable conversions tracked, re-enable after 30+ monthly conversions |
| Billing issue — ads paused | Payment method declined or budget exhausted | Update billing at Google Ads → Billing → Payment Methods; verify bank/card is active |
| PMax spending with no conversions | Asset group quality too low or audience signals too broad | Add better creative assets, refine audience signals with customer lists, exclude irrelevant placements |
| Component | Free Tier | Paid Tier | At Scale |
|---|---|---|---|
| Google Ads platform | $0 | $0 | $0 |
| Keyword research (Keyword Planner) | $0 (with active ads) | $0 | $0 |
| Keyword research (SEMrush) | N/A | $139/mo | $249/mo |
| Keyword research (SpyFu) | N/A | $39/mo | $79/mo |
| Google Tag Manager | $0 | $0 | $0 |
| Google Analytics 4 | $0 | $0 | $0 (up to 10M events/mo) |
| Server-side tagging (Stape) | N/A | $20/mo | $100/mo |
| Ad management (Optmyzr) | N/A | $249/mo | $499/mo |
| Total (excl. ad spend) | $0 | $39–$139/mo | $249–$500+/mo |
| Ad spend (typical) | $300–$500/mo | $2,000–$10,000/mo | $10,000–$100,000+/mo |
Enabling Target CPA or Target ROAS on an account with zero conversion history. The algorithm has no data to optimize against, resulting in wildly inefficient spend — often 3–5x the target CPA for weeks. [src1]
Start with Maximize Clicks (with CPC cap) for 2–4 weeks. Once the account has 15–30 monthly conversions, switch to Maximize Conversions. After 30+ conversions, set Target CPA or Target ROAS at 20% above actual performance and tighten gradually.
Stuffing dozens of loosely related keywords into a single ad group. Ad relevance tanks because one RSA cannot speak to 50 different search intents. Quality Score drops, CPC rises, and CTR plummets. [src2]
Group keywords by shared intent. Each ad group gets a tailored RSA that directly addresses that theme. This is the 2026 best practice — SKAGs are no longer recommended for most accounts.
Not adding negative keywords from day one. Without negatives, campaigns match on irrelevant queries — wasting 20–40% of budget on non-converting clicks. [src3]
Create account-level negative keyword lists before launch. Add common exclusions (free, jobs, salary, internship, DIY, tutorial). Review Search Terms Report weekly for the first month, then bi-weekly.
Use when the agent needs to build and launch actual Google Ads campaigns, not evaluate whether paid search is the right channel. Requires landing pages, a conversion goal, and a budget. Most effective for businesses targeting search-intent traffic where users actively look for solutions — e-commerce, SaaS, local services, and B2B lead generation.