Your subathon timer
stopped adding time.
You are three hours into a subathon, a gift bomb lands, chat cheers, and the clock does not budge. It is the most common StreamElements subathon complaint, and it has a real cause.
48:00:00
Clock frozen
luna_rae gifted 5 subs
+05:0048:05:00
+5:00 added
luna_rae gifted 5 subs
+05:00The short version
StreamElements runs the subathon countdown inside your OBS browser source, so a reload, a sleeping tab, or a missed event can leave the clock stuck while alerts keep firing. A still-open GitHub issue describes exactly this. The fix is a timer that stores the countdown as a server-side end time. StreamerGiveaway does, and it is free.
The actual cause
Why does the StreamElements subathon timer stop adding time?
It comes down to where the countdown lives. A widget timer keeps the running total inside the browser source that renders it in OBS. That is fine for a short stream.
Over a long run it gets fragile. If that source reloads, sleeps, or drops its connection, the number it was holding can be lost, so an alert plays but the clock never moves. A documented, still-open issue on StreamElements' own examples repository, titled Subathon widget fails to add time after some time, reports precisely this: reloading the source re-adds only the last event, and everything in between is gone.
The fix is not a better widget. It is moving the clock off the browser source entirely.
Widget approach
Time lives in the browser source
Seconds counted in your tab
172,800s
- A reload, crash, or scene switch resets the running count.
- Miss an event while the tab is asleep and that time is gone.
- You are the backup: watch it, reload it, patch it by hand.
StreamerGiveaway approach
Time lives as an end time in the database
One trusted end time
Sat 21:00:00
- Refresh, restart OBS, or change scenes: every view recalculates the same clock.
- Each verified event moves the end time once, and duplicates are ignored.
- Nothing to babysit, because the number is never held in your tab.
Side by side
StreamerGiveaway vs the StreamElements widget
Honest rows, including where StreamElements and Streamlabs do more. The point is not that one tool wins everything, it is that they handle the clock in different places.
| Feature | StreamerGiveaway | StreamElements | Streamlabs |
|---|---|---|---|
| Countdown survives a refresh or OBS restart | Server end time | ||
| Auto add time from Twitch subs, gift subs, resubs | |||
| Auto add time from bits and cheers | |||
| Duplicate event is only counted once | |||
| Add time from tips and donations | |||
| Add time from follows | Varies | ||
| Works on YouTube subathons too | Desktop only | ||
| Runs on any streaming software (OBS browser source) | Streamlabs Desktop | ||
| Customizable overlay | |||
| Pause, resume, and manual time edits | |||
| Free to run |
Updated July 2026. Streamlabs subathon timers are typically third-party apps in Streamlabs Desktop, so behavior varies by app. Features change, so check current docs before you decide.
The complaints, decoded
Common StreamElements subathon problems
The searches people actually type when a subathon is on the line. Here is the honest cause of each, and how a server-side clock handles it.
Timer not adding time
The most reported failure. The alert plays, but the browser-source clock does not move. Because the running total lives in that source, a desync or a missed re-render can leave events uncounted, and reloading the source often keeps only the last one.
Our clock is a saved end time, so every verified event moves it once. A reload just re-reads the same number.
Widget not working after a few hours
Long runs are where browser-source timers get fragile. A sleeping tab, a dropped socket, or an OBS cache that never refreshed can freeze the count while everything looks fine on screen.
Nothing to keep awake on your end. The end time sits on the server and the overlay recalculates from it on every paint.
Gifted subs not counted
Streamers have reported gift-sub batches that fire an alert but add no time, or a single mass gift that only registers once. A big gift bomb is exactly when you least want the clock to miss.
We read gift-sub events through Twitch EventSub, add the full batch, and drop any duplicate delivery so five gifts add five, not one.
Time added or removed at random
When state is rebuilt from cached widget data, a reload can replay or drop events, which shows up as the clock jumping or losing hours on its own during an active run.
One event, one write, one end time. There is no local total to replay, so the clock only changes when a real event lands.
Timer commands to memorize
Adding or pausing time on the widget means chat commands like the add-time command with an m or h suffix, run from a control-panel dock you have to keep open.
Add or remove time, pause, and resume from buttons in your dashboard. No commands to memorize, and a mod can run it without your login.
Subathon goals and milestones
Goal displays usually live in a separate widget, so the milestone bar and the clock can drift out of sync or need their own setup pass.
The goal line sits under the same clock, reads from the same event feed, and updates in the same moment the time does.
Being honest about it
When StreamElements is the right call
A pain-point page that pretends the incumbent is useless is not worth reading. There are real cases where StreamElements is the better fit, and here they are.
You want tips, donations, or merch to add time
StreamElements can add time from tips and donations. Our timer is built around Twitch subs, gift subs, resubs, and bits, so a tip-driven subathon is a real reason to stay.
You stream to YouTube
Automatic event ingestion here is Twitch-only through EventSub. If your subathon runs on YouTube, StreamElements covers a platform we do not read from yet.
You want follows to move the clock
Some streamers add a few seconds per follow to keep new arrivals engaged. That is a StreamElements option, not one of ours.
The plain trade: StreamElements reaches wider (tips, follows, merch, YouTube) while holding the clock in the browser source. StreamerGiveaway is narrower on purpose. It does Twitch subs, gift subs, resubs, and bits, and in exchange the countdown lives on the server and cannot be lost to a refresh. If your subathon runs on Twitch and the clock staying correct matters more than counting follows, the trade is an easy one.
Moving over
Switching takes about two minutes
You are not migrating data or learning a new app. You connect Twitch, set your increments, and swap one browser source.
Connect Twitch
Sign in once. We subscribe to your sub, gift, resub, and cheer events through EventSub.
Set your increments
Decide what a sub, a gift, and 100 bits are worth. The rules save with the run.
Paste the OBS URL
Drop one browser source into OBS, Streamlabs, or any software. The clock is live.
FAQ
StreamElements subathon timer questions
Why is my StreamElements subathon timer not adding time?+
The usual cause is that the countdown runs inside your OBS browser source. When that source desyncs, sleeps, or is reloaded, the running total it was holding can be lost, so an alert plays but the clock does not move. A still-open GitHub issue on StreamElements' own examples repo, titled Subathon widget fails to add time after some time, describes this exact behavior. Reloading the source usually re-adds only the most recent event.
Why did my subathon timer stop working after a few hours?+
Long runs are the weak spot for any timer that counts seconds inside a browser tab. A dropped connection, a sleeping source, or a cache that never refreshed can freeze the count while alerts keep firing. A timer that stores the end time on a server instead recalculates the same clock on every refresh, so hours of run time do not depend on a tab staying healthy.
Does the StreamElements timer count gifted subs correctly?+
Often, but not always. Streamers have publicly reported gift-sub batches that show an alert without adding time, or a mass gift that registers as one. Our timer reads gift events through Twitch EventSub, adds the full batch, and ignores any duplicate delivery, so a five-gift bomb adds five gifts worth of time.
What are the StreamElements subathon timer commands?+
StreamElements uses chat commands to control the widget, including an add-time command that accepts an m or h suffix to add minutes or hours, plus pause and resume commands, run from a control-panel dock. On StreamerGiveaway you do the same things from dashboard buttons instead, so there are no commands to memorize and a mod can run the timer without your login.
Is there a free subathon timer that does not lose time on a refresh?+
Yes. The StreamerGiveaway subathon timer stores the countdown as an absolute end time in the database, so refreshing the dashboard, restarting OBS, or changing scenes recalculates the same clock. It is free to run two complete Twitch-connected subathons of up to 24 hours each.
Can I switch without changing my streaming software?+
Yes. The timer is a standard OBS browser source, so it drops into OBS Studio, Streamlabs Desktop, or anything that supports a browser source. You do not have to move off the software you already stream with.
Does this work for Kick or YouTube subathons?+
Automatic event ingestion is Twitch-only right now because it uses Twitch EventSub to verify subs, gift subs, resubs, and cheers. Kick and YouTube auto-ingestion are not available yet, so for a YouTube subathon StreamElements remains the broader option.
Last updated July 2026. Free to run two complete Twitch-connected subathons of up to 24 hours each.
Related tools and guides
The free subathon timer
Twitch-connected, server-side clock, customizable OBS overlay.
How to run a Twitch subathon
The full timer, Twitch, OBS, and live-control setup.
What is a subathon?
The add-time mechanic, common rules, capped vs uncapped.
Subathon ideas and goals
Milestones and incentives that keep chat pushing the clock.
New to the format? Start on the StreamerGiveaway homepage to see the timer, giveaways, and polls together.
Run the next one on a clock that holds
Connect Twitch, set your increments, and let verified subs, gift subs, resubs, and bits move a countdown that survives every refresh. Free to start, nothing to install in your channel.