ADs has a secure REST API so Claude Code can plan a complete campaign and create it for you: keywords, ad groups, Search ads, social ads, audiences, countries and budgets.
- Make an Application Password: Users, Profile, Application Passwords. Give it a name like "Claude Code". You can revoke it there at any time.
- Campaigns, New, Import a campaign plan, "Let Claude Code build it": copy the request and paste it into Claude Code with what you want the campaign to do, and give it the Application Password yourself.
What Claude Code uses (all under /wp-json/resultsaix-ads/v1/):
- GET context: your networks, which are connected, your audiences, Google's limits and your existing campaigns.
- GET plan/example: the exact plan format.
- POST plan?dry_run=1: checks a plan and lists errors and warnings without saving anything.
- POST plan: creates the campaign and returns its link. Send { "campaigns": [ plan, plan ] } to create several at once, and give any ad group a landing_url to send it to its own page.
- POST campaigns/{id}/publish with network google, google_media, meta, tiktok, linkedin, pinterest, reddit or snapchat: creates it on that network, paused. With the Google Ads script, Google campaigns are handed to the script and created on its next run.
Only administrators with an active licence can use it. Everything is created paused.