Dayparting uses the viewer's clock
user_time_of_week is evaluated in the viewer's local timezone. It cannot deterministically spread fleet spend across the UTC day. time_of_week's zone is unresolved between UTC and EST/EDT docs.
Published 2026-09-09 · Search job: user timezone dayparting
User timezone dayparting follows the viewer, not the advertiser's wall clock. user_time_of_week is evaluated in the viewer's local timezone, which is what line_items.user_timezones is for. On current line items that field is ["America/New_York"]. A 12:00 to 14:00 daypart means local lunchtime wherever the impression happens.
That smear across timezones is the feature when you want lunchtime. It is a defect when you want to spread fleet spend across the UTC day. Dayparting cannot do the second job.
Two clocks, two jobs
The budget-slice pacer and exchange daily pacing control when our money goes out on our clock. They exist so a fixed daily budget does not dump in one hour.
Dayparting controls what local time a viewer sees the ad. It is not a drop-in replacement for the intraday stagger. A noon-to-2pm window in viewer time lands at different UTC hours depending on where the impression is. You cannot use it to make ten campaigns spend in ten different UTC windows.
time_of_week is a fixed clock, but its zone is genuinely unresolved. The Beeswax win-log schema documents it as UTC. openrtb/extension.proto says "Always set to EST/EDT." That conflict is not settled on this seat. Do not depend on time_of_week for spend spreading until the zone is verified with a write-and-restore probe that you can read back in reporting.
What we verified, and what we did not
The bid-modifier vocabulary includes both clock keys. The term shape, the minute unit, and the complement-of-the-window construction are seat-verified. See Time of week is counted in minutes.
We have not used dayparting as the fleet's spend-spreading guarantee. Keep the pacer, or exchange daily pacing, for that. Use user_time_of_week when the product question is "should this person see the ad at this local hour?"
If you need both, they are not substitutes. A campaign can be exchange-paced on our clock and dayparted on the viewer's clock. That is two answers to two questions. It is not "pacing twice," which is the failure in Two things pacing at once stops delivery. Those two things both try to ration our money. Dayparting rations eligibility by local time.
Until time_of_week's zone is verified, treat it as documented and unused. Publish no result that assumes UTC or EST.