/ Blog
Blog Contact Buddy Ads Builder Audit Engine GitHub

Tutorial 1: AI Foundations — Setting Up Your First AI-Powered Marketing Stack

John Williams · Senior Paid Media Specialist · $48M+ Managed · Feb 2026

How do I get started with tutorial 1: ai foundations?
This covers everything you need to know about tutorial 1: ai foundations.

What you’ll learn: How to set up accounts with Claude, OpenAI, and Google Gemini. How to make your first API call. How to choose the right model for each marketing task. Why this matters for your career and your campaigns.

The What: Understanding the AI Models Available to You

ScriptWhat It DoesGitHub Repo
Anomaly DetectionMonitors all campaigns for sudden metric changes, emails alertsgoogle_ads_anomoly_detection_script
Budget ProjectionCalculates daily/monthly pacing, projects end-of-month spendgoogle_ads_budget_projection_script
Negative Keyword ManagerFinds wasteful search queries, recommends/adds negativesgoogleads_negatives_script
Keyword Conflict ResolverDetects when negatives block positive keywordsgoogle_ads_negative_keyword_conflict_script
Impression Share MonitorTracks competitive position over timegoogle_ads_impressionshare_script
Out-of-Stock PauserPauses ads for out-of-stock products automaticallygoogle_ads_script_outofstock_items_script
Auto Label ManagerLabels campaigns based on performance criteriagoogle_ads_create_labels_assign_automatically
Bid AutomationAdjusts bids based on performance rules you definegoogle_ads_bid_automation
Symbol RemoverStrips ™, ©, ® from ad copy automaticallygoogle-ads-symbol-remover
Bulk UploaderMass-create campaigns, ad groups, keywords, RSAs from Sheetsgoogle-ads-bulk-uploader

If you manage paid media in 2026 and you are still using AI only through ChatGPT’s chat interface, you are leaving enormous value on the table. The Stanford HAI 2025 AI Index Report documented that the performance gap between leading AI models has compressed to just 5.4%—meaning the choice of which model to use matters less than how you use it. But using these models through their APIs rather than their chat interfaces unlocks capabilities that the interfaces do not expose: structured outputs, tool use, batch processing, and integration with your advertising platforms.

There are three model families every advertiser should understand: Claude (Anthropic) excels at structured analysis, nuanced reasoning, and following complex instructions—ideal for search query analysis and competitive intelligence. GPT-4o (OpenAI) provides strong general-purpose generation with excellent creative copywriting capabilities. Gemini (Google) integrates natively with Google’s ecosystem and handles multimodal inputs including images and video.

The Why: What This Means for Your Campaigns

ToolWhat It DoesGitHub Repo
Google Ads API Agent28 automation actions, 6 sub-agents, multi-model AI architecturegoogle-ads-api-agent
Creative Asset ValidatorAnalyzes ad creative against 50+ platform best practicescreative-asset-validator
Account GraderComprehensive 10-category account audit with scoringitallstartedwithaidea_google_ads_account_grader
Business Discovery EngineLead discovery with email inference, 9 extraction methodsbusiness-discovery-engine

McKinsey research shows companies using AI for marketing automation reduce customer acquisition costs by 25%. But the key word is using—not subscribing to, not testing, using in production workflows. The difference between a marketer who has a ChatGPT subscription and a marketer who has API access integrated into their campaign management workflow is the difference between owning a gym membership and actually being fit.

The How: Set Up Your AI Development Environment

The How: Set Up Your AI Development Environment

ToolWhat It DoesGitHub Repo
Wrike Calendar AutomationSyncs project management with Google Calendarwrike-calendar-automation
Dealer Email ScraperExtracts contact information from business directoriesdealer_email_scraper
Creative Builder (Frontend)Web-based ad builder with AI-powered copy generationcreative
Sheet Shell DemoGoogle Sheets as a frontend for terminal/script automationsheet-shell-demo
Step 1: Install Python and Essential Libraries

Step 1: Install Python and Essential Libraries

You need Python 3.10+ installed. Open your terminal and verify:

python3 --version    # Should show 3.10 or higher

# If not installed, download from python.org
# Then install the essential libraries:

pip install anthropic openai google-generativeai requests pandas

WHY THESE LIBRARIES: anthropic = Claude API. openai = GPT API. google-generativeai = Gemini API. requests = HTTP calls to any API. pandas = Data analysis for campaign data.

Step 2: Create Your API Accounts and Get Keys

You need accounts with each provider. Here is where to go and what to do:

Anthropic (Claude)

# 1. Go to: https://console.anthropic.com
# 2. Create account > Settings > API Keys > Create Key
# 3. Copy the key (starts with sk-ant-)
# 4. Set a spend limit under Settings > Plans & Billing

# Store it safely in your environment:
export ANTHROPIC_API_KEY='sk-ant-your-key-here'

OpenAI (GPT-4o)

# 1. Go to: https://platform.openai.com
# 2. Create account > API Keys > Create new secret key
# 3. Copy the key (starts with sk-)
# 4. Set usage limits under Settings > Limits

export OPENAI_API_KEY='sk-your-key-here'

Google (Gemini)

# 1. Go to: https://aistudio.google.com
# 2. Click 'Get API Key' > Create API key
# 3. Copy the key

export GOOGLE_API_KEY='your-key-here'
WARNING: NEVER commit API keys to GitHub. Always use environment variables or a .env file with .gitignore. I learned this managing campaigns for NortonLifeLock where a leaked key could compromise millions in ad spend. See my security audit guide at github.com/itallstartedwithaidea for key rotation best practices.

Step 3: Make Your First AI API Call

Create a file called first_ai_call.py and paste this code. This calls Claude to analyze a Google Ads search query report—something I do thousands of times per year managing campaigns:

import anthropic
import os

client = anthropic.Anthropic(
api_key=os.environ.get('ANTHROPIC_API_KEY')
)

# Example: Analyze search queries for waste
search_queries = '''
Query: best running shoes 2024 | Clicks: 45 | Cost: $38.25 | Conversions: 3
Query: running shoes free | Clicks: 23 | Cost: $19.55 | Conversions: 0
Query: nike store near me | Clicks: 12 | Cost: $10.20 | Conversions: 0
Query: how to clean running shoes | Clicks: 8 | Cost: $6.80 | Conversions: 0
'''

message = client.messages.create(
model='claude-sonnet-4-20250514',
max_tokens=1024,
messages=[{
'role': 'user',
'content': f'''You are a senior PPC analyst with 15 years of
experience. Analyze these search queries and recommend:
1. Which queries to add as negative keywords and why
2. Which queries to promote to exact match and why
3. Estimated monthly savings from the negatives

Search Query Report:
{search_queries}'''
}]
)

print(message.content[0].text)

Step 4: Compare Models Side-by-Side

Here is a script that sends the same prompt to all three models so you can see how each responds differently. This is how I evaluated which models to use for each of GoogleAdsAgent.ai’s 28 automation actions:

import anthropic, openai, google.generativeai as genai
import os

prompt = 'Write 3 Google Responsive Search Ad headlines for a
running shoe brand targeting marathon runners. Max 30 characters each.'

# Claude
claude = anthropic.Anthropic()
r1 = claude.messages.create(
model='claude-sonnet-4-20250514', max_tokens=500,
messages=[{'role':'user','content':prompt}]
)
print('=== CLAUDE ===')
print(r1.content[0].text)

# GPT-4o
gpt = openai.OpenAI()
r2 = gpt.chat.completions.create(
model='gpt-4o', messages=[{'role':'user','content':prompt}]
)
print('\n=== GPT-4o ===')
print(r2.choices[0].message.content)

# Gemini
genai.configure(api_key=os.environ.get('GOOGLE_API_KEY'))
model = genai.GenerativeModel('gemini-2.0-flash')
r3 = model.generate_content(prompt)
print('\n=== GEMINI ===')
print(r3.text)

The So What: Where GoogleAdsAgent.ai Takes This Further

Everything above is what I did manually for years before building it into a system. GoogleAdsAgent.ai’s multi-model architecture uses this same approach—Claude for search query analysis, OpenAI for creative generation, SearchAPI for competitive intelligence—but orchestrated through 6 specialized sub-agents that run continuously. You do not need to write these scripts. But understanding how they work makes you a better practitioner and a better evaluator of AI tools.

📦 GitHub: https://github.com/itallstartedwithaidea/google-ads-api-agent — The Python agent architecture powering GoogleAdsAgent.ai’s 28 automation actions

🔗 Resources

Website: https://googleadsagent.ai | GitHub: https://github.com/itallstartedwithaidea | Tools: https://googleadsagent.ai/tools

About the Author

John Williams is a Senior Paid Media Specialist at Seer Interactive with 15+ years managing $48M+ in digital ad spend across Google, Microsoft, Meta, and Amazon. Founder of It All Started With A Idea and creator of GoogleAdsAgent.ai. Speaker at Hero Conf on AI in advertising. Former WSU football player and current assistant football coach at Casteel High School, AZ.

© 2026 It All Started With A Idea. All rights reserved.

Ready to Put This Into Practice?

Get a free 30-day audit of your advertising accounts. John will personally review your setup and provide actionable recommendations.

No credit card · No contract · John will personally reach out within 24 hours

Thank You!

John will review your account and reach out within 24 hours.