CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dayparting-scheduler

Analyzes hour-of-day and day-of-week performance to create bid schedules and dayparting strategies. Use when optimizing ad schedules, analyzing time-based performance, setting bid modifiers, or creating dayparting heat maps.

Quality

82%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Dayparting Scheduler

Analyzes hour-of-day and day-of-week ad performance to generate bid adjustment schedules, time zone strategies for multi-geo campaigns, and platform-specific dayparting configurations. Includes bid modifier calculations, heat map generation, and B2B vs B2C scheduling patterns.

Capabilities

  • Hour-of-Day Analysis: Performance breakdown by hour with statistical significance
  • Day-of-Week Optimization: Identify top and bottom performing days
  • Bid Modifier Calculation: Data-driven bid adjustments by time slot
  • Multi-Geo Time Zone Strategy: Coordinate schedules across time zones
  • B2B vs B2C Pattern Templates: Pre-built schedules for common verticals
  • Platform-Specific Scheduling: Google, Meta, LinkedIn, TikTok, Reddit capabilities
  • Heat Map Generation: Visual performance grids by hour × day

Workflows

1. Performance Data Collection

Google Ads — Pull hourly performance:

-- GAQL: Performance by hour of day
SELECT
  campaign.name,
  segments.hour,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions,
  metrics.conversions_value,
  metrics.all_conversions,
  metrics.average_cpc
FROM campaign
WHERE campaign.status = 'ENABLED'
  AND segments.date DURING LAST_30_DAYS
ORDER BY segments.hour
-- GAQL: Performance by day of week
SELECT
  campaign.name,
  segments.day_of_week,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions,
  metrics.conversions_value,
  metrics.average_cpc
FROM campaign
WHERE campaign.status = 'ENABLED'
  AND segments.date DURING LAST_30_DAYS
ORDER BY segments.day_of_week
-- GAQL: Combined hour × day matrix
SELECT
  segments.day_of_week,
  segments.hour,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions,
  metrics.conversions_value
FROM campaign
WHERE campaign.status = 'ENABLED'
  AND campaign.name LIKE '%[campaign_pattern]%'
  AND segments.date DURING LAST_30_DAYS
ORDER BY segments.day_of_week, segments.hour

2. Bid Modifier Calculation

Formula:

bid_modifier = (time_slot_CPA / average_CPA) ^ -1

Example:
  Average CPA across all hours: $50.00
  Hour 10am CPA: $35.00
  Modifier = ($35 / $50) ^ -1 = 1.43 → +43% bid increase

  Hour 2am CPA: $120.00
  Modifier = ($120 / $50) ^ -1 = 0.42 → -58% bid decrease

Statistical significance check:

Minimum data thresholds before applying modifiers:
  - At least 100 clicks per time slot
  - At least 10 conversions per time slot
  - At least 14 days of data
  - Chi-squared test p-value < 0.05

IF data_insufficient:
  Apply conservative modifiers only (max ±20%)
  OR group into broader time blocks (4-hour windows)

Modifier guardrails:

Adjustment RangeRisk LevelWhen to Use
±10-20%LowDefault starting range, limited data
±20-40%Medium30+ days data, 50+ conversions per slot
±40-70%High90+ days data, statistically significant
-100% (pause)Very HighOnly with strong evidence (zero conversions, high spend)

Tiered time block approach:

Instead of 24 individual hour modifiers, group into performance tiers:

TIER 1 — PEAK (highest conversion rate hours)
  Modifier: +20% to +50%
  Budget allocation: 40% of daily

TIER 2 — STANDARD (average performing hours)
  Modifier: 0% (no change)
  Budget allocation: 35% of daily

TIER 3 — OFF-PEAK (below average hours)
  Modifier: -20% to -50%
  Budget allocation: 20% of daily

TIER 4 — EXCLUDE (very poor performance)
  Modifier: -90% to -100%
  Budget allocation: 5% or 0%

3. B2B vs B2C Dayparting Patterns

B2B Default Schedule

MONDAY-FRIDAY:
  06:00-08:00  Ramp-up        Modifier: +10%    (early commute research)
  08:00-11:00  PEAK           Modifier: +30%    (morning work focus)
  11:00-13:00  Mid-day dip    Modifier: +10%    (lunch break browsing)
  13:00-16:00  PEAK           Modifier: +25%    (afternoon decisions)
  16:00-18:00  Wind-down      Modifier: +5%     (end of workday)
  18:00-22:00  Off-hours      Modifier: -30%    (personal time)
  22:00-06:00  Night          Modifier: -70%    (minimal B2B activity)

SATURDAY:
  08:00-14:00  Catch-up       Modifier: -20%    (some execs work Sat AM)
  14:00-08:00  Off            Modifier: -80%

SUNDAY:
  16:00-22:00  Planning       Modifier: -30%    (Sunday evening planning)
  22:00-16:00  Off            Modifier: -90%

Best days (ranked): Tuesday > Wednesday > Thursday > Monday > Friday
Worst days: Saturday, Sunday
Peak hours: 9am-11am, 2pm-4pm (prospect's local time)

B2C Default Schedule

MONDAY-THURSDAY:
  06:00-09:00  Morning commute  Modifier: +15%   (mobile browsing)
  09:00-12:00  Mid-morning      Modifier: +5%    (moderate activity)
  12:00-14:00  Lunch break      Modifier: +20%   (shopping peak)
  14:00-17:00  Afternoon        Modifier: 0%     (baseline)
  17:00-20:00  Evening          Modifier: +25%   (post-work shopping)
  20:00-23:00  PEAK             Modifier: +35%   (prime browsing/buying)
  23:00-06:00  Late night       Modifier: -40%   (low intent)

FRIDAY:
  17:00-23:00  PEAK             Modifier: +40%   (weekend anticipation)

SATURDAY:
  09:00-23:00  Weekend          Modifier: +20%   (all-day shopping)

SUNDAY:
  09:00-14:00  Morning          Modifier: +15%   (relaxed browsing)
  14:00-21:00  Afternoon        Modifier: +25%   (weekend peak)
  21:00-23:00  Evening          Modifier: +30%   (Sunday night shopping)

Best days (ranked): Sunday > Saturday > Thursday > Wednesday
Worst days: Monday (except e-commerce)
Peak hours: 8pm-10pm (consumer's local time)

E-Commerce Specific

TYPICAL PEAK WINDOWS:
  Lunch (12-1pm): +20-30% (mobile impulse buys)
  Post-work (5-7pm): +25-35% (commute browsing)
  Prime time (8-10pm): +30-45% (couch commerce)
  Late night (10pm-12am): +15-25% (insomnia shopping)
  
PAYDAY EFFECTS:
  1st and 15th of month: +15-25% lift in conversion rate
  Last week of month: -10-15% in non-essential categories
  
SEASONAL OVERLAYS:
  Black Friday week: Remove all negative modifiers
  January: Increase health/fitness modifiers
  Back-to-school (Aug): Increase family categories

4. Time Zone Considerations

Multi-geo campaign strategy:

OPTION A: Single campaign, schedule in account time zone
  Pros: Simple management
  Cons: Schedule doesn't match local user times
  Best for: Single-country campaigns

OPTION B: Separate campaigns per time zone
  Pros: Precise local scheduling
  Cons: More campaigns to manage, fragmented data
  Best for: US campaigns (4 time zones), global campaigns

OPTION C: Audience-based time zone targeting
  Pros: Flexible, data-driven
  Cons: Requires enough data per segment
  Best for: Mature accounts with conversion data

US time zone campaign structure:

Campaign: Brand_Search_US_Eastern
  Schedule: Optimized for EST/EDT
  Geo: CT, DC, DE, FL, GA, IN(east), KY(east), MA, MD, ME, MI(east),
       NC, NH, NJ, NY, OH, PA, RI, SC, TN(east), VA, VT, WV

Campaign: Brand_Search_US_Central
  Schedule: Shift all times +1 hour vs Eastern
  Geo: AL, AR, IA, IL, IN(west), KS, KY(west), LA, MN, MO, MS,
       MI(west), ND, NE, OK, SD, TN(west), TX, WI

Campaign: Brand_Search_US_Mountain
  Schedule: Shift all times +2 hours vs Eastern
  Geo: AZ, CO, ID(south), MT, NM, UT, WY

Campaign: Brand_Search_US_Pacific
  Schedule: Shift all times +3 hours vs Eastern
  Geo: CA, ID(north), NV, OR, WA

5. Platform-Specific Scheduling

PlatformAd Scheduling SupportGranularityBid ModifiersNotes
Google Ads✅ Full15-minute blocks-90% to +900%Most flexible. Set in campaign settings.
Microsoft Ads✅ Full15-minute blocks-90% to +900%Mirrors Google capability
Meta Ads⚠️ LimitedDay-level onlyNo modifiersOnly "Run ads on a schedule" with lifetime budget. No hourly control.
LinkedIn❌ NoneN/AN/ANo native scheduling. Use campaign start/end dates only.
TikTok⚠️ LimitedHour blocksNo modifiers"Dayparting" in ad group settings. On/off per hour, no modifiers.
Reddit⚠️ LimitedDay-levelNo modifiersSchedule by day only.
Amazon Ads⚠️ LimitedDay-levelNo modifiers"Dayparting" for Sponsored Products, hour-level.
X (Twitter)❌ NoneN/AN/ANo scheduling support. Manage via API toggles.

Meta workaround for hourly optimization:

Since Meta doesn't support hourly bid modifiers:

1. Use Campaign Budget Optimization (CBO) — Meta's algorithm
   adjusts spend timing automatically based on conversion signals

2. For manual control, create separate ad sets per time window
   with lifetime budgets and schedule them:
   - Ad Set: Morning (6am-12pm) — Lifetime: $X
   - Ad Set: Afternoon (12pm-6pm) — Lifetime: $Y
   - Ad Set: Evening (6pm-12am) — Lifetime: $Z
   
   ⚠️ This requires LIFETIME budget, not daily budget

3. Use automated rules:
   - Pause ad sets outside peak hours
   - Resume during peak hours
   - Increase budget during high-performance windows

6. Heat Map Generation

Performance heat map template (fill with actual data):

CONVERSION RATE BY HOUR × DAY

         Mon    Tue    Wed    Thu    Fri    Sat    Sun
 6am    ░░░    ░░░    ░░░    ░░░    ░░░    ░░░    ░░░
 7am    ░░░    ░░▓    ░░▓    ░░▓    ░░░    ░░░    ░░░
 8am    ░▓▓    ▓▓▓    ▓▓▓    ▓▓▓    ░▓▓    ░░░    ░░░
 9am    ▓▓▓    ███    ███    ███    ▓▓▓    ░░░    ░▓▓
10am    ▓▓▓    ███    ███    ███    ▓▓▓    ░▓▓    ░▓▓
11am    ▓▓▓    ███    ███    ▓▓▓    ▓▓▓    ░▓▓    ░▓▓
12pm    ░▓▓    ▓▓▓    ▓▓▓    ▓▓▓    ░▓▓    ░▓▓    ░▓▓
 1pm    ░▓▓    ▓▓▓    ▓▓▓    ▓▓▓    ░▓▓    ░░░    ░░░
 2pm    ▓▓▓    ███    ███    ▓▓▓    ▓▓▓    ░░░    ░▓▓
 3pm    ▓▓▓    ███    ███    ▓▓▓    ░▓▓    ░░░    ░▓▓
 4pm    ░▓▓    ▓▓▓    ▓▓▓    ▓▓▓    ░▓▓    ░░░    ░▓▓
 5pm    ░▓▓    ░▓▓    ░▓▓    ░▓▓    ░░░    ░░░    ░░░
 6pm    ░░░    ░░░    ░░░    ░░░    ░░░    ░░░    ░░░
 7pm    ░░░    ░░░    ░░░    ░░░    ░░░    ░▓▓    ▓▓▓
 8pm    ░░░    ░░░    ░░░    ░░░    ░▓▓    ▓▓▓    ███
 9pm    ░░░    ░░░    ░░░    ░░░    ░▓▓    ▓▓▓    ▓▓▓
10pm    ░░░    ░░░    ░░░    ░░░    ░░░    ░▓▓    ░▓▓
11pm    ░░░    ░░░    ░░░    ░░░    ░░░    ░░░    ░░░

Legend: ░░░ Below average  ▓▓▓ Average  ███ Above average

Color coding for modifier recommendations:

HEAT MAP → MODIFIER MAP

         Mon    Tue    Wed    Thu    Fri    Sat    Sun
 6am     -50    -50    -50    -50    -50    -70    -70
 7am     -30    -20    -20    -20    -30    -50    -50
 8am     +10    +30    +30    +30    +10    -40    -40
 9am     +30    +50    +50    +50    +30    -30    +10
10am     +30    +50    +50    +50    +30    +10    +10
11am     +25    +40    +40    +30    +25    +10    +10
12pm     +10    +30    +30    +30    +10     0      0
 1pm     +10    +25    +25    +25    +10    -30    -30
 2pm     +25    +45    +45    +30    +25    -30    +10
 3pm     +25    +40    +40    +30    +10    -30    +10
 4pm     +10    +25    +25    +25    +10    -40    +10
 5pm      0      0      0      0    -20    -40    -40
 6pm     -40    -40    -40    -40    -40    -40    -40
 7pm     -50    -50    -50    -50    -40    +10    +30
 8pm     -50    -50    -50    -50    +10    +30    +45
 9pm     -50    -50    -50    -50    +10    +30    +30
10pm     -60    -60    -60    -60    -40    +10     0
11pm     -70    -70    -70    -70    -60    -40    -40

Reference Data

Industry-Specific Peak Hours

IndustryB2B/B2CPeak Hours (Local)Peak DaysNotes
SaaSB2B9-11am, 2-4pmTue-ThuDecision-makers in office
E-CommerceB2C12-1pm, 7-10pmSun, ThuLunch + evening shopping
Local ServicesB2C7-9am, 5-7pmMon-WedBefore/after work
FinancialB2B8-10amMon, TueMarket hours, beginning of week
HealthcareB2C7-9pmSun, MonEvening research, week starts
EducationB2B+B2C10am-2pmTue-ThuResearch hours
Real EstateB2C9-11am, 7-9pmSat, SunWeekend house hunting
LegalB2C8am-12pmMon, TueCrisis moments, week start
TravelB2C12-2pm, 8-11pmSun, TueLunch dreaming + "Tuesday cheapest"
RestaurantB2C10-11am, 4-6pmThu-SatPre-meal decision points

Smart Bidding and Dayparting Interaction

IMPORTANT: Smart Bidding (Target CPA, Target ROAS, Maximize Conversions)
already adjusts bids by time of day internally.

RECOMMENDATIONS:

IF using Smart Bidding:
  - DO NOT add manual time-based bid modifiers (they stack)
  - DO use ad scheduling to EXCLUDE obviously bad hours (-100%)
  - DO let the algorithm handle intra-day optimization
  - DO analyze hour-of-day reports to validate algorithm decisions

IF using Manual CPC or Enhanced CPC:
  - DO apply bid modifiers based on data analysis
  - DO start conservative (±20%) and widen over time
  - DO review and update modifiers monthly
  - DO use separate campaigns if performance variance > 3x between time slots

IF using Maximize Clicks:
  - DO apply scheduling to prevent spend during dead hours
  - DO apply moderate bid modifiers (±30% max)

Examples

Example: B2B SaaS Dayparting Implementation

Analysis period: Last 60 days
Account: Acme CRM (Google Ads)
Campaign type: Search — Non-Brand

FINDINGS:
  Best performing hours: 9am-11am EST (CPA: $42, vs avg $68)
  Worst performing hours: 11pm-6am EST (CPA: $185, 3 conversions)
  Best day: Wednesday (CPA: $55, 28% below average)
  Worst day: Saturday (CPA: $142, 86% above average)

RECOMMENDED SCHEDULE:

  Mon-Fri 6-8am:    +10%  (early commuters, moderate intent)
  Mon-Fri 8-11am:   +35%  (prime B2B hours, peak intent)
  Mon-Fri 11am-1pm: +15%  (lunch research, good but lower)
  Mon-Fri 1-4pm:    +25%  (afternoon decisions, strong)
  Mon-Fri 4-6pm:    +5%   (winding down, acceptable)
  Mon-Fri 6-11pm:   -50%  (off hours, keep presence low)
  Mon-Fri 11pm-6am: -90%  (near-pause overnight)
  
  Saturday all day:  -70%  (minimal B2B activity)
  Sunday 4-9pm:     -30%  (some Sunday evening planning)
  Sunday other:     -80%  (near-pause)

PROJECTED IMPACT:
  Current monthly CPA: $68
  Projected CPA after dayparting: $52-58
  Estimated improvement: 15-24%
  Budget reallocation: $1,200/mo from dead hours → peak hours

About this skill

Part of the Synter free skills collection — open-source agent skills for advertising, PPC, and marketing automation.

Want this skill (and 40+ more) running on autopilot against your live ad accounts? Try Synter — AI Agent Media Buyers that connect to Google, Meta, LinkedIn, TikTok, Reddit, Amazon, and 7+ more platforms.

Repository

Synter-Media-AI/free-skills

Path

skills/dayparting-scheduler/SKILL.md

Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.