Set Ad Schedule
set_ad_scheduleSets a campaign's ad schedule (day/hour) — 'run only during business hours', or 'bid 50% less at night'. schedule: comma-separated 'DAY HH:MM-HH:MM' blocks, e.g. 'MONDAY 09:00-18:00, TUESDAY 09:00-18:00'. Minutes must be 00/15/30/45. Days: MONDAY..SUNDAY. A range crossing midnight cannot be a single block — split it: 'SATURDAY 22:00-24:00, SUNDAY 00:00-02:00'.
mode='add' (default) adds the blocks alongside the campaign's existing ones — it can only WIDEN a schedule, and Google rejects blocks that overlap existing ones. mode='replace' first DELETES every existing schedule block of the campaign and writes only the ones given here (remove+create in a single request, so the campaign never briefly falls back to 24/7) — this is the way to shrink/reshape an existing schedule. Read the current state with get_ad_schedule first.
Bid modifier (percentage, like Microsoft's bid_adjustment): bid_modifier_pct applies to every block, or put it per block as a trailing percentage — 'SATURDAY 22:00-24:00 -50%'. Range -90%..+900%; -100% is not possible — to stop serving in an hour range, leave it OUT of a mode='replace' schedule. Fully automated bidding (tCPA/tROAS/Maximize conversions) ACCEPTS but IGNORES bid modifiers.
Once a schedule exists, the campaign runs ONLY during those hours. confirm=false → dry-run.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | add | |
| confirm | No | ||
| schedule | Yes | ||
| campaign_id | Yes | ||
| customer_id | Yes | ||
| bid_modifier_pct | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||