Welcome to Off Hours
Most Amazon advertisers run campaigns 24 hours a day, 7 days a week, including the hours when their customers aren't buying. Off Hours automates the rules that fix that. Pause overnight. Boost for weekends. React to ACOS spikes. Restore budgets after events. All of it runs automatically, checked every 15 minutes, while you focus on strategy.
What Off Hours does
Off Hours connects to your Amazon Ads sellers via the official Amazon Advertising API and executes scheduling and automation rules every 15 minutes, around the clock. You define the rules. Off Hours makes sure they run.
Who uses Off Hours
- Solo sellers. Set up a dayparting schedule once and stop thinking about it. Your campaigns pause when customers sleep and run when they shop.
- Growing brands. Layer budget rules on top of dayparting to control spend precisely across peak and off-peak windows without touching campaigns manually.
- Agencies. Connect multiple sellers and manage rules across all of them from one dashboard. Each seller is billed independently, so adding clients scales your ARPU without scaling your workload.
How rules layer
Multiple rules can apply to the same campaigns at the same time. This is how they interact across a typical week:
Key concepts
| Concept | What it means |
|---|---|
| 15-minute check | Off Hours evaluates all active rules every 15 minutes. Maximum execution lag is 15 minutes. |
| Rule layering | Multiple rules can apply to the same campaigns. Event rules override dayparting during their window, then restore cleanly. |
| Change log | Every automated action is logged with timestamp, rule name, campaign, and seller. Full audit trail, always. |
| Weekly insights | Every Monday, Off Hours emails a performance summary with deferred spend estimates and actionable observations. |
| Global pause | Suspend all rule execution from the avatar menu. Stays paused until you turn it off manually. Campaigns stay exactly as they were last set. |
Try the AI rule builder
Every rule page has the AI builder built in. Describe what you want and Off Hours configures the rule. Try it here before you even sign up.
Quick start
Most users have their first rule running within 20 minutes of connecting their Amazon account. Here's exactly what that looks like.
Steps
After your first rule
Once your first rule is active, Off Hours checks every 15 minutes and logs every action in the Change Log. You'll know it's working when you see the first entry appear, usually within 15 minutes of your first scheduled window opening.
Next steps most users take:
- Add a to control spend during peak hours
- Set up an before the next Prime Day or BFCM
- Configure a to flag ACOS that crosses your threshold
- Invite a teammate under Workspace → Team
- Review your first email the following Monday
Connect your Amazon seller
No API keys, no manual setup. Authorize with your Amazon login and your sellers, marketplaces, and campaigns import automatically.
Sellers and marketplaces
Off Hours organizes Amazon Ads access as sellers and marketplaces. A seller is one Amazon Seller Central account. A marketplace is a region under that seller, US, MX, CA, and so on. One seller is the billable unit at $149 per month. Every marketplace under it is included free. Connect a single seller and Off Hours imports every marketplace tied to it automatically.
Attribution Profiles are a separate concept. Off Hours imports them too, but they live in their own deemphasized section, are excluded from billing, and are not subject to rule automation.
Switching scope from the topbar
The dashboard's topbar (top right of every page) includes a seller switcher. Click the active scope label to open a dropdown listing every seller you have connected, grouped by name, with the marketplaces under each seller listed underneath. The active scope name shows in the topbar button so you always know which seller and marketplace you are viewing.
Selection operates at the marketplace level, not the seller level. Click a marketplace to scope the dashboard to that marketplace alone: the rule lists, Change log, dashboard widgets, and weekly insights all update to show only that marketplace's data. Click All accounts at the top of the dropdown to switch back to the aggregate view across every seller and marketplace.
Below the seller list, the dropdown shows a separate Attribution Profiles section. Attribution Profiles are dimmed because they are billing-excluded and do not participate in rule automation. They appear here so you can confirm they imported correctly, but you cannot scope rules to them.
How to connect
What access Off Hours requests
Off Hours requests the advertising::campaign_management scope, read and write access to your Sponsored Products campaigns. This is the minimum scope needed to enable, pause, and adjust daily budgets.
Reconnecting an expired seller
Amazon OAuth tokens expire periodically. When a token expires, a banner appears across the top of the dashboard reading X sellers need reconnection, and Off Hours emails the owner. Click the banner or go to Amazon Accounts, find the affected seller, and click Reconnect. Rules resume on the next check, within 15 minutes.
Dayparting
Schedule campaigns to run and pause on an hourly schedule, automatically, every day. Run when customers are shopping. Pause when they aren't.
What dayparting does
A dayparting rule defines which hours of the week campaigns should run and which they should pause. The schedule is built on a 7-by-24 grid of 168 total cells. Active hours run campaigns. Paused hours don't. Off Hours checks the schedule every 15 minutes and enables or pauses accordingly.
Creating a dayparting rule
Recommended starting schedule
If you don't yet have hourly data for your account, this works as a conservative default for most general merchandise categories:
- Weekdays: Run 6 AM to midnight. Pause midnight to 6 AM.
- Weekends: Run 7 AM to 11 PM. Pause 11 PM to 7 AM.
How dayparting interacts with event rules
Event rules can override your dayparting schedule during their active window. A Prime Day event rule can suspend your overnight pause so campaigns run 24 hours, then restore your normal dayparting schedule automatically when the event ends. You do not need to manually disable dayparting rules for events.
Common issues
Why isn't my rule firing?
The three most common reasons: (1) Amazon connection needs reauth, check Amazon Accounts for a reconnect banner. (2) The schedule's timezone doesn't match what you intended, edit the rule and verify. (3) The campaign isn't in the rule's scope, edit the rule and check the campaign selection.
How do I know it's working?
Check the Change Log filtered by your schedule name. You should see an entry whenever your schedule transitions between enabled and paused. The first entry appears within 15 minutes of your rule's first scheduled transition after you activate it.
Can I have multiple dayparting schedules?
Yes. Each schedule manages its own set of campaigns independently. If two schedules include the same campaign, the most recent action wins. Use the Change Log to trace which schedule last touched a campaign.
My dashboard says read-only mode, can I still create or edit rules?
No. While the seller is in read-only mode, rule creation and editing are dimmed across all rule types. Existing rules continue to execute during past_due (Stripe is retrying a failed payment) but stop during canceled_period_ended. Restore billing in Settings → Billing to re-enable rule edits.
Budget rules
Increase or decrease campaign daily budgets on a recurring schedule. Weekend boosts, seasonal pullbacks, any cadence you need.
What budget rules do
A budget rule adjusts the daily budget of one or more campaigns by a set amount or percentage at a scheduled time, then optionally restores the original budget later. The adjustment recurs on the schedule you define: daily, weekly, or on specific days.
Budget rules are the natural companion to dayparting. Dayparting controls when campaigns run. Budget rules control how much they spend while running.
Common use cases
- Weekend boost. Increase daily budgets by 25 to 40 percent on Friday evening, reset Sunday night. Captures stronger weekend shopping traffic without manual campaign edits.
- Weekday pullback. Reduce budgets on low-converting morning hours to preserve spend for evenings and lunch windows.
- Seasonal scaling. Gradually increase budgets over a multi-week ramp into Q4, then step back down after the holiday peak.
- Budget pacing. Reduce budgets on days that historically overspend early, preserving spend for high-converting windows later in the day.
Creating a budget rule
Common issues
Why didn't my budget change?
Check the Change Log for the rule's tick at the scheduled time. No tick means the rule wasn't active or the schedule window hadn't opened. An error tick means the Amazon connection needs attention.
Why is my budget higher than expected?
Percentage adjustments compound if multiple rules apply to the same campaigns. Each rule calculates against the budget at the time it fires, not the original baseline. Review your active rules for overlapping scopes.
Will my budget always restore?
Yes, always. If the window closes naturally, Off Hours restores the baseline as usual. If you deactivate or delete the rule before the window closes, Off Hours restores the baseline immediately as part of that action, not later. Deleting a rule is blocked until the restore succeeds, so a rule can never disappear while campaigns are still sitting at an adjusted value. Check the Change Log for a "Restored baseline" entry to confirm.
My dashboard says read-only mode, can I still create or edit rules?
No. While the seller is in read-only mode, rule creation and editing are dimmed across all rule types. Existing rules continue to execute during past_due (Stripe is retrying a failed payment) but stop during canceled_period_ended. Restore billing in Settings → Billing to re-enable rule edits.
Event rules
Handle Prime Day, Black Friday, product launches, and any date-range event. Rules activate automatically, run for the event window, and restore your baseline when they end.
What event rules do
An event rule defines a specific date range and applies changes to your campaigns for exactly that window. When the window ends, Off Hours automatically restores everything to its pre-event state. Event rules can override your dayparting schedule, increase budgets, or both.
Common use cases
- Prime Day. Suspend dayparting so campaigns run 24 hours. Double daily budgets. Restore everything at the end of the 48-hour window.
- Black Friday and Cyber Monday. Configure the exact start and end datetime to match your promotion window.
- Product launch. Run specific campaigns at elevated budget for a defined window, then return to normal.
- Seasonal windows. Back-to-school, holiday lead-up, or any multi-day period where you want different behavior without changing baseline rules.
Creating an event rule
Common issues
My rule didn't fire at the event start.
The rule must be Active before the event window opens. It won't backfill. Also verify the start datetime is set in the correct timezone. Check the Dashboard's Upcoming events section to confirm the rule is scheduled.
Campaigns didn't restore after the event.
Off Hours restores at the exact end datetime. Check the Change Log for a restoration entry. If none exists and the end time has passed, contact hello@off-hours.app with the rule name and tick ID.
Should I disable dayparting during events?
You don't have to. Event rules automatically override dayparting schedules during the event window, running campaigns 24 hours regardless of the dayparting schedule. Your dayparting schedule resumes automatically when the event ends.
My dashboard says read-only mode, can I still create or edit rules?
No. While the seller is in read-only mode, rule creation and editing are dimmed across all rule types. Existing rules continue to execute during past_due (Stripe is retrying a failed payment) but stop during canceled_period_ended. Restore billing in Settings → Billing to re-enable rule edits.
Safety and restoration
Event rules do more than restore your budget when the window closes. Every change an event rule makes is tracked individually, and every one of them is guaranteed to restore, not just the budget.
If you pause a campaign yourself during the event. Off Hours defaults to keeping Run 24hrs campaigns enabled for the duration of the event. If you manually pause one of those campaigns in Amazon Ads, Off Hours notices within about an hour and stops re-enabling it for the rest of the event, treating your pause as a deliberate decision rather than something to override. You'll get a one-time notification confirming the change is being respected, and that campaign is excluded from the automatic re-enable for the remainder of the window.
Targeting all campaigns. When creating an event rule you can target specific campaigns or all campaigns in the account. "All campaigns" is resolved live every time the rule runs, so a campaign you launch mid-event is picked up automatically. You don't need to remember to add new campaigns to an event rule that's already running.
The Coming up preview. While an event rule's window is active, the Event Rules page shows a preview of exactly what happens when it ends: how many budgets and placement bids will revert, how many campaigns will return to paused, one concrete example (for instance, a budget going from $45 back to $30), and how many of your manual changes will be kept as they are. Nothing is guessed. The preview is generated from the same records Off Hours uses to actually perform the restore.
The wrap-up confirmation. After the window closes, Off Hours verifies every single tracked change, budgets, bids, and campaign states, has been restored before sending anything. Once verification passes, you get one notification and one email confirming the event is fully wrapped up, along with what the event did: total spend, attributed sales, and how that compares to your normal daily pace. If verification hasn't passed yet, the confirmation waits rather than sending a premature "all clear."
Performance rules
Alert or act when ACOS or budget thresholds are crossed. Guardrails that keep your automation honest, not a replacement for your judgment.
What performance rules do
A performance rule monitors prior-day campaign data and triggers an alert or a defined action when a threshold is met. They are reactive, not predictive, and they do not make strategic decisions on your behalf.
Alert vs action rules
| Type | What happens | When to use |
|---|---|---|
| Alert only | Off Hours sends an email when the threshold is crossed. No campaign changes are made. | For monitoring without intervention. Recommended during events or volatile periods. |
| Alert + pause | Sends an alert and pauses the affected campaigns until you manually re-enable them or a configured restore time. | For clear runaway spend scenarios where automatic pausing makes sense. |
Recommended configuration
Start with alert-only rules. Automatic pausing should be reserved for thresholds you are very confident about. An unexpected pause during a high-traffic window can cost more than the spend it saves.
- Set ACOS alert thresholds at 1.5x to 2x your target, not right at your target
- Do not configure auto-pause rules for Prime Day or major events. Abnormal traffic produces false positives
- Review alert history weekly to calibrate thresholds over time
Common issues
My alert didn't fire even though ACOS was high.
Performance rules use prior-day data. ACOS that crossed your threshold today will trigger an alert tomorrow morning at around 6 AM in the account timezone, not in real time.
I'm getting too many alerts.
Set your threshold to 1.5x to 2x your target ACOS, not at your target. Normal campaign volatility will cross a threshold set at exactly your target frequently. Review alert history weekly and adjust the threshold based on patterns.
A rule paused campaigns I didn't expect.
If the rule scope is set to all campaigns, it applies broadly. Check the Change Log, expand the relevant tick, and review which campaigns were affected. Edit the rule to narrow the scope.
My dashboard says read-only mode, can I still create or edit rules?
No. While the seller is in read-only mode, rule creation and editing are dimmed across all rule types. Existing rules continue to execute during past_due (Stripe is retrying a failed payment) but stop during canceled_period_ended. Restore billing in Settings → Billing to re-enable rule edits.
AI rule builder
Describe a rule in plain English. Off Hours figures out the type, pre-fills the form, and lets you review every field before you activate.
How it works
What to say
Write it the way you would say it to a colleague. You do not need specific terminology. The builder understands intent.
| What you type | What gets pre-filled |
|---|---|
| "Pause all campaigns midnight to 6am on weekdays" | Dayparting rule, weeknight pause, 12 AM to 6 AM Mon to Fri |
| "Boost Sponsored Products budgets 30% every weekend" | Budget rule, +30% Friday 5 PM, reset Sunday 11 PM |
| "Run everything 24 hours during Prime Day" | Event rule, dayparting suspended for the Prime Day window |
| "Alert me if any campaign hits 60% ACOS two days in a row" | Performance rule, ACOS alert at 60%, 2-day consecutive trigger |
If you have multiple Amazon sellers
When you click Build with more than one seller connected, Off Hours asks you to pick which seller the rule applies to before it pre-fills the form. The selection carries through to the form so you do not have to set it again.
When the AI cannot parse the prompt
If your prompt is ambiguous, Off Hours returns an error instead of guessing. If you ask for something Off Hours does not support (like keyword bid changes), the builder will say so. In either case you can edit the prompt and try again, or click Or start from scratch below the bar to open an empty rule form.
Dashboard
Your automation control room. System health, active rules, recent activity, and anything that needs your attention, all in one place.
Health hero
The top section shows your current system status at a glance. When everything is running normally it shows a summary of overnight execution. When something needs attention (an expired token, a missed execution, a performance alert), the status changes to surface the issue directly.
Needs your attention
This panel surfaces items Off Hours cannot handle automatically, things requiring a human decision. Examples: an expired Amazon seller connection, a Prime Day approaching with no event rule configured, or an ACOS spike exceeding your threshold. Items are ranked by urgency.
Activity feed
The activity feed shows every automated action Off Hours took in the last 24 hours. Each entry shows the time, the action, the rule that triggered it, and the delta. The full audit history lives on the Change log page.
When campaigns run heatmap
The heatmap shows a layered view of your active dayparting and budget rules across all 168 hours of the current week. Hover any cell to see the day, hour, and activity level. It updates as rules change.
Upcoming events
The upcoming panel shows scheduled events and rule changes for the next 7 days: event rules about to fire, budget boosts for the weekend, weekly insights due Monday. A forward-looking view of what Off Hours is about to do.
Read-only mode
If your trial ends without a card on file, or a Stripe charge fails, the dashboard enters read-only mode. Rules stop executing and a recovery banner appears at the top of every page with steps to restore access, either Add payment method or Resubscribe. Existing rules, sellers, schedules, and the full Change log remain visible. No data is lost. Once payment is resolved through the Stripe Customer Portal, rule execution resumes automatically on the next check, within 15 minutes.
Global pause
The global pause toggle is in the avatar menu at the top right. Turning it on suspends all rule execution until you turn it off manually. Campaigns stay exactly as they were last set. A banner across the top of the dashboard confirms the pause is active. Use global pause when you are making manual campaign changes and want to prevent Off Hours from interfering.
Spend alerts
Off Hours watches every seller's daily spend against its own recent normal and tells you when something looks off, whether or not any rule was involved. On by default, no setup required.
What spend alerts do
Every day, Off Hours compares each seller's spend from the previous day against that seller's own trailing 14-day normal, and checks the trailing week against the prior month. Three things can trigger an alert:
| Type | Fires when | Why it matters |
|---|---|---|
| Spike | Yesterday's spend ran 20% or more above the 14-day normal. | Could be a good thing, like a ranking win. Could also mean a campaign is running that shouldn't be. |
| Drop | Yesterday's spend ran 20% or more below the 14-day normal. | A spend collapse is lost sales. Nothing else in Off Hours watches for this. |
| Drift | The trailing 7-day average ran 20% or more above the prior 3 weeks, checked weekly. | Catches a slow creep that never trips the daily check because the daily normal quietly rises with it. |
How "normal" is calculated
Off Hours uses the median of the seller's daily spend over the trailing 14 days, not the average, so a single unusually high or low day doesn't distort what counts as normal. Two adjustments keep the baseline honest:
- Event days are excluded. Any day covered by an active event rule is left out of the calculation, so an expected Prime Day spike doesn't get counted as part of "normal" going forward, and doesn't itself trigger a spike alert.
- Previously flagged days are excluded. A day that already triggered an alert is never used to calculate a future baseline. Without this, a genuine spend problem could quietly become the new "normal" over a couple of weeks and stop tripping the threshold.
Sellers need at least 7 days of usable spend history before alerts start firing, and a normal below $5 a day is treated as too small for percentage math to mean anything.
What an alert tells you
An alert is meant to save you the investigation, not just flag that something happened. Every spike or drop alert includes:
- Top movers. The specific campaigns driving the change, with real numbers: for example, "Kitchen Helper Nonbranded: $180.00 yesterday vs $60.00/day normal (+$120.00)."
- Sales context. For spikes, whether sales kept pace with the extra spend or not. Spend up with sales up is a different story than spend up with sales flat.
- Zero-spend campaigns, for drops. How many campaigns that normally spend recorded $0 the day before, which usually points at a paused campaign or an exhausted budget rather than a broader account issue.
Delivery
An alert reaches you through whichever channels you have enabled: a notification in the bell menu, an email, and, if connected, your Slack workspace. It also appears as a card on the page until it's resolved or dismissed.
If you manage several sellers and more than one flags on the same day, Off Hours sends a single combined email covering all of them instead of a separate email per seller.
Adjusting sensitivity
Go to Settings → Notifications. Each connected seller has its own spend alert toggle and threshold, from 5% to 500%, defaulting to 20%. Lowering the threshold means more alerts on smaller swings. Raising it means only larger swings get flagged. There is no single global setting, since a seller doing $50 a day and a seller doing $5,000 a day have very different tolerances for what counts as normal noise.
Common issues
I got an alert but nothing in my account changed.
Spend alerts compare your account against itself, not against a rule you configured. Amazon-side factors like increased competition, a ranking change, or a seasonal shift in shopper behavior can move your spend without anything happening in Off Hours. That's exactly the kind of thing this feature is meant to surface.
I didn't get an alert during a big spike I expected, like Prime Day.
Spikes are suppressed while an active event rule covers that day, since the increase is expected. If you saw an unexpected spike with no event rule running, check the top movers in the alert (or the Recommendations page) for what's driving it.
Can I turn this off for one seller but keep it on for others?
Yes. The toggle and threshold are per seller in Settings → Notifications, not a global setting.
Weekly insights
Every Monday morning, Off Hours reviews last week's performance and surfaces specific, actionable observations, so you start the week knowing exactly where the leverage is.
What you get
- Budget exhaustion patterns. Campaigns that ran out of budget before peak hours, with a recommendation for a budget boost rule.
- ACOS anomalies. Accounts or campaigns where ACOS moved significantly week over week.
- Upcoming events. Major shopping events in the next 14 days with no event rule configured yet.
- Automation impact. An estimate of deferred spend from your rules last week, calculated from your actual hourly spend rates.
How the deferred spend estimate is generated
Deferred spend is an AI-generated estimate based on your campaign activity and paused hours during the week. It is not derived from a fixed formula. The estimate is intended to give you a directional sense of automation impact, not a precise dollar figure.
Delivery and settings
Insights are sent every Monday at 7:00 AM UTC to all team members with email notifications enabled. To adjust notification preferences, go to Settings → Notifications.
Recommendations
A live, prioritized list of specific things worth your attention right now: missing coverage, stale rules, and active spend alerts, generated from your actual account state, not a schedule.
What you get
The Recommendations page shows up to three cards at a time, the highest-priority items across every seller in your workspace. Each card names something specific and links directly to where you'd fix it.
| Source | Example |
|---|---|
| Event | "Prime Day in 12 days, no event rule yet on Harbor Kitchen." |
| Performance | "No dayparting rule running overnight on Northlane Goods." or "ACOS spike on Parkway Home with no performance rule." |
| Spend alert | "Spending 43% above normal on Harbor Kitchen." Same detection as , surfaced here too until it clears. |
| Rule health | '"Weeknight pause" hasn't fired in 14+ days.' or a rule with zero campaigns selected. |
Priority and the 3-card cap
Recommendations are ranked, not just listed. A stuck restore, a budget or campaign change that should have reverted after a rule ended but hasn't, always outranks everything else, since it means real money is sitting at the wrong setting right now. Event and performance gaps rank next, then general rule-health notices. Only the top 3 across your entire workspace are shown at once, so the page never turns into a wall of low-priority noise.
Acting on a card
Each card has an action button that goes straight to the fix, usually a pre-filled rule creation page or the relevant Change Log entry. You can also dismiss a card. Dismissing hides it for 14 days, as long as the underlying condition hasn't changed. If the same seller trips a fresh spend alert on a later date, that's treated as new and will resurface even during the dismiss window for the earlier one.
How current is this page
Recommendations are computed live from your current rules, schedules, and recent performance data every time you load the page. There's no weekly refresh cycle to wait for and nothing to manually regenerate.
Slack Notifications
Connect your Slack workspace to receive Off Hours alerts directly in a channel. Choose which events trigger a Slack message, which stay email-only, or both.
How to connect
Go to Settings → Notifications and scroll to the Slack notifications section. Click Connect Slack workspace, authorize Off Hours to access your Slack workspace, then enter the channel name where you want to receive alerts (for example, #offhours-alerts) and click Save.
Before saving your channel, invite the Off Hours app to that channel in Slack. Open the channel in Slack and type /invite @Off Hours. If you skip this step, notifications will fail silently.
/invite @Off Hours. Notifications will not arrive in a channel the app has not been invited to.Notification preferences
Once connected, you can control how each notification is delivered. Email, Slack, both, or neither. Changes take effect immediately.
| Notification | Default |
|---|---|
| Rule failures | Email on, Slack on |
| Amazon disconnects | Email on, Slack on |
| Spend anomaly alerts | Email on, Slack on |
| Trial expiring | Email on, Slack on |
| Rule executions | Both off (can be frequent) |
| Weekly digest | Email on, Slack off |
| Automation activity | Email on, Slack off |
| Onboarding emails | Email only |
| Marketing emails | Email only |
Spend anomaly alerts fire when a seller's daily spend runs meaningfully above or below its own recent normal, whether or not any rule caused it. See for how thresholds work and how to adjust them.
Security and billing emails always send regardless of your notification preferences and cannot be turned off.
Disconnecting
Go to Settings → Notifications and click Disconnect under the Slack section. Your email preferences are not affected when you disconnect Slack.
Troubleshooting
If notifications are not arriving in Slack, confirm the Off Hours app has been invited to your channel. Open the channel in Slack and type /invite @Off Hours. If the issue persists, disconnect and reconnect your workspace from Settings → Notifications.
Change log
A permanent, timestamped record of every action Off Hours has taken across your sellers, plus every change you and your teammates make inside the app. Full audit trail, always.
What is logged
Each row in the log groups every action from a single rule execution into one entry. Click a row to expand the per-campaign breakdown and execution detail.
| Field | What it contains |
|---|---|
| Timestamp | The exact time the action was executed, displayed in your local timezone with a relative ago label below. |
| Actor type | Either Off Hours (an automated rule execution, shown with an OH avatar) or a teammate (shown with their initials). |
| Action | What happened: enabled, paused, budget raised or lowered, alert triggered, rule edited, rule created, rule deleted. |
| Target | The campaign count or campaign name affected. Multi-campaign actions show the count; you expand the row to see the per-campaign list. |
| Rule name and type | An inline pill with a colored dot for the rule type (dayparting, budget, event, performance), and the rule's name. Only present on automated entries. |
| Severity | Info, warning, or error. Warning and error rows show a colored stripe on the left edge and a status badge inline. |
| Delta | The change summary on the right: +24, +30%, -18, Alert, Restored. |
| Execution tick ID | A unique identifier for one rule run, visible in the expanded detail view. Useful for support: if you need help tracing a specific execution, include the tick ID and the team can locate it immediately. |
Execution status badges
Each automated rule execution is summarized with one of three status badges:
- All ok in moss green. Every campaign targeted by the rule was actioned without errors. Shown on the right edge of the row.
- Warning in butter amber. The execution completed with partial success. Some campaigns updated, others were skipped, often because the campaign was archived, access was restricted, or Amazon returned a transient error. No action required.
- Error in coral red. The execution encountered one or more failures. Some or all campaigns may not have been updated. Off Hours retries on the next scheduled run. If errors persist, check the affected seller's connection on the Amazon Accounts page.
Searching and filtering
Use the filter bar to narrow entries by seller, rule type, action type, actor, severity, and date range. The search field matches against campaign names, rule names, and actor names. Entries are retained indefinitely, so you can audit any action Off Hours has ever taken on your sellers.
Missed executions
If Off Hours cannot execute a scheduled action, for example because a seller's Amazon OAuth token has expired, the missed execution is recorded with a note explaining why it did not run. This gives you a clear record of any gaps in automation coverage.
Troubleshooting
Organized by symptom, not feature. If something isn't behaving the way you expect, start here. Each item lists what to check, in order.
Amazon connection issues
Dayparting issues
Budget rule issues
Event rule issues
Performance rule issues
Billing and access issues
General
Reading the Change Log
The Change Log is your primary diagnostic tool. Every action Off Hours takes, and every change a team member makes, is recorded here with enough detail to trace exactly what happened and why.
Anatomy of a log entry
Each entry shows:
- Time. When the action occurred, in your local browser timezone.
- Status icon. Green checkmark for success, amber plus for budget increase, gray pause for paused or decreased, coral triangle for alert or error.
- Action. What happened: "Enabled 10 campaigns · Northlane Goods, Inc." with the rule name that triggered it.
- Status badge. ALL OK (every campaign updated successfully), WARNING (partial success, some campaigns skipped), ERROR (execution failed, Off Hours will retry).
- Delta. The net change: +10 campaigns enabled, -10 paused, +30% budget increase, Alert, Restored.
- Tick ID. A unique ID for each execution, visible when you expand a row. Include this when contacting support.
How to diagnose a problem
Using tick IDs for support
Every execution has a unique tick ID visible in the expanded row detail. If you contact support about a specific execution, include the tick ID. It lets the team locate the exact execution instantly without asking follow-up questions.
Team access
Invite team members with role-based access. Every workspace supports the full set of roles. No seat caps.
Roles
| Role | What they can do |
|---|---|
| Owner | Full access. Manage billing, connect and disconnect Amazon sellers, invite and remove team members, create and delete all rules. |
| Admin | Create, edit, and delete rules across all sellers. Invite and remove team members. Cannot manage billing or remove the owner. |
| Member | Can view and create rules but cannot manage billing, team members, or account settings. |
| Viewer | Read-only access to the dashboard, Change log, and rules. Cannot create or modify rules. |
Inviting a team member
Billing and plans
Priced per account, flat. Marketplaces under the same account are included free. No percentage of ad spend, no usage fees, no surprises.
Plans
| Plan | Price | Notes |
|---|---|---|
| Free trial | 14 days, free | Every new account starts here. Full access to all four rule types. No credit card required. |
| Monthly | $149 / month / seller | Includes every marketplace under that seller at no extra cost. Cancel any time from the Stripe Customer Portal. |
| Annual | $1,520 / year / seller | Same access as Monthly. Saves 15 percent compared to paying month to month. |
What counts as one seller
A seller is the billable unit. One seller is one Amazon Seller Central account, regardless of how many marketplaces it sells in. Two distinct sellers (different brands, different Seller Central logins) are two billable sellers.
A marketplace is a region under a seller (US, CA, MX, and so on). Marketplaces are included free under their parent seller. One brand selling in the US, CA, and MX marketplaces is one billable seller, not three.
An Attribution Profile is a separate concept used for tracking off-Amazon attribution. Attribution Profiles are listed in their own section of the dashboard and are excluded from billing entirely. You can connect any number of them at no cost.
Adding sellers, marketplaces, and Attribution Profiles
Connect another seller from the Sellers page in the sidebar. Each new active seller adds one $149 line to your monthly invoice (or the prorated equivalent of $1,520 if you are on annual billing), starting from the date you activate it.
Adding a new marketplace under an existing seller is free. Off Hours imports it automatically when Amazon makes it available, and rules can target it immediately with no billing impact.
Adding or removing Attribution Profiles never affects billing.
To stop being billed for a seller, deactivate it on the Sellers page. Billing for that seller stops at the end of the current period.
Trial countdown and the Stripe Customer Portal
During the 14-day free trial, your dashboard shows the number of days remaining. Three days before the trial ends, Off Hours emails the seller's owner. When the trial ends, Off Hours attempts the first charge through Stripe. If you have not added a card, the seller transitions to past_due and a recovery CTA replaces the BillingPicker until you update your payment method.
All plan changes (Monthly to Annual, Annual to Monthly, updating card details, downloading invoices, canceling) happen in the Stripe Customer Portal. Click Manage in Stripe on the Billing page to open it. You sign in with the email on file and Stripe handles authentication.
Recovery states: past due and canceled
If a charge fails, the seller transitions to past_due. Off Hours hides the BillingPicker and shows an Update payment method CTA in its place. Rule mutation surfaces (creating, editing, or activating rules) are subdued with a tooltip explaining the seller is past due. Existing rules continue to execute while the payment issue is being resolved.
If you cancel and the period ends without resubscribing, the seller transitions to canceled_period_ended. Off Hours hides the BillingPicker and shows a Resubscribe CTA. Rule mutation surfaces are subdued. Rules stop executing. Your data and rule configurations remain in place if you choose to resubscribe.
Cancellation
Cancel any seller from the Stripe Customer Portal. The seller stays active through the end of the current billing period. After that, rules stop executing, campaigns stay in their last set state, and the seller enters canceled_period_ended. No further charges occur.
Frequently asked questions
The most common questions about Off Hours, answered directly. Can't find what you need? Email us at hello@off-hours.app.
Getting started
Rules and automation
For an event rule running 24 hours, it is different: if you manually pause a campaign that the event force-enabled, Off Hours notices within about an hour and stops re-enabling it for the rest of the event, treating your pause as a deliberate decision. You will get a one-time notification confirming this. See for details.
Account and billing
Still have a question?
Email us at hello@off-hours.app. We read every message and respond within one business day. If something in these docs is unclear or missing, let us know. We update them regularly.
Agency Partner Program
Earn 20 percent recurring commission for every Amazon Ads client you refer to Off Hours. Paid monthly to your Stripe account, for as long as they stay a customer.
What it is
The Agency Partner Program is for Amazon Ads agencies that want to earn recurring commission by referring their clients to Off Hours. You earn 20 percent of monthly recurring revenue for every client account you refer, paid monthly to your Stripe account, for as long as they stay a customer.
This is not a one-time bounty. It is a recurring revenue share.
How commission works
Each referred client account pays $149/month. Your commission is 20 percent of that: $29.80 per account per month. There are no tiers and no cap. Refer 5 clients and earn $149/month passively. Refer 20 and earn $596/month.
Commission is paid monthly, within the first week of each calendar month for the prior month's commissions. The minimum payout threshold is $50. Anything below that rolls forward to the next month with no loss of earnings. There are no clawbacks on commission already paid.
What you get as a partner
- 20 percent recurring commission. $29.80 per account per month, every month referred clients stay active.
- Unique referral link with automatic attribution tracking.
- Priority support for your accounts and referred clients.
- Early access to new rule types and product features before general release.
- Monthly Stripe payouts, no invoicing required.
- Co-marketing opportunities as the program grows.
How referral tracking works
You receive a unique referral link. When someone signs up through your link, they are attributed to your partner account permanently. Attribution is cookie-based with a 90-day window. Off Hours also tracks by email for cases where the cookie is cleared.
Commission only applies to new accounts. Existing Off Hours customers cannot be retroactively attributed to your partner account.
What happens if a client cancels
Commission stops when the account goes inactive. There are no clawbacks on commission already paid. If a client cancels and later resubscribes through your link, you earn again from that point forward.
How to apply
Apply at off-hours.app/agency. The application asks about your agency and how many Amazon Ads accounts you manage. Off Hours reviews applications within one business day and sends a confirmation email immediately on submission.
Not an agency? The pays $50 cash per converted referral, quarterly.
Referral Program
Earn $50 cash for every Amazon brand or seller you refer who converts to a paid Off Hours plan. Paid quarterly to your Stripe account. No limit on referrals, earnings stack.
What it is
The Referral Program is for Off Hours customers who want to earn cash by referring Amazon brands or sellers. When someone signs up through your unique referral link and converts to a paid account, you earn $50 cash paid to your Stripe account at the end of the quarter. No limit on referrals, earnings stack.
How payouts work
Referral earnings accumulate throughout each calendar quarter. Within 7 days of quarter end, Off Hours pays all earned commissions via Stripe. Quarter end dates are March 31, June 30, September 30, and December 31.
The minimum payout threshold is $50. If you are under the threshold at quarter end, earnings roll forward to the next quarter and never expire.
Example
Refer 3 brands in Q1. All three convert to paid. Your Q1 payout is $150, paid to your Stripe account within 7 days of March 31.
Who can apply
You need to be on a paid Off Hours plan to earn referral cash, since payouts go to your Stripe account. If you are currently in a free trial you can apply and your link will be ready when you convert.
What counts as a converted referral
A referral converts when someone signs up through your unique link and upgrades to a paid Off Hours plan. Free trial signups do not count. Only paid conversions earn the $50 cash payout.
Existing customers cannot be referred
Referral cash only applies to new accounts signing up for the first time through your link. Existing Off Hours customers cannot be retroactively attributed.
How to apply
Apply at off-hours.app/referral. Off Hours responds within one business day with your unique referral link and instructions.
Running an agency managing multiple Amazon Ads accounts? The pays 20 percent recurring MRR commission, paid monthly.