How This Plan Was Built
5 AI agents independently researched and built complete Google Ads plans, each from a different marketing school of thought. Each agent had access to your live landing pages, GSC data, and business context. Their plans were then scored on 10 scientific criteria and the best elements integrated into one plan.
Performance Max
ABM + Intent
Direct Response
Local Services
Data-Driven SaaS
Scientific Scoring
Each plan scored 1-10 on 10 criteria. Weights reflect what matters most for your specific situation: small budget, Indonesia B2B, WhatsApp conversion, zero Google Ads history.
| Criteria | Wt | A1 | A2 | A3 | A4 | A5 |
|---|---|---|---|---|---|---|
| Market Relevance (ID B2B) | 15% | 8 | 7 | 7 | 9 | 7 |
| Budget Realism (Rp 150-250K/day) | 15% | 9 | 7 | 8 | 9 | 8 |
| Actionability (implement today) | 15% | 9 | 7 | 8 | 9 | 7 |
| Measurement Quality | 10% | 8 | 7 | 6 | 7 | 10 |
| Risk Management | 10% | 7 | 6 | 8 | 7 | 9 |
| Keyword Quality | 10% | 8 | 9 | 8 | 8 | 8 |
| Ad Copy Quality | 5% | 8 | 7 | 9 | 9 | 8 |
| Optimization Path | 10% | 8 | 7 | 7 | 8 | 9 |
| Unique Insights | 5% | 7 | 8 | 9 | 9 | 9 |
| Completeness | 5% | 9 | 9 | 8 | 9 | 9 |
| WEIGHTED SCORE | 8.20 | 7.25 | 7.60 | 8.40 | 8.15 |
Agent Plan Summaries
Agent 1: Performance Max Score: 8.20 / #2
School: WordStream, SEJ, PPC Hero, Optmyzr
Structure: 2 campaigns, 6 ad groups (3+3). Rp 150K/day (67/33 split).
Key Strengths:
- Best LP audit — 16 specific recommendations with source citations (sticky CTA, client logos, process section, pricing indicator)
- 3-3-3 RSA framework: 3 keyword variants, 3 value props, 3 trust signals per RSA — ensures any Google combination is coherent
- Most thorough conversion tracking setup (3-phase automation path: manual → Lark bot → API)
- Enhanced CPC explicitly OFF at start (others kept it ambiguous)
- Cross-campaign negatives to prevent cannibalization (psikotes ≠ training)
Key Weaknesses:
- No web research (tools were blocked) — relied purely on prior knowledge
- No seasonal/Ramadan timing considerations
- No remarketing plan
- Conservative budget (Rp 150K) may be too thin to learn fast
Best Ideas Taken: LP audit, 3-3-3 framework, eCPC OFF, cross-campaign negatives, conversion tracking phases
Agent 2: ABM + Intent Score: 7.25 / #5
School: Demandbase, 6sense, LinkedIn B2B Institute
Structure: 3 campaigns (2 search + 1 remarketing), 10 ad groups. Rp 200K/day (65/25/10 split).
Key Strengths:
- Only plan with a remarketing campaign — critical for B2B (avg 7+ touchpoints per Gartner)
- Intent-stage labeling on every keyword (Decision/Consideration/Awareness) — most organized structure
- English-savvy HR ad group (targeting MNCs that search in English)
- Blog visitor remarketing as Phase 2 — leverages SP's massive organic traffic
- Best keyword intent scoring system
Key Weaknesses:
- 10 ad groups is too many for Rp 200K/day — budget fragmentation risk
- Remarketing at 10% budget (Rp 20K/day) is too small to be meaningful
- Overengineered for current budget level — ABM is a big-company framework
- No Indonesia-specific insights (seasonal, geo, CPC benchmarks)
Best Ideas Taken: Intent-stage labeling, remarketing concept (deferred to Month 2), English-savvy HR angle
Agent 3: Direct Response Score: 7.60 / #4
School: Perry Marshall, Dan Kennedy, DigitalMarketer
Structure: 2 campaigns, 11 ad groups (5+6). Rp 150K/day (60% IHT / 40% Psikotes — contrarian).
Key Strengths:
- Contrarian budget split — 60% IHT because zero organic = highest marginal ROI from paid. Strong economic reasoning.
- Best ad copy quality — direct response principles: specificity, urgency, social proof, risk reversal in every ad
- "Peel and stick" keyword expansion strategy — systematic way to grow
- Pin strategy: H1 = keyword, H2 = social proof, H3 = CTA — ensures coherent ad at all times
- Device bid adjustments: Desktop +10%, Tablet -20%
Key Weaknesses:
- 11 ad groups at Rp 150K/day is way too fragmented — some groups would get <Rp 15K/day
- IHT-heavy budget is risky: IHT search volume is UNKNOWN (zero organic data to estimate)
- Weak measurement framework — no offline conversion strategy
- ROAS projections are lower than other agents (1.88x Month 1) — pessimistic or realistic?
Best Ideas Taken: Direct response ad copy principles, pin strategy, device bid adjustments, peel-and-stick concept
Agent 4: Local Services Score: 8.40 / #1 WINNER
School: LocaliQ, BrightLocal, Moz Local, Indonesia/SEA PPC
Structure: 2 campaigns, 8 ad groups (4+4). Rp 150K/day (67/33 split).
Key Strengths:
- Best Indonesia-specific insights — Ramadan timing, post-Lebaran surge, seasonal HR calendar, Friday prayer drop
- Geo-targeting tiers — Jabodetabek +20%, major cities 0%, rest -15%. Location option "People IN" not "interested in"
- Most practical ad schedule — different bid adjustments per day of week (Mon-Wed +10%, Fri -10%, Sat-Sun OFF)
- Competitor positioning matrix — mapped SP vs traditional biro, HR tech, international, freelance
- Most comprehensive ad extensions (sitelinks with URLs + descriptions, callouts, snippets, call)
- Realistic CPC benchmarks for Indonesia (Rp 2-8K for B2B)
- 4 ad groups per campaign = right balance for this budget
Key Weaknesses:
- No offline conversion import strategy
- No cross-channel (Meta) coordination plan
- No statistical reasoning for test validity
- Conservative on Smart Bidding transition timeline
Best Ideas Taken: EVERYTHING on Indonesia-specific strategy, geo-tiers, seasonal calendar, ad schedule, extensions, competitor positioning
Agent 5: Data-Driven SaaS Score: 8.15 / #3
School: Directive Consulting, HubSpot, Refine Labs, SaaStr
Structure: 2+1 campaigns (search + optional brand), 8 ad groups. Rp 225K/day (67/33 split).
Key Strengths:
- Best measurement framework — 4-layer attribution (native → GCLID → offline import → cross-channel), Supabase table schemas, pipeline velocity metrics
- Statistical significance reasoning — exact calculation of minimum clicks needed per test (100-400), realistic test cadence (1/month at this budget)
- Sequenced experiment design (5 tests over 12 weeks) — each with hypothesis, method, decision criteria
- Cross-channel strategy (Google + Meta coordination) — "surround sound" effect
- Incrementality testing plan (geo-based or pause test) for Month 3+
- LTV-based bidding roadmap for Month 6+ (different keyword → different LTV)
- Clear "when to scale / when to cut / when to pivot" thresholds
- "Customer Generation" framework over lead gen — target buyers, not leads
Key Weaknesses:
- Higher budget (Rp 225K/day) than requested range minimum
- No Indonesia-specific insights (seasonal, CPC benchmarks, geo strategy)
- Overly academic — some concepts (incrementality testing, LTV bidding) are Month 6+ material, not Week 1
- Ad copy less polished than Agents 3 and 4
Best Ideas Taken: Measurement framework, Supabase schemas, experiment sequence, scale/cut thresholds, cross-channel strategy, offline conversion pipeline
Key Disagreements Between Agents
1. Budget Split: Psikotes vs IHT
Agents 1,2,4,5: 60-67% Psikotes. Agent 3: 60% IHT.
Verdict: 65% Psikotes / 35% IHT. Agent 3's logic (IHT = zero organic = highest marginal value) is sound but risky — IHT search volume is unknown. Psikotes has proven revenue and known demand. We give IHT slightly more than most agents suggested (35% vs 33%) to test Agent 3's thesis.
2. Number of Ad Groups
Agent 3: 11. Agent 2: 10. Agents 1,4,5: 6-8.
Verdict: 8 ad groups (4+4). At Rp 200K/day, each group gets ~Rp 25K — enough for 5-8 clicks/day to learn. 11 groups would mean <2 clicks/day per group — insufficient data.
3. Starting Daily Budget
Agents 1,3,4: Rp 150K. Agent 2: Rp 200K. Agent 5: Rp 225K.
Verdict: Rp 200K/day. Agent 5's statistical reasoning is compelling — you need enough clicks to learn within 2-3 weeks. Rp 150K spreads too thin across 8 ad groups. Rp 225K is above comfort zone. Rp 200K is the sweet spot.
4. Enhanced CPC at Launch
Agent 1: OFF. Agent 5: ON. Others: ambiguous.
Verdict: OFF for Week 1-2, ON from Week 3. Agent 1's reasoning is correct — eCPC adjusts bids up to 100% based on conversion likelihood, but with zero conversion data it guesses randomly.
5. Remarketing at Launch
Agent 2: Yes (10% budget). Others: No/Later.
Verdict: Not at launch. Add at Week 6+ when LP visitor audience > 500. Rp 20K/day remarketing is too small for meaningful impressions. Build the audience first through search campaigns.
The Integrated Plan
Best elements from all 5 agents, resolved disagreements, one actionable plan.
Strategy
- B2B Only No B2C — target HR managers and corporate buyers exclusively
- Don't Cannibalize Organic SP ranks #1 for "psikotes online" (6,743 clicks/3mo). Ads target commercial-intent queries where organic is absent
- WhatsApp Conversion CTA = WhatsApp click with GCLID passthrough for offline attribution
- Manual CPC, eCPC OFF Zero conversion history — manual control first, Smart Bidding at Week 5+ with 15+ conversions
- Customer Generation Not lead gen. Capture existing demand from active buyers, not awareness
- Ramadan Timing Launch now at conservative bids. Post-Lebaran surge (Apr 1-7) = increase budget +30%
Campaign-Level Settings
| Setting | Campaign 1: Psikotes | Campaign 2: IHT |
|---|---|---|
| Type | Search | Search |
| Network | Search ONLY (disable Display + Partners!) | Search ONLY |
| Location | Indonesia — "People IN" not "interested in" | Same |
| Language | Indonesian + English | Indonesian + English |
| Schedule | Mon-Fri 07:00-19:00 WIB | Mon-Fri 07:00-19:00 WIB |
| Daily Budget | Rp 130,000 | Rp 70,000 |
| Bidding | Manual CPC, eCPC OFF | Manual CPC, eCPC OFF |
| Rotation | Optimize: Prefer best performing | Same |
Geo-Targeting Tiers from Agent 4
Tier 1: Jabodetabek
Jakarta, Bogor, Depok, Tangerang, Bekasi
Bid: +20%
Highest corporate density, most B2B deals
Tier 2: Major Cities
Surabaya, Bandung, Medan, Semarang, Makassar, Yogyakarta, Balikpapan
Bid: 0% (baseline)
Secondary business hubs
Tier 3: Rest of Indonesia
All other locations
Bid: -15%
Lower conversion potential
Ad Schedule from Agent 4
07-19 WIB
+10%
07-19 WIB
+10%
07-19 WIB
+10%
07-19 WIB
0%
07-14 WIB
-10%
OFF
-
OFF
-
Campaign 1: Psikotes Corporate
SP ranks #1 organically for "psikotes online" but NOT for commercial B2B queries. These ad groups target HR buyers actively looking for vendors.
Landing Page: ads.spcollective.id/lp/psikotes-corporate.html
Ad Group 1A: Jasa Psikotes Decision Stage
Vendor/provider search — highest commercial intent. Max CPC: Rp 10,000
| Keyword | Match | Est. CPC | Intent |
|---|---|---|---|
| [jasa psikotes karyawan] | Exact | Rp 8-12K | 10/10 |
| "jasa psikotes karyawan" | Phrase | Rp 6-10K | 10/10 |
| "jasa psikotes perusahaan" | Phrase | Rp 6-10K | 10/10 |
| "jasa psikotes rekrutmen" | Phrase | Rp 6-10K | 10/10 |
| "vendor psikotes online" | Phrase | Rp 5-8K | 10/10 |
| "vendor psikotes perusahaan" | Phrase | Rp 5-8K | 10/10 |
| "penyedia psikotes online" | Phrase | Rp 5-8K | 9/10 |
| "layanan psikotes perusahaan" | Phrase | Rp 5-8K | 9/10 |
| "psikotes online untuk perusahaan" | Phrase | Rp 4-7K | 8/10 |
Ad Group 1B: Assessment & Asesmen Decision Stage
Assessment/HR platform queries. Max CPC: Rp 8,000
| Keyword | Match | Est. CPC | Intent |
|---|---|---|---|
| [assessment karyawan] | Exact | Rp 8-12K | 9/10 |
| "assessment karyawan" | Phrase | Rp 6-10K | 9/10 |
| "asesmen psikologi karyawan" | Phrase | Rp 5-8K | 9/10 |
| "asesmen rekrutmen" | Phrase | Rp 5-8K | 8/10 |
| "asesmen kompetensi karyawan" | Phrase | Rp 5-8K | 9/10 |
| "psikotes hrd" | Phrase | Rp 5-8K | 9/10 |
| "asesmen sdm" | Phrase | Rp 4-7K | 8/10 |
| "platform assessment online" | Phrase | Rp 5-8K | 8/10 |
Ad Group 1C: Rekrutmen & Seleksi Consideration
Recruitment/selection testing queries. Max CPC: Rp 6,000
| Keyword | Match | Est. CPC | Intent |
|---|---|---|---|
| "tes seleksi karyawan" | Phrase | Rp 4-7K | 7/10 |
| "tes rekrutmen karyawan" | Phrase | Rp 4-7K | 7/10 |
| "psikotes rekrutmen" | Phrase | Rp 3-6K | 7/10 |
| "psikotes seleksi karyawan" | Phrase | Rp 3-6K | 7/10 |
| "tes psikologi calon karyawan" | Phrase | Rp 3-5K | 7/10 |
| "tes potensi karyawan" | Phrase | Rp 3-5K | 6/10 |
Ad Group 1D: Psikotes Spesifik Consideration
Specific test type queries (DISC, Big Five, personality). Max CPC: Rp 6,000
| Keyword | Match | Est. CPC | Intent |
|---|---|---|---|
| "tes kepribadian karyawan" | Phrase | Rp 3-6K | 7/10 |
| "tes disc karyawan" | Phrase | Rp 3-6K | 7/10 |
| "psikotes disc perusahaan" | Phrase | Rp 3-6K | 7/10 |
| "tes minat bakat karyawan" | Phrase | Rp 3-5K | 6/10 |
| "psikotes online perusahaan" | Phrase | Rp 4-7K | 7/10 |
| "talent assessment" | Phrase | Rp 4-8K | 8/10 |
Ad Copy — Psikotes Corporate RSA
3-3-3 framework (Agent 1) + direct response principles (Agent 3). Pin H1=keyword, H2=proof, H3=CTA.
Headlines (30 char max)
Descriptions (90 char max)
Campaign 2: In-House Training
IHT keywords have ZERO organic presence — only 15 queries in top 5,000 GSC results. This is pure paid territory. Every click is net-new visibility.
Landing Page: ads.spcollective.id/lp/in-house-training.html
Ad Group 2A: Vendor Training Decision Stage
Companies actively searching for training vendors. Max CPC: Rp 8,000
| Keyword | Match | Est. CPC | Intent |
|---|---|---|---|
| [in house training perusahaan] | Exact | Rp 8-12K | 10/10 |
| "jasa in house training" | Phrase | Rp 5-8K | 10/10 |
| "jasa training karyawan" | Phrase | Rp 4-8K | 10/10 |
| "vendor training karyawan" | Phrase | Rp 5-8K | 10/10 |
| "penyedia pelatihan karyawan" | Phrase | Rp 4-7K | 9/10 |
| "lembaga training karyawan" | Phrase | Rp 5-8K | 9/10 |
| "jasa pelatihan sdm" | Phrase | Rp 5-8K | 9/10 |
| "in house training jakarta" | Phrase | Rp 5-8K | 9/10 |
Ad Group 2B: Training Mental Health Consideration
SP's core differentiator — psychology-based wellness training. Max CPC: Rp 7,000
| Keyword | Match | Est. CPC | Intent |
|---|---|---|---|
| "training mental health karyawan" | Phrase | Rp 3-7K | 9/10 |
| "pelatihan kesehatan mental karyawan" | Phrase | Rp 2-6K | 8/10 |
| "training stress management karyawan" | Phrase | Rp 3-6K | 8/10 |
| "training wellbeing karyawan" | Phrase | Rp 2-5K | 7/10 |
| "employee wellness program" | Phrase | Rp 3-6K | 8/10 |
| "training burnout karyawan" | Phrase | Rp 2-5K | 7/10 |
Ad Group 2C: Leadership & Soft Skill Consideration
Leadership, communication, soft skill training. Max CPC: Rp 6,000
| Keyword | Match | Est. CPC | Intent |
|---|---|---|---|
| "training leadership karyawan" | Phrase | Rp 3-6K | 8/10 |
| "pelatihan kepemimpinan perusahaan" | Phrase | Rp 2-5K | 8/10 |
| "training soft skill karyawan" | Phrase | Rp 2-5K | 7/10 |
| "training komunikasi karyawan" | Phrase | Rp 2-5K | 7/10 |
| "workshop team building perusahaan" | Phrase | Rp 5-8K | 9/10 |
| "pelatihan emotional intelligence" | Phrase | Rp 2-5K | 7/10 |
Ad Group 2D: Pembicara / Narasumber Decision Stage
Companies looking for speakers/facilitators for corporate events. Max CPC: Rp 7,000
| Keyword | Match | Est. CPC | Intent |
|---|---|---|---|
| "jasa pembicara seminar" | Phrase | Rp 5-8K | 9/10 |
| "narasumber kesehatan mental" | Phrase | Rp 4-7K | 9/10 |
| "pembicara motivasi perusahaan" | Phrase | Rp 5-8K | 9/10 |
| "narasumber seminar perusahaan" | Phrase | Rp 5-8K | 9/10 |
| "fasilitator training perusahaan" | Phrase | Rp 4-7K | 8/10 |
Ad Copy — In-House Training RSA
Headlines (30 char max)
Descriptions (90 char max)
Negative Keywords
Shared Negatives (Account Level) — from all 5 agents, deduplicated
B2C / Freebie Seekers
Students / Academic
Job Seekers / CPNS
Personal / Clinical
B2C Content
Competitors
Cross-Campaign Negatives from Agent 1
Campaign 1 (Psikotes) negatives:
training, pelatihan, seminar, workshop, pembicara, narasumber
Campaign 2 (IHT) negatives:
psikotes, tes online, assessment online, asesmen
Ad Extensions from Agent 4
Sitelinks (4)
- Psikotes Online — 40+ tes psikologi valid
- In-House Training — Leadership, EQ, mental health
- Konsultasi Gratis — Chat langsung via WhatsApp
- Tentang Satu Persen — 4.5M+ YouTube subscribers
Callouts (8)
Structured Snippets
Layanan: Psikotes Rekrutmen, Assessment SDM, In-House Training, Team Building, Leadership Training
Tipe: DISC, Big Five, RIASEC, IQ, Emotional Intelligence, Stress Management
Call Extension
+6285282836060 — Mon-Fri 08:00-17:00 WIB only
Bidding Strategy
Phase 1: Week 1-3
Manual CPC
eCPC OFF. Full control.
Psikotes: Rp 6-10K/click
IHT: Rp 5-8K/click
Phase 2: Week 4-6
Manual CPC + eCPC ON
If 15+ conversions in account.
Adjust bids based on data
Scale budget to Rp 250K/day
Phase 3: Week 7+
Maximize Conversions
If 30+ conversions/month.
Run as 50/50 Experiment first
Switch to tCPA when stable
Budget & Phasing
| Phase | Weeks | Psikotes | IHT | Total/Day | Monthly |
|---|---|---|---|---|---|
| Discovery | 1-3 | Rp 130K | Rp 70K | Rp 200K | Rp 6M |
| Optimization | 4-6 | Rp 165K | Rp 85K | Rp 250K | Rp 7.5M |
| Scale (if ROAS >3x) | 7-12 | Rp 250K | Rp 125K | Rp 375K | Rp 11.25M |
| Post-Lebaran Surge | Apr 1-14 | Rp 170K | Rp 90K | Rp 260K (+30%) | - |
Break-even: 1.3 deals/month at Phase 1 spend (Rp 6M/mo, Rp 4.7M/deal). Expected ROAS: 3-7x by Month 3.
Measurement Framework from Agent 5
4-Layer Attribution
Layer 1: Google Ads Native
GA4 whatsapp_click event imported as conversion. Auto-tracks CPC, CPA, conversion rate.
Layer 2: GCLID Pass-Through
Already implemented. [ref:GCLID] in WA message. Sales team MUST NOT delete this.
Layer 3: Offline Conversion Import
When deal closes → upload GCLID + value to Google Ads. Phase 1: manual. Phase 2: Lark bot. Phase 3: API.
Layer 4: Cross-Channel
Compare Google vs Meta in Supabase dashboard. Track "surround sound" effect (Meta awareness → Google conversion).
Supabase Tables (Add to Dashboard)
-- Google Ads to deal pipeline tracking CREATE TABLE google_ads_pipeline ( gclid TEXT PRIMARY KEY, keyword TEXT, campaign TEXT, wa_click_at TIMESTAMPTZ, conversation_started BOOLEAN DEFAULT FALSE, proposal_sent_at TIMESTAMPTZ, deal_closed_at TIMESTAMPTZ, deal_value NUMERIC, uploaded_to_google BOOLEAN DEFAULT FALSE );
Week-by-Week Optimization
Week 1: Launch & Monitor
Week 2: Negative Keyword Blitz
Week 3: First Data Read
Week 4: Scale Winners
Decision Thresholds from Agent 5
Scale (Increase Budget)
- ROAS >3x for 2 consecutive weeks
- CPA per WA click <Rp 200K stable
- Impression Share <70% on converting keywords
- Close rate from WA >15%
Cut (Reduce/Pause)
- Keyword with Rp 100K+ spend, 0 conversions → pause
- Ad group with Rp 500K+ spend, 0 conversions → pause
- Campaign CPA >Rp 500K for 3 weeks → reduce 50%
- IHT has 0 deals after Month 1 → reduce to Rp 25K/day
Pivot (Change Strategy)
- Search volume <500 impressions/week → expand to YouTube
- WA clicks happen but no deals → sales process problem
- Impression Share <30% consistently → niche down keywords
- ROAS <1x after 8 weeks → pause, investigate
KPIs & Success Metrics
| Metric | Month 1 Target | Month 3 Target | How to Track |
|---|---|---|---|
| Cost per WA Click | < Rp 100,000 | < Rp 60,000 | Google Ads conversion |
| WA Clicks / month | 40-80 | 80-150 | Google Ads conversion |
| WA Click Rate | > 5% | > 8% | Conversions / clicks |
| CTR | > 3% | > 5% | Google Ads |
| Closed Deals from Ads | 1+ / month | 3+ / month | GCLID match |
| ROAS | > 1x | > 3x | Revenue / spend |
| Quality Score (avg) | > 5 | > 7 | Google Ads keywords |
| Impression Share | > 30% | > 50% | Google Ads auction insights |
ROAS Math
Indonesia Seasonal Calendar from Agent 4
Jan-Feb
New year budgets. Q1 training plans.
HIGH DEMAND
Mar (Now)
Ramadan. Reduced activity weeks 3-4.
LAUNCH NOW, conservative bids
Apr (Post-Lebaran)
Hiring boom. Companies restart.
SURGE — +30% budget
May-Jun
Mid-year reviews. Fresh grad intake.
HIGH — push psikotes
Jul-Aug
Campus hiring, large-scale testing.
HIGH for psikotes
Sep-Oct
Q4 planning. Use-it-or-lose-it training budget.
PUSH training
Nov-Dec
Year-end. Some training pushes, holiday mode.
MAINTAIN baseline
All Year
Mon-Wed peak. Fri drops. Sat-Sun off.
B2B = weekday mornings
Landing Page Recommendations from Agent 1
Pre-Launch Checklist
Claude AI Automation Layer
Automate Google Ads management using Claude API + Google Ads API. Priority order by ROI for small B2B accounts.
Daily Search Term Mining
Google Ads API pulls search terms → Claude classifies each as KEEP / NEGATIVE / REVIEW → auto-adds negatives, flags borderline for human review.
How it works
1. Pull last 3 days search terms via GoogleAdsService
2. Send to Claude with B2B context prompt:
"Classify as KEEP/NEGATIVE/REVIEW for a B2B
psikotes company. Aggressive on: job seekers,
students, free resources, non-commercial intent"
3. Claude returns JSON with decisions + reasoning
4. Auto-add NEGATIVEs via CampaignCriterionService
5. Log REVIEWs to Supabase for human check
6. Send summary to Lark channel
Offline Conversion Upload
When WA leads become deals → upload GCLID + deal value back to Google Ads. Teaches Smart Bidding which clicks actually make money.
How it works
1. WA click fires → GCLID stored in Supabase 2. Sales closes deal → update row with deal_value 3. Daily cron: SELECT * FROM google_ads_pipeline WHERE deal_closed_at IS NOT NULL AND uploaded_to_google = FALSE 4. Upload each via ConversionUploadService 5. Mark uploaded_to_google = TRUE 6. Google Ads now knows: this keyword → Rp 4.7M deal
Weekly Lark Performance Report
Every Monday: pull campaign stats → Claude writes narrative report in Bahasa Indonesia → send to Lark channel with anomalies flagged.
Report includes
1. Top-line: total spend, clicks, WA conversions, CPA 2. Campaign comparison: Psikotes vs IHT performance 3. Anomaly flags: CTR drops, CPC spikes, QS changes 4. Top 5 keywords by conversion 5. Worst 5 keywords by wasted spend 6. 3 specific action items for the week 7. Budget pacing: on track / over / under
Ad Copy Generation + Testing
Claude generates RSA headline/description variants for A/B testing. Upload via API or Google Ads Editor. Track which combinations win.
Bid Recommendation Engine
Pull keyword performance → Claude analyzes and recommends bid changes → human approves → apply via API. Never auto-bid without approval.
Budget Pacing Alert (Google Ads Script)
Lightweight JS script running inside Google Ads UI. Alerts via email if any campaign is over/under-pacing by 20%+. Zero external dependencies.
Automation Build Roadmap
Tech Stack Required
# requirements.txt for Google Ads automation google-ads==24.1.0 # Official Google Ads API client anthropic>=0.28.0 # Claude API supabase-py>=2.0 # Supabase for data storage schedule>=1.2.0 # Job scheduling (or use PM2/cron) python-dotenv>=1.0.0 # Env vars # google-ads.yaml (OAuth credentials needed from Google Ads account) developer_token: YOUR_DEV_TOKEN client_id: YOUR_OAUTH_CLIENT_ID client_secret: YOUR_OAUTH_CLIENT_SECRET refresh_token: YOUR_REFRESH_TOKEN
All runs on existing VPS. No new infra needed. Reuses Supabase + Lark bot already in place.
Claude vs Google's Own AI: Use the Right Tool
Use Claude For
- Search term intent classification (B2B vs B2C)
- Ad copy generation in Bahasa Indonesia
- Weekly performance narrative reports
- Negative keyword suggestions with reasoning
- Bid recommendation analysis
- Interpreting anomalies in data
- Building automation scripts (via Claude Code)
Use Google's AI For
- Real-time bid optimization (Smart Bidding)
- RSA headline combination testing
- Auction-time signals (device, location, time)
- Performance Max asset optimization
- Keyword Planner volume estimates
- Budget pacing (Google Ads Scripts)
Claude excels at the analytical + creative layers. Google's AI excels at real-time auction decisions. Use both — they complement, not compete.
GSC Data Reference
Organic Winners (DON'T bid on these)
- "psikotes online" — 6,743 clicks, pos 1.4
- "tes psikotes" — 5,532 clicks, pos 2.7
- "tes psikotes online" — 2,754 clicks, pos 1.6
- "tes mental" — 30,466 clicks, pos 2.2
Organic Gap (DO bid on these)
- "jasa psikotes karyawan" — NOT in top 5,000
- "vendor training karyawan" — NOT in top 5,000
- "in house training perusahaan" — NOT in top 5,000
- "assessment karyawan" — NOT in top 5,000
- All IHT/training keywords — only 15 queries, <25 clicks total
Launch Checklist — Do This NOW
Step-by-step to get Google Ads B2B live. Follow in order. Budget: Rp 200K/day per campaign (Manual CPC).