01
Connect what you authorize
OAuth for Google Ads and GA4 on the same grant (Ads + analytics.readonly + analytics.edit). Tokens are encrypted in Postgres. There is no file-token path, and Adrunr only touches accounts you approve.
Ads operations platform
Connect Google Ads with OAuth, run paused and dry-run campaign work, and keep reporting on a multi-channel foundation — only for accounts you authorize. Google Ads and GA4 Connect are live. Clarity, Meta, TikTok, and LinkedIn are schema-ready.
Ops tools, not autopilot. No spend without an explicit confirm.
What it does
01
OAuth for Google Ads and GA4 on the same grant (Ads + analytics.readonly + analytics.edit). Tokens are encrypted in Postgres. There is no file-token path, and Adrunr only touches accounts you approve.
02
Create Search, Display, Performance Max, Demand Gen, Video, Shopping, App, Hotel, Local, and Local Services campaigns as PAUSED. Dry-run (validateOnly) is the default. Sync live listings and budget/spend snapshots into Neon as a read-only cache — never enable, unpause, or spend. A budgeted campaign still cannot spend until you enable it outside Adrunr.
03
Google Ads and GA4 Connect are live today. Microsoft Clarity, Meta, TikTok, LinkedIn, Heartza, and Custom sit on the same provider registry — schema-ready stubs, not a rewrite later.
Safety
Providers
Seeded registry rows, same shape as the ops console. Google Ads Connect is implemented. Clarity, Meta, TikTok, LinkedIn, Heartza, and Custom are schema-ready stubs.
google_ads · ADS
OAuth connect implemented
google_analytics · ANALYTICS
Connect, bind a property, sessions 7d
microsoft_clarity · HEATMAP
Schema-ready stub
meta_ads · ADS
Schema-ready stub
tiktok_ads · ADS
Schema-ready stub
linkedin_ads · ADS
Schema-ready stub
heartza · OTHER
Schema-ready stub
custom · OTHER
Schema-ready stub
Next step
Connect an authorized Google Ads account, list customers, and validate a paused Search campaign. Questions about access or onboarding go to red4code@gmail.com.