A goal is a progress bar for OBS. Follows, subs, tips, Bits, YouTube Super Chat and YouTube memberships can all count towards it, each with its own conversion rate, and reaching the target can announce once in chat.
What it solves
"How much further" motivates people more than "how much so far". A running total has no finish line, whereas a visible bar points scattered support in one direction; a viewer can see what their contribution moved, and how far there is left to go.
Getting started
- Create a goal and set the
target(progress here means 100%). - Pick which sources count, and set a conversion rate for each.
- Add the goal's OBS URL as a browser source and choose a theme.
Running several goals at once
You aren't limited to one goal. Create as many as you need; each tracks independently and gets its own OBS source. A long-running "total subscribers" bar can sit permanently in the corner while a separate "tonight's tip goal" runs only for this stream. Sources, rates and themes are configured per goal and don't interfere with each other; how many you can create depends on your plan.
How conversion rates work
Each source converts into "progress" on its own terms. Set the Bits rate to 0.01 and
100 Bits equals 1 progress; tips are the amount times that payment provider's rate; gifted subs are
the count times the matching tier value (reusing the subscription tier settings). This lets you
decide what a sub is worth relative to a tip, instead of being forced into one unit.
The manual entry has separate rates for TWD and USD, so a tip you add by hand in USD is converted with the USD rate.
YouTube Super Chat works on its own track, set separately from tips: the amount is converted to TWD
at a fixed rate first, then multiplied by its rate; currencies not in the conversion table don't count.
YouTube memberships add a fixed value per member instead of a rate; a gifted batch of memberships
counts as that many members. Membership milestone messages (an existing member posting about how
long they've stuck around) don't add progress — only new members and gifted memberships do.
Common misconceptions
-
Only events after the goal was enabled count.
Past follows and tips are not retroactively added; a new goal starts at zero.
Use the
starting valueif you want it to begin partway. - Starting value and manual adjustment are different things. The starting value is where the bar begins; a manual adjustment adds or subtracts afterwards (total progress never goes below zero).
- The completion announcement fires once. It announces when the target is crossed and won't repeat as contributions keep coming. Resetting and re-enabling allows one more.
- Past the target, the bar stays full. The percentage shows the real figure (137%, say) while the bar and gauge arc remain full, deliberately, since "full" is what reads as "target reached".
- Preview neither submits nor saves anything. It only shows you the appearance; real progress is untouched.
Settings
The text below is taken from the in-app help, so it stays in sync with the actual interface.
| Setting | What it does |
|---|---|
| Adjust progress | Manually increase (or decrease) the progress value. Total never goes below 0. |
| Goal amount | Progress bar reaches 100% at this value |
| Starting amount | Base value added to the progress (bar starting point) |
| Donations | Amount × the provider rate is added to the progress |
| Bits (cheer) | Bits × rate is added to the progress |
| Subscriptions (incl. resubs) | Adds a fixed value per sub, by tier |
| Gift subs | Gift count × the tier value above (uses the sub tier values) |
| YouTube Super Chat | The amount is converted to TWD at a fixed rate, then × the rate below is added to the progress. Currencies not in the conversion table aren't counted. |
| YouTube memberships | Adds a fixed value per member; gifted memberships add count × value. Membership milestone messages aren’t counted. |
| Font size (px) | 0 = theme default (Classic scales with the widget height) |
| Show percentage in center | Off = show the progress text instead |
| Allow over 100% | Percentages show the real value (e.g. 137%); the bar and gauge arc stay full |
| Show +N pop-up on progress | A floating +N appears above the bar when progress increases |
| Bits rate | e.g. 0.01 → 100 bits = 1 progress |
| Super Chat rate | Applied to the TWD-converted amount, e.g. 1 → every converted NT$1 = 1 progress |
| YouTube membership value | Fixed value per member, e.g. 75 → each member/gift adds 75 to the progress |
Other notes
- This goal is not enabled. Progress is not being tracked right now.
- Each source converts to progress at its own rate. Only events after the goal is (re)enabled are counted.
- Announces once when crossing the goal; enabling the goal again (reset) allows a new announcement.
- Preview only: nothing is sent or saved.
- Set per-source conversion here, editable even while a source is off; takes effect once enabled.
- Toggle and set a rate per provider. PayPal and Unifi Pay are priced in USD (default 30). The manual entry also has a separate USD rate, applied when a manual donation is added in USD.
Other settings
These settings have no additional help text in the dashboard; only their names are listed here.
- Operation failed. Please try again.
- (untitled)
- No goals yet
- Select a goal on the left, or create one
- Over limit
- Goal active
- Enable & restart
- Disable
- Basics
- Title
- Progress text
- Current value
- Goal value
- Percentage
- Progress sources
- Tier 1
- Tier 2
- Tier 3
- Goal reached announcement
- Announce in chat when reached
- Reached message
- Goal title
- Current progress
- Demo add
- Theme
- Appearance
- Classic
- Minimal
- Card
- Gauge
- Neon
- Glass
- Color style
- Blue
- Purple
- Pink
- Orange
- Yellow
- Green
- Background color
- Font
- Text color
- Bar color
- Track color
- Thickness (px)
- Accent color
- Panel color
- Corner radius (px)
- Show title
- Amount pop-up
- Pop-up color
- Multi-source goals with an OBS progress bar in multiple themes
- Conversion rates
- Donations · payment providers
- ECPay
- OPay
- PAYUNi
- NewebPay
- PayPal
- Unifi Pay
- Manual entry