Run an ad set only at certain hours

Set the days and hours an ad set may deliver, for example weekdays 9 to 5

An ad set in a Meta campaign you manage in PromoPilot (Ads > Campaigns) can run only at the hours you choose, for example when someone is free to answer the phone. Open the campaign, press Edit on the ad set, open Advanced and paint the hours on the Dayparting grid. The presets fill it with Always on, Weekdays 9-17, Evenings or Weekend all day. An empty grid, or one with every hour painted, means the ad set may deliver at any time.

It needs a lifetime budget

Meta only runs an ad set on a schedule with a lifetime budget, which also needs an end time. PromoPilot asks for one before it saves a schedule. Hours are whole hours, in the time zone of the person seeing the ad.

Ad sets already on Meta

Saving a new schedule updates Meta straight away, and clearing it turns scheduling off there. Other edits, such as a rename, leave the schedule on Meta as it is.

From the API and the MCP server

PATCH /api/v1/ads/adsets/<id>/ and the update_adset and create_adset tools take schedule, a list such as [{"days": ["mon", "tue", "wed", "thu", "fri"], "start": "09:00", "end": "17:00"}]. Days are names (mon to sun, weekdays, weekend, everyday), start and end are whole hours with the end hour not included, and an empty list clears it. get_campaign shows each ad set's schedule with a one-line summary.

New to PromoPilot? Creating an account is free.

All guides