Programmatic Google Ads — Dr. Ayberk Akcay
End‑to‑end digital growth: websites, SEO, and a custom engine that programmatically creates and manages campaigns at scale. 1,000+ ad groups and 2,000+ ads generated. Over 1M USD annual spend managed and continuing.
Project Video Coming Soon
See the programmatic ad automation in action
Deliverables
Website & SEO
Technical SEO foundations and site optimization
Campaign Strategy
Account architecture and structure
Automation Engine
Custom ad creation and management system
Governance
Logging and safe operation protocols
The Problem
Multiple services and locales required a wide surface area of keywords, ads, and landing pages. Manual creation and upkeep limited iteration speed and made budget pacing brittle.
Solution Overview
Automation Engine
- Programmatic generators for campaigns, ad groups, keywords, and ads.
- Template‑driven creative with variable slots and guardrails.
- Rules for bids, budgets, and negative lists with label‑based scoping.
- Sync jobs keep account state and source of truth aligned.
Scale
- 2,000+ ads across 1,000+ ad groups produced by software.
- Over 1M USD per year managed with pacing controls.
// simplified generator for (topic in topics) { kw = expand_keywords(topic) // variants and match types ag = ensure_ad_group(topic, geo, intent) for (k in kw) add_keyword(ag, k) creatives = render_templates(topic, brand, policy) for (ad in creatives) upsert_ad(ag, ad) set_bids(ag, ruleset) // device, geo, time modifiers } schedule(sync_jobs, intervals) // hygiene, labels, negatives
Architecture
Components
- Controller API with OAuth2 to Google Ads.
- Scheduler and workers for generation and sync.
- Template service for ad copy and sitelinks.
- Rules engine for bids, budgets, and exclusions.
- Logger with change journals and diff views.
Data Sources
- Keyword seeds and intent taxonomies.
- Landing page metadata and schema markup.
- Performance signals from the ad account.
+---------------------+ | Web + SEO Layer | | - site build | | - schema, speed | +----------+----------+ | v +---------------------+ +-------------------+ | Automation API |<----->| Google Ads API | | - OAuth2, scopes | | campaigns, ads | +----------+----------+ +-------------------+ | v +---------------------+ | Workers & Scheduler | | - generators | | - sync jobs | +----------+----------+ | v +---------------------+ | Logs & Governance | +---------------------+
Controls and Guardrails
- Label‑based scopes for safe bulk operations.
- Rate limits and dry‑run modes before apply.
- Policy filters for capitalization, punctuation, and claims.
- Budget pacing with daily and monthly caps.
Note: The engine does not scrape. It uses the official API with OAuth2 and adheres to advertising policies. Changes are recorded with timestamps and actors.
Outputs
Structure
- Campaigns by service, intent, and geo
- Keyword sets with match types
- Ads with assets and variants
Operations
- Daily hygiene and fixes
- Creative refresh cycles
- Bid adjustments
Reporting
- Label views for experiments
- Budget dashboards
- Change journals
Impact
What Changed
- Creation at scale without manual bottlenecks.
- Consistent account hygiene and structure.
- Faster iteration for creative and bids.