Google Ads — Channel Overview
This folder documents everything related to the Google Ads integration in Leadmetrics: existing capabilities, the search term analyst agent, and the implementation roadmap.
Contents
- Current Implementation — what is already live
- Search Term Analyst — daily AI-powered search term classification + DM review workflow
Quick Reference
| Area | Status |
|---|---|
| OAuth connect flow | Live |
| Sub-account (customer) selection | Live |
| Campaign analytics (impressions, clicks, CTR, CPC, cost, conversions) | Live |
| Daily performance line/bar charts | Live |
| AI-generated insights (google-ads-insights worker) | Live |
| RSA ad copy writer (google-ads-writer worker) | Live |
| Search term classifier (AI classification worker) | Live |
| Search term sync + DM review + push-back workflow | [Live Apr 2026] |
Key Files
| File | Purpose |
|---|---|
packages/providers/google/src/google-ads.ts | GoogleAdsService — all Google Ads API calls |
packages/agents/src/workers/search-term-classifier.worker.ts | Claude-powered term classifier |
packages/agents/src/workers/google-ads-insights.worker.ts | Insights generator |
packages/queue/src/queues.ts | enqueueSearchTermClassifier() and all other enqueue helpers |
apps/api/src/routers/channels.ts | /tenant/v1/channels/:id/analytics endpoint |
apps/dashboard/src/app/(dashboard)/channels/[id]/GoogleAdsChannelDetail.tsx | Dashboard channel detail UI |
Environment Variables Required
GOOGLE_ADS_APP_ID=
GOOGLE_ADS_APP_SECRET=
GOOGLE_ADS_DEVELOPER_TOKEN=All three must be present in apps/api/.env and apps/servers/agents/.env.