Skills

Google Ads

Traps when running Google Ads through treg, the API requirements and cleanup semantics...

Install

npx skills add superdesigndev/treg --skill google-ads -g -a claude-code -y
Category
Marketing
Updated
3d ago
License
See repository
Context cost
Mediumabout 1,810 tokens
Runs scripts
No, instructions only

What it does

Traps when running Google Ads through treg, the API requirements and cleanup semantics that cost round-trips or money. Use whenever asked to analyse ad performance, audit spend, create or change campaigns, adjust budgets or bids, or do media buying.

Google Ads via treg, the traps

Verified live on 2026-07-22 against a live account, via treg call google-ads. Each trap is tagged with how many independent agents hit it when working without this file, so you know which are real and which are here for insurance.

Account id: treg connections ls → the google-ads row; treg connections resources <id> to list. Never guess an account id, you may be spending someone else's money.

1. Pin the API version, there is no discovery ⚠️ 2/2 agents hit this

Paths are versioned and a wrong guess returns a Google HTML 404, not JSON. Nothing in the API or in treg tool ls reports the current version, one agent burned five calls walking v14→v18 before recovering the answer from the treg calls audit log.

Use v25 (released 2026-07-22, live-verified through the proxy 2026-08-17; sunsets ~Aug 2027). Do not guess downward.

Two different failures, two different fixes:

  • HTML 404, the version never existed (you guessed too high, or typo'd the path).
  • JSON 400 UNSUPPORTED_VERSION, the version existed and has been sunset. Google ships a major roughly quarterly and each lives ~12 months, so a pin that worked for months dies on a date, not on a deploy. v21 died this way on 2026-08-05. Always jump to the newest GA version, not the next one up, the next one up may be months from its own sunset.

Release notes and sunset dates: https://developers.google.com/google-ads/api/docs/sunset-dates

2. contains_eu_political_advertising is required on campaign create ⚠️ 3/3 hit this

Absent from essentially every code sample. Campaign create fails REQUIRED without it:

"containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"

3. Bidding strategy must be the sub-message, not the enum ⚠️ 1/2 hit this

Read the whole SKILL.md on GitHub

More in Marketing