Set ad schedule
set_ad_scheduleSet a campaign's weekly ad schedule with friendly input and correct, platform-aware timezone handling — the easy front door over update_campaign's adSchedule. Pass HH:MM times, day shorthands (MON…SUN, WEEKDAYS, WEEKEND) and/or a preset. Windows may cross midnight (19:00->07:00) and are auto-split. timezone:'local' uses the searcher's local time on Microsoft (AdScheduleUseSearcherTimeZone); Google cannot localize per searcher, so pass an explicit IANA zone (e.g. 'Europe/Istanbul') to offset-bake the hours to that location relative to the account timezone. Use dry_run:true to preview the exact expanded schedule and any warnings WITHOUT mutating the campaign. Scoped to the active Space.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| preset | No | A named schedule, expanded server-side. May be combined with windows to add to it. | |
| dry_run | No | If true, return the expanded schedule + warnings WITHOUT writing. Use to learn the exact result before committing. | |
| windows | No | Friendly windows. Each item: { days: ["MON".."SUN" | "WEEKDAYS" | "WEEKEND"], start: "HH:MM", end: "HH:MM", bidModifier?: 0.1-10 }. Minutes must be :00/:15/:30/:45. end may be "24:00"; an end at or before start crosses midnight and is auto-split. | |
| platform | No | Disambiguate timezone semantics when the campaign is linked to multiple platforms. Optional; inferred from the campaign's platform links otherwise. | |
| space_id | No | Override the active Space for this one call. | |
| timezone | No | 'local' (searcher-local on Microsoft; account-time + warning on Google), 'UTC', or an IANA zone like 'Europe/Rome'. Omit to use the account timezone. Explicit zones that differ from the account zone are offset-baked into the stored hours (with a DST caveat in the response). | |
| campaign_id | Yes | Campaign id (as returned by list_campaigns). |