diff --git a/.gitignore b/.gitignore index b2abc1e..c72d5e6 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,6 @@ yarn.lock # Claude Code session artifacts .claude/ +node_modules/ +package-lock.json +dist/ diff --git a/astro.config.mjs b/astro.config.mjs index 8d059f1..9c67aed 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -193,13 +193,69 @@ export default defineConfig({ starlightLlmsTxt(), starlightSidebarTopics( [ + { + label: 'Dashboard', + link: '/getting-started', + icon: 'rocket', + items: [ + { + label: 'Getting Started', + items: [ + { label: 'Overview', slug: 'getting-started' }, + { label: 'Create Your Account', slug: 'getting-started/account-setup' }, + { label: 'Dashboard & Activity Feed', slug: 'getting-started/dashboard-overview' }, + { label: 'Your Public Profile', slug: 'getting-started/public-profile' }, + { label: 'Account Settings', slug: 'getting-started/account-settings' }, + { label: 'Granting Mod Dashboard Access', slug: 'getting-started/managing-access' }, + { label: 'Importing from Other Platforms', slug: 'getting-started/importing' }, + { label: 'Enable Live Streaming on YouTube', slug: 'getting-started/youtube-live' }, + { label: 'Troubleshooting', slug: 'getting-started/troubleshooting' }, + ], + }, + { + label: 'Revenue', + items: [ + { label: 'Overview', slug: 'revenue' }, + { label: 'Tipping', slug: 'revenue/tipping' }, + { label: 'Charity Streams', slug: 'revenue/charity-streams' }, + { label: 'SE.Pay', slug: 'revenue/se-pay' }, + ], + }, + { + label: 'Loyalty & Stream Store', + items: [ + { label: 'Overview', slug: 'loyalty' }, + { label: 'Stream Store', slug: 'loyalty/stream-store' }, + { label: 'Troubleshooting', slug: 'loyalty/troubleshooting' }, + ], + }, + { + label: 'Campaigns', + collapsed: true, + items: [ + { label: 'Overview', slug: 'campaigns' }, + { label: 'Add the Sponsorship Overlay', slug: 'campaigns/overlay-setup' }, + { label: 'Payments', slug: 'campaigns/payments' }, + { label: 'Staying Compliant', slug: 'campaigns/compliance' }, + { label: 'Subscription-Based Campaigns', slug: 'campaigns/subscription-campaigns' }, + { label: 'Optional Bonus Goals', slug: 'campaigns/bonus-goals' }, + { label: 'In-Game Budget Goal', slug: 'campaigns/in-game-budget' }, + { label: 'Troubleshooting', slug: 'campaigns/troubleshooting' }, + ], + }, + { label: 'Media Requests', slug: 'media-requests' }, + { label: 'Ground Control', slug: 'ground-control' }, + ], + }, { label: 'Chatbot', link: '/chatbot', icon: 'comment', items: [ { label: 'Overview', slug: 'chatbot' }, + { label: 'Add to Your Channel', slug: 'chatbot/platforms' }, { label: 'Getting Started', slug: 'chatbot/getting-started' }, + { label: 'User Management', slug: 'chatbot/user-management' }, { label: 'Guides', items: [ @@ -207,6 +263,8 @@ export default defineConfig({ { label: 'Lurk Command', slug: 'chatbot/guides/lurk-command' }, { label: 'Countdown Command', slug: 'chatbot/guides/countdown-command' }, { label: 'Viewer Input', slug: 'chatbot/guides/viewer-input' }, + { label: 'Bot Detection Command', slug: 'chatbot/guides/bot-detection' }, + { label: 'Run Ads via Chatbot', slug: 'chatbot/guides/run-ads' }, { label: 'All guides', slug: 'chatbot/guides' }, ], }, @@ -232,6 +290,7 @@ export default defineConfig({ ], }, { + id: 'selive', label: 'SE.Live', link: '/selive', icon: 'window', @@ -241,15 +300,18 @@ export default defineConfig({ { label: 'Install and connect', slug: 'selive/getting-started' }, ] }, { label: 'Guides', items: [ + { label: 'YouTube quickstart', slug: 'selive/guides/youtube-quickstart', badge: { text: '5 parts', variant: 'note' } }, { label: 'Add overlays and alerts', slug: 'selive/guides/overlays-and-alerts' }, { label: 'Create a vertical canvas', slug: 'selive/guides/canvas' }, { label: 'Manage scenes and sources', slug: 'selive/guides/scenes-and-sources' }, { label: 'Set up multistreaming', slug: 'selive/guides/multistreaming' }, { label: 'Twitch dual format', slug: 'selive/guides/twitch-dual-format' }, { label: 'Save replays with Backtrack', slug: 'selive/guides/backtrack' }, + { label: 'YouTube setup', slug: 'selive/guides/youtube-setup' }, { label: 'All guides', slug: 'selive/guides' }, ] }, { label: 'Troubleshooting', slug: 'selive/troubleshooting' }, + { label: 'Uninstalling SE.Live', slug: 'selive/uninstall' }, ], }, { @@ -262,19 +324,25 @@ export default defineConfig({ { label: 'Guides', items: [ - { label: 'Build your first custom widget', slug: 'overlays/first-custom-widget' }, + { label: 'Add to your broadcast software', slug: 'overlays/broadcast-software' }, + { label: 'AlertBox alert variations', slug: 'overlays/alertbox-variations' }, + { label: 'Add a chat overlay', slug: 'overlays/chat-widget' }, + { label: 'KappaGen', slug: 'overlays/kappagen' }, + { label: 'Widget Data', slug: 'overlays/widget-data' }, { label: 'Custom code in AlertBoxes', slug: 'overlays/custom-code-in-alertbox' }, ], }, { label: 'Custom Widgets', items: [ + { label: 'Build your first custom widget', slug: 'overlays/first-custom-widget' }, { label: 'Code Editor', slug: 'overlays/widget-structure' }, { label: 'SE_API Reference', slug: 'overlays/custom-widget' }, { label: 'Widget Events', slug: 'overlays/events' }, { label: 'Session Data Reference', slug: 'overlays/session-data' }, ], }, + { label: 'Troubleshooting', slug: 'overlays/troubleshooting' }, { label: 'Editor Shortcuts', slug: 'overlays/overlay-editor-shortcuts' }, ], }, @@ -342,6 +410,7 @@ export default defineConfig({ ], { exclude: ['/', '/404'], + topics: { selive: ['/selive/guides/youtube-quickstart/**'] }, }, ), ], diff --git a/public/img/youtube-quickstart/activity-feed-dock.png b/public/img/youtube-quickstart/activity-feed-dock.png new file mode 100644 index 0000000..c4d3924 Binary files /dev/null and b/public/img/youtube-quickstart/activity-feed-dock.png differ diff --git a/public/img/youtube-quickstart/add-command-modal.jpg b/public/img/youtube-quickstart/add-command-modal.jpg new file mode 100644 index 0000000..c6aea23 Binary files /dev/null and b/public/img/youtube-quickstart/add-command-modal.jpg differ diff --git a/public/img/youtube-quickstart/add-timer-modal.jpg b/public/img/youtube-quickstart/add-timer-modal.jpg new file mode 100644 index 0000000..71c241c Binary files /dev/null and b/public/img/youtube-quickstart/add-timer-modal.jpg differ diff --git a/public/img/youtube-quickstart/banned-words.jpg b/public/img/youtube-quickstart/banned-words.jpg new file mode 100644 index 0000000..234e253 Binary files /dev/null and b/public/img/youtube-quickstart/banned-words.jpg differ diff --git a/public/img/youtube-quickstart/canvas-dock.png b/public/img/youtube-quickstart/canvas-dock.png new file mode 100644 index 0000000..5044a66 Binary files /dev/null and b/public/img/youtube-quickstart/canvas-dock.png differ diff --git a/public/img/youtube-quickstart/chat-commands.jpg b/public/img/youtube-quickstart/chat-commands.jpg new file mode 100644 index 0000000..922c3bf Binary files /dev/null and b/public/img/youtube-quickstart/chat-commands.jpg differ diff --git a/public/img/youtube-quickstart/chatbot-overview.jpg b/public/img/youtube-quickstart/chatbot-overview.jpg new file mode 100644 index 0000000..32c29c4 Binary files /dev/null and b/public/img/youtube-quickstart/chatbot-overview.jpg differ diff --git a/public/img/youtube-quickstart/connect-channel.webp b/public/img/youtube-quickstart/connect-channel.webp new file mode 100644 index 0000000..4e9284a Binary files /dev/null and b/public/img/youtube-quickstart/connect-channel.webp differ diff --git a/public/img/youtube-quickstart/create-group-modal.jpg b/public/img/youtube-quickstart/create-group-modal.jpg new file mode 100644 index 0000000..e785eab Binary files /dev/null and b/public/img/youtube-quickstart/create-group-modal.jpg differ diff --git a/public/img/youtube-quickstart/dashboard-activity-feed.jpg b/public/img/youtube-quickstart/dashboard-activity-feed.jpg new file mode 100644 index 0000000..048cea3 Binary files /dev/null and b/public/img/youtube-quickstart/dashboard-activity-feed.jpg differ diff --git a/public/img/youtube-quickstart/dashboard-home.jpg b/public/img/youtube-quickstart/dashboard-home.jpg new file mode 100644 index 0000000..4705374 Binary files /dev/null and b/public/img/youtube-quickstart/dashboard-home.jpg differ diff --git a/public/img/youtube-quickstart/desktop-apps.jpg b/public/img/youtube-quickstart/desktop-apps.jpg new file mode 100644 index 0000000..0dc2625 Binary files /dev/null and b/public/img/youtube-quickstart/desktop-apps.jpg differ diff --git a/public/img/youtube-quickstart/multistreaming-dock.png b/public/img/youtube-quickstart/multistreaming-dock.png new file mode 100644 index 0000000..e52bac9 Binary files /dev/null and b/public/img/youtube-quickstart/multistreaming-dock.png differ diff --git a/public/img/youtube-quickstart/my-overlays.jpg b/public/img/youtube-quickstart/my-overlays.jpg new file mode 100644 index 0000000..a04330e Binary files /dev/null and b/public/img/youtube-quickstart/my-overlays.jpg differ diff --git a/public/img/youtube-quickstart/obs-docks-layout.webp b/public/img/youtube-quickstart/obs-docks-layout.webp new file mode 100644 index 0000000..c34eeae Binary files /dev/null and b/public/img/youtube-quickstart/obs-docks-layout.webp differ diff --git a/public/img/youtube-quickstart/overlay-editor.jpg b/public/img/youtube-quickstart/overlay-editor.jpg new file mode 100644 index 0000000..14c1a3e Binary files /dev/null and b/public/img/youtube-quickstart/overlay-editor.jpg differ diff --git a/public/img/youtube-quickstart/overlay-gallery.jpg b/public/img/youtube-quickstart/overlay-gallery.jpg new file mode 100644 index 0000000..4187f92 Binary files /dev/null and b/public/img/youtube-quickstart/overlay-gallery.jpg differ diff --git a/public/img/youtube-quickstart/setup-wizard-start.png b/public/img/youtube-quickstart/setup-wizard-start.png new file mode 100644 index 0000000..671a36e Binary files /dev/null and b/public/img/youtube-quickstart/setup-wizard-start.png differ diff --git a/public/img/youtube-quickstart/spam-filters.jpg b/public/img/youtube-quickstart/spam-filters.jpg new file mode 100644 index 0000000..20904fa Binary files /dev/null and b/public/img/youtube-quickstart/spam-filters.jpg differ diff --git a/public/img/youtube-quickstart/timers.jpg b/public/img/youtube-quickstart/timers.jpg new file mode 100644 index 0000000..8a821a3 Binary files /dev/null and b/public/img/youtube-quickstart/timers.jpg differ diff --git a/public/img/youtube-quickstart/wizard-camera-mic.png b/public/img/youtube-quickstart/wizard-camera-mic.png new file mode 100644 index 0000000..1e8c375 Binary files /dev/null and b/public/img/youtube-quickstart/wizard-camera-mic.png differ diff --git a/public/img/youtube-quickstart/wizard-display-capture.png b/public/img/youtube-quickstart/wizard-display-capture.png new file mode 100644 index 0000000..7342e42 Binary files /dev/null and b/public/img/youtube-quickstart/wizard-display-capture.png differ diff --git a/public/img/youtube-quickstart/wizard-finish.png b/public/img/youtube-quickstart/wizard-finish.png new file mode 100644 index 0000000..2331d84 Binary files /dev/null and b/public/img/youtube-quickstart/wizard-finish.png differ diff --git a/public/img/youtube-quickstart/youtube-chat-dock.png b/public/img/youtube-quickstart/youtube-chat-dock.png new file mode 100644 index 0000000..e940fbc Binary files /dev/null and b/public/img/youtube-quickstart/youtube-chat-dock.png differ diff --git a/src/content/docs/campaigns/bonus-goals.mdx b/src/content/docs/campaigns/bonus-goals.mdx new file mode 100644 index 0000000..dff65a9 --- /dev/null +++ b/src/content/docs/campaigns/bonus-goals.mdx @@ -0,0 +1,36 @@ +--- +title: Optional Bonus Goals +description: "Complete a sponsorship campaign's optional bonus goals for extra payment, and how the validation process works." +keywords: + - StreamElements bonus goals + - sponsorship bonus payment +--- + +Some campaigns include optional goals — extra tasks beyond the mandatory ones — that pay a bonus on top of your regular campaign payout. + +## Find your campaign's optional goals + +Check your campaign brief for a list of available goals; not every campaign has them. They may be specific tasks, milestones, or achievements to hit during your sponsored stream(s). + +## Complete a goal + +1. Find the completion form in your campaign brief (usually on one of its slides). +2. Fill it out with the requested details and submit it. +3. The StreamElements campaigns team manually reviews submissions — this can take up to a week. +4. Once approved, the bonus is added to your total payout. + +## FAQ + +**Does the difficulty level I choose matter?** +No — as long as you complete the task, the difficulty or level you play at doesn't affect approval. + +**How do I know if my goal was approved?** +It's marked as completed in your campaign dashboard, and your payout total increases to reflect it. + +**I submitted the form, but my goal still isn't marked complete.** +If it's been over a week, [contact support](https://support.streamelements.com/hc/en-us/requests/new) so the team can investigate. + +## Related + +- [Payments](/campaigns/payments) +- [In-Game Budget Goal](/campaigns/in-game-budget) diff --git a/src/content/docs/campaigns/compliance.mdx b/src/content/docs/campaigns/compliance.mdx new file mode 100644 index 0000000..1fe03f5 --- /dev/null +++ b/src/content/docs/campaigns/compliance.mdx @@ -0,0 +1,31 @@ +--- +title: Staying Compliant +description: "Keep StreamElements sponsorship campaigns compliant with FTC advertising rules and Twitch's branded content guidelines." +platforms: [twitch] +keywords: + - FTC disclosure streaming + - Twitch branded content + - sponsorship compliance +--- + +import { Steps } from '@astrojs/starlight/components'; + +Two things keep a sponsored stream compliant with FTC rules and Twitch's terms. + +## 1. Disclose the sponsorship (FTC) + +Your audience needs to clearly know the stream is sponsored. The simplest way: include **#Ad** or **#Sponsored** in your stream title, so it stays visible throughout. Some campaigns require a specific tag instead — always check your campaign brief. If you promote the campaign on social media, add the same disclosure to that post too. + +## 2. Use Twitch's Branded Content Tool + +StreamElements campaigns are compliant with Twitch's branded content guidelines, since Twitch's Terms of Service (Section 12, Advertisements) and Branded Content Guidelines (Section 9) both allow branded content as long as you use Twitch's own disclosure tool. + + + +1. Open your Twitch **Stream Manager**. +2. Click **Edit Stream Info**. +3. Check the **Branded Content** box. + + + +This automatically adds a branded content disclosure to your stream and its archive. See [Twitch's Branded Content Policy](https://help.twitch.tv/s/article/branded-content-policy?language=en_US#tool) for more detail on the tool itself. diff --git a/src/content/docs/campaigns/in-game-budget.mdx b/src/content/docs/campaigns/in-game-budget.mdx new file mode 100644 index 0000000..00e7508 --- /dev/null +++ b/src/content/docs/campaigns/in-game-budget.mdx @@ -0,0 +1,42 @@ +--- +title: In-Game Budget Goal +description: "Get reimbursed, plus a bonus, for an in-game purchase made as part of a sponsorship campaign." +keywords: + - StreamElements in-game budget + - sponsorship purchase reimbursement +--- + +Some campaigns let you spend money in-game and get reimbursed for the purchase, plus a bonus on top. This goal is for **creators only** — purchases made by your viewers don't count. It's also limited to new users of the game, and requires using your personalized campaign link. + +## PC, or PC & Mobile campaigns + +1. Click your personalized campaign link, choose **See your name on screen**, and connect the Twitch account tied to your sponsorship. +2. Download the game on your PC and make sure every purchase happens there — not on mobile. Check your campaign brief for suggested items to buy. + +## Mobile-only campaigns + +1. Click your personalized campaign link, choose **See your name on screen**, and connect your Twitch account. +2. Install the game on your mobile device. If you're using an emulator, first create a game account on mobile itself (via Scopely or Google), then log into the emulator with that same account. Make every purchase from your mobile device, not the emulator. + +## When a brand doesn't support multi-platform purchases + +**Android:** follow the mobile-only steps above — link, account, install on Android, and if using an emulator, create the account on mobile first. Purchases must happen directly on the mobile device. + +**iPhone:** iOS can't connect accounts to an emulator, so purchases made there won't count. Try mirroring your device to your computer instead. If mirroring isn't possible, describe your purchase and its rewards to your viewers on stream instead. + +## Raid: Shadow Legends + +1. Click your personalized campaign link and register with your Twitch username (you can update it later if needed). +2. Install the game on PC and make all purchases there. + +## Tips + +- Make a single purchase — splitting it into smaller ones can cause tracking issues. +- Save your receipt in case the goal doesn't update automatically. +- Showing your purchase and its rewards on stream makes for more engaging content. + +If your goal doesn't update after following these steps, [contact support](https://support.streamelements.com/hc/en-us/requests/new). + +## Related + +- [Optional Bonus Goals](/campaigns/bonus-goals) diff --git a/src/content/docs/campaigns/index.mdx b/src/content/docs/campaigns/index.mdx new file mode 100644 index 0000000..ec0e5c8 --- /dev/null +++ b/src/content/docs/campaigns/index.mdx @@ -0,0 +1,66 @@ +--- +title: Sponsorships Overview +description: "How StreamElements Sponsorships work: getting invited, exploring offers, participating in a campaign, and eligibility criteria." +keywords: + - StreamElements sponsorships + - creator sponsorship campaigns + - brand deal streaming +--- + +import { CardGrid, LinkCard } from '@astrojs/starlight/components'; + +StreamElements Sponsorships connects you with brand partners for paid campaigns — promoting a game or product as part of your regular content. + + + + + + + + +## Getting invited + +Invitations are automated, based on factors including: + +- **Language and location** — relevance to the campaign's target region; your language may matter more than your location. +- **Channel activity and viewership** — consistent streaming and engagement. There's no minimum concurrent viewer requirement. +- **Brand safety** — your most-played game genres need to fit the brand's intended audience. +- **Terms of Service compliance** — past violations count against you. +- **Past sponsorship results** and **campaign preferences** — including previous rejections and a cooldown period after running a campaign, to avoid audience fatigue. + +There's no way to request an invite directly — you can't speed this up beyond working on these factors. If you're eligible but don't see any offers, or an offer you wanted has run out of spots, use **Notify Me** on the [Sponsorships page](https://streamelements.com/dashboard/sponsorships/list) to register interest — this doesn't guarantee an offer, but flags you for the next one. If offers have slowed or stopped, it likely means your metrics or activity have changed — focus on consistency, content quality, and audience engagement to improve your standing over time. + +## Exploring your offers + +The [Sponsorships page](https://streamelements.com/dashboard/sponsorships/list) (under Revenue in your dashboard) lists your campaigns across three tabs: **Open & Active**, **Completed**, and **Expired & Rejected**. Each offer shows the game, deployment type, and key features — select **Learn More** to see estimated earnings and requirements before deciding. + +If a campaign isn't for you, decline it with **No Thanks** and leave feedback. Otherwise, **Get Started** takes you to the campaign's Overview screen, with tabs for your current status, Setup, a campaign-specific FAQ, Tips for Success, and Pre-Stream Setup (a step checklist to complete before you can go live with the campaign). + +## Participating + +Each campaign has its own goals and requirements — read them fully before starting, since maximizing earnings depends on it. Participation is usually built around a type of campaign: + +- **Gaming campaigns** — promote a game and drive new players. +- **Non-gaming campaigns** — promote a product or service; see [Subscription-Based Campaigns](/campaigns/subscription-campaigns) for an example (HelloFresh, Factor75). + +Some campaigns also offer optional targets for extra pay — see [Optional Bonus Goals](/campaigns/bonus-goals) — or let you get reimbursed for an in-game purchase — see [In-Game Budget Goal](/campaigns/in-game-budget). + +Twitch is the primary platform for campaign goals, but you can share your campaign link on YouTube, TikTok, Kick, Instagram, or Discord too. + +Most campaigns need at least one valid event to qualify for payment, as long as mandatory tasks (like using the branded overlay) are met. Generally, a valid event means: + +- The participant is genuinely new — never installed the game or subscribed to the service before. +- They used your unique link, code, or QR code without issues (ad blockers can interfere with landing pages). +- For PC games, the downloaded file name wasn't changed. +- For mobile games, the app was downloaded from the app store after clicking your campaign link — emulators don't count, only real devices. +- No duplicate accounts or devices from the same IP address — these get flagged as abusive. + +Campaigns should run their full duration — ending one early can reduce engagement, affect your payout eligibility, and impact future sponsorship opportunities. StreamElements can't help with in-game technical issues; contact the game's own support for those. + +## FAQ + +**Can I use a PC version of a mobile-only campaign?** +Use the mobile version instead, or an emulator like Bluestacks or NoxPlayer. + +**What happens if a campaign is flagged as abusive?** +If a high number of invalid events are detected, payment for the campaign may be revoked entirely, alongside the usual per-event adjustments. diff --git a/src/content/docs/campaigns/overlay-setup.mdx b/src/content/docs/campaigns/overlay-setup.mdx new file mode 100644 index 0000000..02e8934 --- /dev/null +++ b/src/content/docs/campaigns/overlay-setup.mdx @@ -0,0 +1,47 @@ +--- +title: Add the Sponsorship Overlay to OBS +description: "Copy your campaign's sponsorship overlay link and add it to OBS Studio as a browser source." +keywords: + - StreamElements sponsorship overlay + - campaign overlay OBS +--- + +import { Steps } from '@astrojs/starlight/components'; + +Most campaigns require a branded overlay on your main OBS scene throughout the sponsored stream. + +## Copy the overlay link + + + +1. Open the [Sponsorships page](https://streamelements.com/dashboard/sponsorships/list) and find your campaign. +2. Under **Set up and prepare**, click **Copy Link**. + + + +## Add it to OBS + + + +1. In OBS, go to **Sources** and click **+**, then choose **Browser**. +2. Name it (for example "Sponsorship Overlay") and click **OK**. +3. Paste the copied URL into the **URL** field. +4. Set the width and height to whatever your campaign brief specifies. +5. Click **OK** to save. + + + +If your overlay includes a widget with sound, check **Shutdown source when not visible** — this also reduces load on your computer, though it can delay the overlay loading in when you switch to it. To avoid that delay, use OBS's Studio Mode to preload scenes ahead of a transition. + +## FAQ + +**Can I run the sponsorship overlay alongside my other overlays?** +Yes — OBS supports multiple overlay browser sources at once; just add each one separately. + +**Can I customize the sponsorship overlay?** +Use the settings specified in your campaign brief rather than customizing it yourself. + +## Related + +- [Sponsorships Overview](/campaigns) +- [Troubleshooting](/campaigns/troubleshooting) diff --git a/src/content/docs/campaigns/payments.mdx b/src/content/docs/campaigns/payments.mdx new file mode 100644 index 0000000..cecbd38 --- /dev/null +++ b/src/content/docs/campaigns/payments.mdx @@ -0,0 +1,49 @@ +--- +title: Sponsorship Payments +description: "How sponsorship campaign payments work: timelines, meeting campaign goals, payment info, and what payment statuses mean." +keywords: + - StreamElements sponsorship payment + - campaign payout timeline + - sponsorship payment status +--- + +Payment procedures can vary by campaign — check your campaign brief and [Sponsorships page](https://streamelements.com/dashboard/sponsorships/list) for specifics. In general: + +## Timeline + +Payments typically take **30–45 days** to process after a campaign ends, to allow time to verify performance. [Subscription-based campaigns](/campaigns/subscription-campaigns) have an added review stage — evaluating which subscriptions are valid — that can take a few weeks by itself; you'll see a note about this above your campaign goals if it applies. + +The date shown in your payment history is the **submission date**, not full settlement. After submission you'll get an email and the status shows **Submitted**; it typically moves to **Paid** within about 5 business days, then takes a few more days to fully process depending on your payout method. A campaign flagged for irregular activity needs additional review by the sponsor before payment — track this in your campaign's Overview tab. + +## Meeting campaign goals + +Each campaign sets its own goals — some mandatory, some optional (see [Optional Bonus Goals](/campaigns/bonus-goals)). You need to complete all mandatory goals and log at least one valid event to qualify for payment; only real, valid events count, and fraudulent activity can lead to adjustments or a fully revoked payout. + +## Payment information + +Payments use the details on your [Payments page](https://streamelements.com/dashboard/revenue/payments/home) — keep them current to avoid delays. See [Setting up your StreamElements Payments Portal account](/campaigns/payments#payments-portal-setup) below if you haven't done this yet. + +### Payments Portal setup + +Set up your Payments Portal account directly from your dashboard, under **Revenue History → Payments** (rightmost tab) — this doesn't require waiting for or using an invitation email. You can also set it up externally via [Tipalti's supplier login](https://suppliers.tipalti.com/StreamElements/Account/Login) instead. Either way, if setup completes without errors shown, you're good to go — reach out to StreamElements afterward if you'd like confirmation everything's in order. + +If there's an issue with your account, you'll be notified by email the first time a payment submission fails; update your information and the payment retries automatically within a few days. + +## Payment statuses + +| Status | Meaning | +|---|---| +| Scheduled | A payment date has been set. | +| Submitted | Payment was submitted; should process within about 5 business days. | +| Paid | Payment has been sent and should appear in your account. | +| Rejected | Your bank rejected the payment — update your details on the [Payments Setup page](https://streamelements.com/dashboard/revenue/payments/home) and it will be reprocessed. | + +Check your [Payment History page](https://streamelements.com/dashboard/revenue/payments/paymentshistory) for your current status before reaching out — if a payment is delayed past the expected timeline, [contact support](https://support.streamelements.com/hc/en-us/requests/new) with your campaign details. + +## FAQ + +**Can I get an expedited payment?** +No — payments follow a fixed processing timeline for verification and accuracy. + +**Do I need to hit every goal to get paid?** +No. Just complete every mandatory goal and log at least one valid event. diff --git a/src/content/docs/campaigns/subscription-campaigns.mdx b/src/content/docs/campaigns/subscription-campaigns.mdx new file mode 100644 index 0000000..d00ba7b --- /dev/null +++ b/src/content/docs/campaigns/subscription-campaigns.mdx @@ -0,0 +1,57 @@ +--- +title: Subscription-Based Campaigns +description: "How subscription-based sponsorship campaigns work: accepting a campaign, tracking new subscribers, and what counts as a valid conversion." +keywords: + - StreamElements subscription campaign + - HelloFresh sponsorship + - Factor75 sponsorship +--- + +import { Steps } from '@astrojs/starlight/components'; + +Subscription-based campaigns reward you for driving new subscribers to a service — for example, meal-kit services like HelloFresh or Factor75. A conversion counts when someone signs up for a **new** subscription using your unique creator code or link. + +Read [Sponsorships Overview](/campaigns) first if you haven't already. + +## Accepting a campaign + +Spots are limited, so act quickly once you see an offer. + + + +1. Go to the [Sponsorships page](https://streamelements.com/dashboard/sponsorships/list). +2. Accept the campaign. +3. Complete its setup steps. +4. Click **Start Now**. + + + +If all spots are already filled, you won't be able to join. + +## Tracking your progress + +Your goal widget updates automatically each time someone signs up with your code. Monitor progress from the goal widget itself, or the Sponsorships dashboard. + +## What counts as a new subscription + +### HelloFresh + +- The viewer opens a brand-new account and orders their first box using your unique code — multiple orders from the same person on different accounts don't count. +- They used your personal code or link. +- They disabled coupon browser extensions (Honey, Karma, etc.) before ordering. +- Their order shipped successfully. +- Limit of one order per subscriber. + +### Factor75 + +- The subscriber is new to Factor. +- They're based in the US. +- They used your personal code or link. +- They disabled coupon browser extensions before ordering. +- Their order shipped successfully. +- Limit of one order per subscriber. + +## Related + +- [Optional Bonus Goals](/campaigns/bonus-goals) +- [Payments](/campaigns/payments) diff --git a/src/content/docs/campaigns/troubleshooting.mdx b/src/content/docs/campaigns/troubleshooting.mdx new file mode 100644 index 0000000..5308f35 --- /dev/null +++ b/src/content/docs/campaigns/troubleshooting.mdx @@ -0,0 +1,42 @@ +--- +title: Campaign Troubleshooting +description: "Fix viewer sign-ups not being tracked for a gaming campaign, and sponsored stream time not being registered." +keywords: + - StreamElements sponsorship troubleshooting + - campaign sign-ups not tracked + - sponsored stream time not tracked +--- + +## Viewer sign-ups aren't being tracked + +:::note +Running a HelloFresh or Factor75 campaign? Check [What counts as a new subscription](/campaigns/subscription-campaigns#what-counts-as-a-new-subscription) instead — the requirements differ. +::: + +For gaming campaigns, a sign-up only counts toward your goal if the participant: + +- Is genuinely new — previous players of the game don't count. +- Kept the downloaded file name unchanged (PC games). +- Used your campaign link or QR code correctly — ad blockers can interfere with the landing page. +- Downloaded a mobile game directly from the app store after clicking your link — emulators don't count, only real devices. +- Isn't a duplicate sign-up from an account or device sharing an IP with another participant. + +If sign-ups still aren't tracking: + +1. Verify your campaign link or QR code loads correctly, and ask participants to disable ad blockers or VPNs if they're having trouble. +2. Confirm mobile participants are downloading from the app store (not an emulator) after clicking your link. +3. Wait until the campaign ends before drawing conclusions — data can take time to update, so check final results once it's over. + +If valid downloads still aren't showing up after the campaign ends, [contact support](https://support.streamelements.com/hc/en-us/requests/new) with your campaign name for investigation. + +## Sponsored stream time isn't registering + +1. **Use the correct Twitch category.** Most campaigns require streaming under a specific category — the exception is non-gaming sponsorships (like HelloFresh), which don't need one. +2. **Use the branded overlay.** Every campaign requires it added to your main OBS scene — see [Add the Sponsorship Overlay to OBS](/campaigns/overlay-setup) if you haven't set it up. +3. **Actually play the sponsored game**, if it's a gaming campaign. Non-gaming campaigns promote differently — check your brief. + +If your stream time still isn't tracked after all three: + +1. Gather the link(s) to your VOD(s). +2. [Contact support](https://streamelements.com/contact) with those links. +3. The team reviews your stream and manually adjusts your goal if everything checks out. diff --git a/src/content/docs/chatbot/getting-started.mdx b/src/content/docs/chatbot/getting-started.mdx index a15fd70..792e46f 100644 --- a/src/content/docs/chatbot/getting-started.mdx +++ b/src/content/docs/chatbot/getting-started.mdx @@ -21,6 +21,10 @@ import ChatExample from '@components/ChatExample.astro'; This guide walks you through the two most common ways to put the StreamElements Chatbot to work: creating your first custom command and setting up your first timer. +:::note[Bot not in your channel yet?] +Commands and timers only work once the bot has joined your channel — see [Add the Chatbot to Your Channel](/chatbot/platforms) first if you haven't done that yet. +::: + ## Your first command Commands are the main way users will interact with the bot in your chat. They can be used to trigger actions, or to display information to your users. In this example we will create a command that shows how long it has been since a user was last seen in chat. diff --git a/src/content/docs/chatbot/guides/bot-detection.mdx b/src/content/docs/chatbot/guides/bot-detection.mdx new file mode 100644 index 0000000..b9217fd --- /dev/null +++ b/src/content/docs/chatbot/guides/bot-detection.mdx @@ -0,0 +1,46 @@ +--- +title: Check if a User Is a Known Bot +sidebar: + label: Bot Detection Command +description: "Build a !bot command that checks whether a Twitch username is a known bot, using the $(customapi) variable and a third-party lookup service." +platforms: [twitch] +keywords: + - StreamElements bot detection + - known bot command + - Twitch bot check command +--- + +import { Steps } from '@astrojs/starlight/components'; +import ChatExample from '@components/ChatExample.astro'; + +This command checks whether a username is a known bot, using [`$(customapi)`](/chatbot/variables/customapi) to query **Blocklist Buddy**, a community-run lookup service covering CommanderRoot's and TwitchInsights' known-bot lists. + +:::note +Blocklist Buddy is a third-party, community-maintained service — not operated by StreamElements. It could change or become unavailable without notice. +::: + + + +1. From the [bot command dashboard](https://streamelements.com/dashboard/bot/commands), open the "Custom commands" tab and click "Add new command". + +2. Name the command `bot`, and set the reply to: + + ```streamelements + $(customapi https://zoeballz.uk/_Blocklist_Buddy/known_bot.php?user=$(sender)&bot=$(1)&channel=$(channel)) + ``` + +3. Click "Activate command". + + + +Test it with `!bot `: + + + +## Related + +- [`$(customapi)`](/chatbot/variables/customapi): the variable this command is built on. +- [Custom Commands](/chatbot/commands/custom): everything else you can do with custom commands. diff --git a/src/content/docs/chatbot/guides/index.mdx b/src/content/docs/chatbot/guides/index.mdx index 49039d2..e661b7e 100644 --- a/src/content/docs/chatbot/guides/index.mdx +++ b/src/content/docs/chatbot/guides/index.mdx @@ -35,4 +35,14 @@ These guides combine chatbot commands, variables, and settings into complete fea href="/chatbot/guides/viewer-input" description="Capture words from chat, add fallbacks and validation, and encode input for URLs." /> + + diff --git a/src/content/docs/chatbot/guides/run-ads.mdx b/src/content/docs/chatbot/guides/run-ads.mdx new file mode 100644 index 0000000..f9b283e --- /dev/null +++ b/src/content/docs/chatbot/guides/run-ads.mdx @@ -0,0 +1,44 @@ +--- +title: Run Ads via the Chatbot +sidebar: + label: Run Ads via Chatbot +description: "Run Twitch ads automatically on a timer, or manually with a chat command, using the StreamElements Chatbot." +platforms: [twitch] +keywords: + - StreamElements run ads + - Twitch commercial command + - automatic ads Twitch +--- + +import { Steps } from '@astrojs/starlight/components'; + +Both timers and commands can send Twitch's `/commercial` action, letting the chatbot start an ad break for you. + +:::note[Prerequisite] +Add the StreamElements bot as an **Editor** on your [Twitch roles page](https://dashboard.twitch.tv/community/roles) — without Editor access, it can't run ads on your behalf. +::: + +## Automatically, on a timer + + + +1. Create a new [timer](/chatbot/timers) with the response: + + ``` + /commercial 30 + ``` + + Replace `30` with your preferred ad duration in seconds: `30`, `60`, `90`, `120`, `150`, or `180`. + +2. Set the **online interval** to how often you want ads to run. For example, an interval of 10 minutes with a `30`-second duration runs a 30-second ad every 10 minutes you're live. + + + +## Manually, with a command + +Create a [custom command](/chatbot/commands/custom) — for example `!ad` — with the response `/commercial 30`. Typing `!ad` (restrict this to moderators) runs a 30-second ad on demand. + +## Related + +- [Timers](/chatbot/timers): the full timer reference, including offline interval and conditions. +- [Custom Commands](/chatbot/commands/custom): managing commands from the dashboard or chat. diff --git a/src/content/docs/chatbot/index.mdx b/src/content/docs/chatbot/index.mdx index a2f6c00..97d7262 100644 --- a/src/content/docs/chatbot/index.mdx +++ b/src/content/docs/chatbot/index.mdx @@ -19,11 +19,21 @@ import { CardGrid, LinkCard } from '@astrojs/starlight/components'; The StreamElements Chatbot is a chatbot for Twitch and YouTube Live. It provides custom commands, automated timers, spam filters, and interactive modules, all configured from your StreamElements dashboard. + + + + + + + +1. Open your [bot settings page](https://streamelements.com/dashboard/bot/settings) and click **Join**. + +2. In your Twitch chat, type: + + ``` + /mod streamelements + ``` + + + +### FAQ + +**Can the bot use my subscriber emotes?** +Only if it has an active subscription to your channel — you or someone else needs to gift it one. + +**The bot isn't responding.** +Make sure it isn't banned: type `/unban streamelements` in your chat. If events are also missing from your Activity Feed, see [Events missing from the Activity Feed](#events-missing-from-the-activity-feed) below. Otherwise see [Troubleshooting](/chatbot/troubleshooting). + +### Events missing from the Activity Feed + +Twitch now requires chat access to deliver some events, so a banned or parted bot can cause them to stop appearing in your Activity Feed. If that happens: + + + +1. Unban and mod the bot (`/unban streamelements` then `/mod streamelements`) so other bots can't re-ban it. +2. Log out of the StreamElements dashboard and log back in with your Twitch account, to refresh the permissions needed to read subscription and other events. +3. Part and re-join the bot from your channel to confirm it's present. You can disable its timers and commands afterward if you don't want it posting. + + + + + + + +:::note[Before you start] +Your stream must be **public** and **live** — the bot can't join a private, unlisted, or offline stream. +::: + + + +1. Open [YouTube Studio](https://studio.youtube.com/). +2. Go to **Settings > Community**. +3. Under moderators, add either of these as a moderator: + - `https://youtube.com/c/streamelements` + - `https://www.youtube.com/channel/UCjerlCIbLPQwSnYlClkjDXg` +4. While live, view **Live chat** rather than **Top chat** — Top chat can hide the bot's messages. + + + +### FAQ + +**Can I change the bot's display name?** +No, this isn't possible on YouTube. + +**Some chatbot features are missing.** +Giveaways, the Stream Store, Viewer Queue, and Media Requests all depend on the Loyalty system, which isn't currently available for YouTube accounts. + +**Some events don't show up in Chat Alerts or the Activity Feed.** +Events are only captured while you're live, and tracking doesn't work correctly if you run two streams at the same time. + +**The bot didn't join my channel when I went live.** +Confirm your stream is public, that you're shown as live in the StreamElements dashboard, and that you added the correct StreamElements channel as a moderator. + + + + + + + +1. Open your [bot settings page](https://streamelements.com/dashboard/bot/settings) and click **Join**. +2. In your Kick chat, type: + + ``` + /mod @StreamElements + ``` + + + +### FAQ + +**Can the bot use my subscriber emotes?** +Only if it has an active subscription to your channel — you or someone else needs to gift it one. + +**The bot isn't responding.** +Type `/unban @StreamElements` in your chat, and confirm the bot is still connected to your Kick account under bot settings. + +**Why isn't the bot posting alerts or responding to commands?** +Usually one of: the bot is offline (try reconnecting it), it's missing moderator status in your chat, or there's a typo in the command name. + +**Can the bot automatically ban or time out users?** +Not on its own — but moderators can trigger bulk timeouts or bans with [`!nuke`](/chatbot/commands/default/nuke) and [`!nukeusername`](/chatbot/commands/default/nukeusername). + + + + + +## Next steps + +- [Create your first command or timer](/chatbot/getting-started) +- [Troubleshooting](/chatbot/troubleshooting) diff --git a/src/content/docs/chatbot/troubleshooting.md b/src/content/docs/chatbot/troubleshooting.md index 9bd372a..95f417b 100644 --- a/src/content/docs/chatbot/troubleshooting.md +++ b/src/content/docs/chatbot/troubleshooting.md @@ -16,6 +16,7 @@ This section helps you quickly resolve common issues you might encounter with th - Check that the bot is currently active in your channel. Go to your StreamElements dashboard and ensure the bot is turned on. - Ensure the bot is not banned or ignored in your channel. Sometimes the bot might have been accidentally banned, which prevents it from posting messages. - Check that the bot has not been muted with [`!bot mute`](/chatbot/commands/default/bot). A muted bot sends no command responses or timer messages; use `!bot unmute` to restore it. +- If the bot was never added to your channel, or lost moderator status, see [Add the Chatbot to Your Channel](/chatbot/platforms) for per-platform setup, including what to do if the bot is missing from your Activity Feed. ## Commands not working diff --git a/src/content/docs/chatbot/user-management.mdx b/src/content/docs/chatbot/user-management.mdx new file mode 100644 index 0000000..c469092 --- /dev/null +++ b/src/content/docs/chatbot/user-management.mdx @@ -0,0 +1,48 @@ +--- +title: User Management +description: "StreamElements Chatbot permission levels, and how to manually assign a user to a group from the dashboard." +keywords: + - StreamElements user levels + - chatbot permission levels + - Regular user Twitch bot + - Super Moderator StreamElements +--- + +Every command has a required **user level** — the minimum permission a viewer needs to use it. Most viewers get a level automatically based on their platform role: + +| Group | Level | How it's assigned | +|---|---|---| +| Everyone | 100 | Default for every chat user | +| Subscriber | 250 | Automatic for your platform subs | +| Regular | 300 | Set manually, see below | +| VIP | 400 | Automatic for Twitch VIPs | +| Moderator | 500 | Automatic for your platform mods | +| Super Moderator | 1000 | Set manually, see below | + +The broadcaster always sits above every level and can trigger any command, regardless of its required level. + +These are the same six values used throughout the chatbot — in [`!level`](/chatbot/commands/default/level), and in `!command options -level` (see [`!command`](/chatbot/commands/default/command)). + +## Setting a command's user level + +Set a command's required level from its **Advanced settings** in the dashboard, or with [`!command options`](/chatbot/commands/default/command): + +```streamelements +!command options !socials -level 500 +``` + +## Adding a user to Regular or Super Moderator + +Regular and Super Moderator aren't tied to a platform role, so you assign them yourself: + +- **From the dashboard:** go to **Chatbot > User Management**, click **Add new bot user**, enter their username, and assign a group. +- **From chat:** moderators and the broadcaster can use [`!level`](/chatbot/commands/default/level): + + ```streamelements + !level RegularViewer 300 + ``` + +## Related + +- [`!level`](/chatbot/commands/default/level): check or set a user's level from chat. +- [Custom Commands](/chatbot/commands/custom): set a command's level when creating or editing it. diff --git a/src/content/docs/getting-started/account-settings.mdx b/src/content/docs/getting-started/account-settings.mdx new file mode 100644 index 0000000..d2cad40 --- /dev/null +++ b/src/content/docs/getting-started/account-settings.mdx @@ -0,0 +1,72 @@ +--- +title: Account Settings +description: "Update your StreamElements account email, find your Account ID and JWT token, unlink a channel, or close your account." +keywords: + - StreamElements account email + - StreamElements account ID + - JWT token + - unlink channel + - close StreamElements account +--- + +import { Steps } from '@astrojs/starlight/components'; + +## Updating your email + +StreamElements pulls your account email directly from the platform you log in with — there's no way to change it independently yet. + + + +1. Update your email on Twitch or YouTube directly (see [Twitch's guide](https://help.twitch.tv/s/article/twitch-account-access-login-issues-guide?language=en_US#faq) or [YouTube's guide](https://support.google.com/youtube/answer/174100?hl=en)). +2. Log back into StreamElements to re-fetch the updated email. +3. Confirm the change in your [account settings](https://streamelements.com/dashboard/account/channels). + + + +**Sponsorship program email:** this can use a different address than your main account email. To change it, [submit a support ticket](https://support.streamelements.com/hc/en-us/requests/new) with the new address — the change is applied once a representative processes your ticket. + +## Finding your Account ID and JWT token + +Both are on your [channels page](https://streamelements.com/dashboard/account/channels): + +- **Account ID** is shown at the top of the page. It's public — safe to share, including in the StreamElements Discord, when asking for help. +- **JWT token** appears once you toggle on **Show Secrets**. This is private — never share it with anyone except StreamElements support, and only when they ask for it directly. + +## Unlinking a channel + +Unlinking removes a channel from your account without deleting your data — your overlays, chatbot commands, and settings stay saved, and you can relink the channel later to pick up where you left off. (You can also start a separate account tied to just that channel by signing up with it directly.) + + + +1. Go to your [dashboard](https://streamelements.com/dashboard/account/channels) and select the channel you want to unlink. +2. Click **Unlink Account**. +3. Confirm — this specific action can't be undone, but you can manually re-add the channel afterward. + + + +Because closing your whole account (below) deletes everything permanently, unlinking a single channel is usually the better option if you just want to disconnect one platform. + +## Closing your account + +:::caution +Closing your account permanently deletes everything tied to it — every linked channel, overlay, chatbot command, and stored setting. This can't be undone. +::: + + + +1. Click your profile picture → **Channel Settings** → **Security** (or go straight to your [account page](https://streamelements.com/dashboard/account/channels)). +2. Click **Close My Account**. +3. Fill out the closure form: your StreamElements username, your account email, your [JWT token](#finding-your-account-id-and-jwt-token), and a brief reason for closing. +4. Submit. Your account closes automatically, and you'll get a confirmation email shortly after. + + + +If the form itself isn't working, [contact support](https://support.streamelements.com/hc/en-us/requests/new) with the same information instead. + +### FAQ + +**Can I reopen a closed account?** +No — closure is permanent. Logging in again afterward creates a brand-new account. + +**Can I delete just one platform from my account instead of closing everything?** +No, but you can [unlink it](#unlinking-a-channel) instead, which is reversible. diff --git a/src/content/docs/getting-started/account-setup.mdx b/src/content/docs/getting-started/account-setup.mdx new file mode 100644 index 0000000..31a9e69 --- /dev/null +++ b/src/content/docs/getting-started/account-setup.mdx @@ -0,0 +1,71 @@ +--- +title: Create Your Account +description: "Create a StreamElements account and complete initial setup: activate the chatbot, set up tipping, build your first overlay, and install SE.Live." +keywords: + - StreamElements sign up + - StreamElements initial setup + - StreamElements account creation +--- + +import { Steps } from '@astrojs/starlight/components'; + +:::note +This covers creating your account and initial setup. For everything else about SE.Live once you get there, see [SE.Live](/selive). +::: + +## Log in and authorize + + + +1. Log in to your Twitch, YouTube, Kick, or TikTok account. +2. Go to [streamelements.com](https://streamelements.com/) and connect with that account, authorizing access. +3. You'll land on your new dashboard. + + + +Your dashboard and Activity Feed only populate from events going forward — while your existing totals (followers, subscribers) show up right away, individual past events won't backfill. + +## Complete initial setup + +The top bar of your dashboard walks you through initial setup. Click **Continue** to start the wizard. + +### 1. Activate the chatbot + +Clicking **Activate** adds the bot to your channel and grants it moderator permissions. Check your chat's user list to confirm — it can take a few minutes to show up under Moderators. + +### 2. Set up tipping + + + +1. Enter your PayPal email and click **Connect** (see [Tipping](/revenue/tipping) for SE.Pay and other options). +2. Download one of the suggested tipping panels and copy your tipping page link. +3. On Twitch, toggle on **Edit Panels**, add a text/image panel, upload the panel image, and paste your tipping link. +4. Toggle **Edit Panels** back off and click the new panel to confirm it opens your tipping page. +5. Back in the setup wizard, click **Continue** on the Tipping Panel Settings step. + + + +### 3. Set up your overlay + +Choose one: + +- **Create** — opens the Overlay Editor to build one from scratch. +- **Pick** — opens the Themes Gallery to start from a preset. +- **Import** — brings in overlays you already have on another platform. + +:::caution[Importing from Streamlabs] +Assets over 30MB will fail to import. Streamlabs overlays also use a different native resolution — re-adjust imported overlays to 1920x1080 and reposition widgets as needed. For web-based services, keep both the source service and StreamElements open in separate tabs during import. +::: + +For now, pick **Create**, keep the resolution at 1080p, and click **Start**. Save your overlay once you're happy with it, then return to the setup wizard. + +### 4. Install SE.Live + +The last step downloads and installs [SE.Live](/selive) in OBS. See [Install and connect](/selive/getting-started) for the full walkthrough. + +Once you click Download, initial setup is complete. + +## FAQ + +**Does this work the same on every platform?** +The wizard is shown for Twitch here, but the same four steps — account, tipping, overlay, SE.Live — apply on YouTube and Kick too, even though which features are available afterward can differ per platform. diff --git a/src/content/docs/getting-started/dashboard-overview.mdx b/src/content/docs/getting-started/dashboard-overview.mdx new file mode 100644 index 0000000..0d6549e --- /dev/null +++ b/src/content/docs/getting-started/dashboard-overview.mdx @@ -0,0 +1,54 @@ +--- +title: Dashboard & Activity Feed +description: "Find your way around the StreamElements dashboard, top bar, and Activity Feed, including multiplatform event filtering." +keywords: + - StreamElements dashboard + - Activity Feed + - multiplatform activity feed +--- + +import { Steps } from '@astrojs/starlight/components'; + +## The dashboard + +The top bar of the main dashboard lets you choose a time period; the boxes and graph below reflect event counts for whichever tab you have selected. + +The right side shows whether the chatbot is currently in your channel. If it's there, you can **Part** it or **Mute** it (a muted bot shows **Unmute** instead). You can also quick-edit your stream title and category from here. + +### The top bar + +Available everywhere in your dashboard. Your profile picture sits on the right, with a red ring while you're online; if you have multiple linked accounts, switch between them with the small arrow beside your username. Clicking your profile picture opens a menu with Import, language and theme settings, links to SE.Live and Ground Control, and Log Out. + +## Activity Feed + +The [Activity Feed](https://streamelements.com/dashboard/activity) is where you monitor events, manage alerts, and adjust settings in real time. + +**Filter events:** click **Filter**, choose the platform and event types you want to see, and click **Filter** to apply. + +**Other features:** + +- Manage alerts, overlays, and ad settings. +- Monitor chatbot status. +- Mute or skip individual alerts. +- Reset session settings. +- View Widget Data for detailed event stats — see [Widget Data](/overlays/widget-data). +- Track and interact with Twitch Channel Points. +- Let moderators adjust ad settings. + +If you use [SE.Live](/selive), most of this is available right inside OBS too. + +## Multiplatform Activity Feed + +If you stream to more than one platform, you can consolidate events from every connected channel into a single feed: + + + +1. Click **Filter** in the Activity Feed. +2. Choose which platform(s) to show events from. +3. Select the event types and their rules for each connected platform. + + + +:::caution[Don't show this on Twitch] +Displaying activity from other platforms violates Twitch's Terms of Service and risks account suspension. Keep the Multiplatform Activity Feed off your Twitch-facing overlays. +::: diff --git a/src/content/docs/getting-started/importing.mdx b/src/content/docs/getting-started/importing.mdx new file mode 100644 index 0000000..d4e1e85 --- /dev/null +++ b/src/content/docs/getting-started/importing.mdx @@ -0,0 +1,51 @@ +--- +title: Importing from Other Platforms +description: "Import commands, timers, loyalty points, and other data into StreamElements from Streamlabs, Nightbot, Deepbot, Moobot, TipeeeStream, or a CSV file." +keywords: + - StreamElements import + - import from Streamlabs + - import from Nightbot +--- + +Before you start: log in to both your source platform and StreamElements, and install any browser extension the method below asks for. + +Open the import menu from **Import** at the top right of your dashboard, your profile menu, or directly at the [import page](https://streamelements.com/dashboard/account/import). + +## From Streamlabs + +Click **Import Using Extension**, install and add the Chrome extension, then follow its on-screen instructions — you'll need to be logged into both Streamlabs and StreamElements. + +## From Nightbot + +Click **Import**, approve StreamElements in the authorization popup, make sure both **Commands** and **Timers** are checked, and click **Import**. Afterward, find your commands under Custom Commands and your timers under Timers. + +## From a CSV file + +Click **Import** and choose the CSV file(s) you want to bring in. + +## From Deepbot + +Keep Deepbot open and running, go to **Master Settings**, and copy your API secret. Click **Import Now**, paste the secret, and your points will appear in your [Leaderboard](https://streamelements.com/dashboard/leaderboard/current). + +## From Moobot + +Click **Install Chrome Extension**, add it to Chrome, and follow its on-screen instructions — you'll need to be logged into both Moobot and StreamElements. + +## From TipeeeStream + +Click **Install Chrome Extension**, add it to Chrome, and follow its on-screen instructions — you'll need to be logged into both TipeeeStream and StreamElements. + +## From Ankhbot / Streamlabs Chatbot + +
    +
  1. In Ankhbot/Streamlabs Chatbot, click Connections (bottom left) → CloudPick Folder, choose a backup location, then Save and Save Settings.
  2. +
  3. Click Create Split Excel Files to export your commands and quotes, and Export Currency CSV to export your points.
  4. +
  5. On the import page, click Import Now under Ankhbot/Streamlabs.
  6. +
  7. Under Points, select the Currency.csv file you exported.
  8. +
  9. Under Commands/Quotes, select your exported Commands.xlsx and Quotes.xlsx files.
  10. +
  11. Click Import.
  12. +
+ +:::caution +Remove any header row from your points CSV before importing — a header present, or any blank points field, will cause the import to fail. +::: diff --git a/src/content/docs/getting-started/index.mdx b/src/content/docs/getting-started/index.mdx new file mode 100644 index 0000000..0af9955 --- /dev/null +++ b/src/content/docs/getting-started/index.mdx @@ -0,0 +1,32 @@ +--- +title: Getting Started +description: "What StreamElements offers and how to get set up: create your account, connect your platforms, and explore overlays, tipping, chatbot, and Loyalty." +keywords: + - StreamElements getting started + - what is StreamElements +--- + +import { CardGrid, LinkCard } from '@astrojs/starlight/components'; + +StreamElements is a cloud-based platform for managing your stream: overlays and alerts, a chatbot, tipping, and a Loyalty system that turns viewers into a community — all from one dashboard. + + + + + + + + +## What's included + +- **Overlays** — graphics, alerts, and widgets for your stream, managed from one place and loaded into OBS with a single browser source. See [Overlays & Alerts](/overlays). +- **Tipping** — a tipping page with presets so viewers can support you directly. See [Tipping](/revenue/tipping). +- **Chatbot** — commands, timers, modules, and spam filters, fully integrated with Loyalty. See [Chatbot](/chatbot). +- **Loyalty** — points for watching, spendable in your Stream Store on games, giveaways, and contests. See [Loyalty System](/loyalty). +- **SE.Live** — an OBS plugin that brings dashboard management, multistreaming, and more right into OBS. See [SE.Live](/selive). + +## Creating your account + +There's one way to sign up: log in with your Twitch, YouTube, Kick, or TikTok account. The onboarding steps are the same across platforms, though the tools available afterward vary slightly — for example, the [Loyalty system](/loyalty) isn't available on YouTube. + +Continue to [Create Your Account](/getting-started/account-setup) for the full walkthrough. diff --git a/src/content/docs/getting-started/managing-access.mdx b/src/content/docs/getting-started/managing-access.mdx new file mode 100644 index 0000000..58c3085 --- /dev/null +++ b/src/content/docs/getting-started/managing-access.mdx @@ -0,0 +1,33 @@ +--- +title: Granting Dashboard Access to Your Mods +description: "Give moderators access to your StreamElements dashboard with three permission levels: Bot Supervisor, Editor, and Full Control." +keywords: + - StreamElements mod dashboard access + - StreamElements permission levels + - dashboard managers +--- + +import { Steps } from '@astrojs/starlight/components'; + +Give moderators dashboard access at one of three levels: + +- **Bot Supervisor** — chatbot configuration, moderation commands, and chat management tools. +- **Editor** — the above, plus overlays, alerts, widgets, and most other dashboard sections. +- **Full Control** — the above, plus account and channel settings — equivalent to the channel owner. + +## Grant access + + + +1. Click your profile picture (top right of the dashboard) and scroll to **My Managers** — or go directly to your [channel access settings](https://streamelements.com/dashboard/account/channels). +2. Select the access level to grant. +3. Click **Generate Invite Link** and share it with the moderator. +4. Once they open the link, they can select your channel from the top left of the site to start moderating. + + + +:::note +Invite links expire after 72 hours if unused, and each one can only be redeemed once. +::: + +This is separate from a [chatbot user level](/chatbot/user-management) — dashboard access controls what someone can do in the StreamElements website itself, not what a chat command requires. diff --git a/src/content/docs/getting-started/public-profile.mdx b/src/content/docs/getting-started/public-profile.mdx new file mode 100644 index 0000000..88f07ac --- /dev/null +++ b/src/content/docs/getting-started/public-profile.mdx @@ -0,0 +1,26 @@ +--- +title: Your Public Profile +description: "Customize your public StreamElements profile page: the top-right shortcut icons, page settings, social links, and known issues." +keywords: + - StreamElements public profile + - profile page settings +--- + +Your public profile lives at `streamelements.com/YourUsername`. + +## Top-right icons + +Shortcuts to your [Tipping page](https://streamelements.com/dashboard/tipping-settings), [Stream Store](https://streamelements.com/dashboard/store/items), [Media Request page](https://streamelements.com/dashboard/mediarequest/general), [Commands page](https://streamelements.com/dashboard/bot/commands/default), [Leaderboard](https://streamelements.com/dashboard/leaderboard/current), and [Chatstats page](https://stats.streamelements.com/). Next to these, you can switch light/dark mode and language, and jump to your dashboard or leaderboard from your avatar. + +## Main profile page + +The first icon leads to your overview page — an embedded view of your channel plus your current Loyalty settings and standings. + +### Known issues + +- **Subscription display issue** — the page may show a "Subscribe" button even if you're already subscribed, which can block redeeming sub-only Stream Store items there. Log out and back in, or refresh; if it persists, redeem the item from chat instead as a workaround. +- **Social links can't be fully removed** — once saved, a social link can only be changed, not deleted outright. Work around it by replacing it with a clearly invalid link (like `/nolongerexists123`). + +## Profile page settings + +From [Profile Page settings](https://streamelements.com/dashboard/profile), you can set your page title and default language, add social links (Discord, Twitter/X, Instagram — these show in white once added; website and YouTube show as placeholders until you add one), and customize the header background. diff --git a/src/content/docs/getting-started/troubleshooting.mdx b/src/content/docs/getting-started/troubleshooting.mdx new file mode 100644 index 0000000..859800f --- /dev/null +++ b/src/content/docs/getting-started/troubleshooting.mdx @@ -0,0 +1,73 @@ +--- +title: General Troubleshooting +description: "Fix a StreamElements chatbot that stopped responding, missing events, a wrong goal widget count, tipping page save errors, and more." +keywords: + - StreamElements troubleshooting + - chatbot not responding + - events not appearing +--- + +import { Steps } from '@astrojs/starlight/components'; + +For SE.Live-specific issues, see [SE.Live Troubleshooting](/selive/troubleshooting) instead. + +## Chatbot not responding, or events not appearing + +### Twitch / Kick + + + +1. Part the bot from your channel. +2. [Log out](https://streamelements.com/logout) of the dashboard. +3. Clear your browser's cache and cookies. +4. Open your browser's developer console, go to the **Network** tab, and enable **Disable cache**. +5. Log back in and re-add the bot to your channel. + + + +### YouTube + +Start by removing and reconnecting permissions: + + + +1. Go to [Google Account Connections](https://myaccount.google.com/connections) and remove StreamElements' access. +2. Log back into StreamElements to reconnect it. + + + +Keep in mind the YouTube chatbot and events only work during **live, public** streams — nothing will happen on offline, private, or unlisted streams, and if either you or a viewer has a private account, that viewer's events won't trigger. Events can also take up to 4 hours to appear due to YouTube's own reporting delays. + +If the bot still isn't responding once you're live: + + + +1. Wait 20–30 minutes after going live — the bot can take a little while to join automatically. +2. If it still hasn't joined, log out and back into StreamElements. +3. Remove and re-add the bot from your [dashboard](https://streamelements.com/dashboard) to restore the connection. + + + +### Tips not appearing + +Confirm your viewers are actually using your StreamElements tipping page — tips sent through a different service won't show up in your Activity Feed. + +## Goal widget showing wrong numbers + +Goal widgets only track increments — they don't automatically adjust down if someone unsubscribes or unfollows. Update your progress manually from your [Goals settings](https://streamelements.com/dashboard/session/goals) if it looks off. + +## Alerts not showing, or no sound + +First check that alerts aren't paused or muted in your [Activity Feed](https://streamelements.com/dashboard/activity). Then confirm your overlay is properly added to OBS — see [Add an overlay to your broadcast software](/overlays/broadcast-software). + +## Scene transitions not working on linked scenes + +Give each scene a unique name — if two scenes share the exact same name, the link between them breaks. See [Manage scenes and sources](/selive/guides/scenes-and-sources). + +## Can't save tipping page settings + +Make sure **Require login** is explicitly set to on or off — leaving it blank causes a save error. Double-check every other field on the page is filled in too; the save fails if any are empty. + +## Media Request "Georestricted location" error + +This means no **Stream Location** is set in your Media Request options — add one. If you've already set one and still see the error, clear your browser's cookies and cache and try again. See [Media Requests](/media-requests) for the full setup. diff --git a/src/content/docs/getting-started/youtube-live.mdx b/src/content/docs/getting-started/youtube-live.mdx new file mode 100644 index 0000000..9ef5c09 --- /dev/null +++ b/src/content/docs/getting-started/youtube-live.mdx @@ -0,0 +1,39 @@ +--- +title: Enable Live Streaming on YouTube +description: "Verify your YouTube account and enable live streaming, including YouTube's one-time 24-hour activation wait." +platforms: [youtube] +keywords: + - enable YouTube live streaming + - verify YouTube account +--- + +import { Steps } from '@astrojs/starlight/components'; + +YouTube requires phone verification and a one-time waiting period before you can go live. + +## Verify your account + + + +1. Sign in to YouTube, open your profile picture, and select **YouTube Studio**. +2. Go to **Settings → Channel → Feature eligibility**, and expand **Intermediate features**. +3. Select **Verify phone number**, choose your country and preferred verification method (text or call). +4. Enter your phone number, click **Get Code**, then enter the code you receive and click **Submit**. + + + +## Enable live streaming + + + +1. From your YouTube homepage, click **Create** (camera icon with a plus sign) and select **Go Live**. +2. Wait 24 hours — this one-time activation period is required for every new channel and can't be skipped. + + + +Live streaming is enabled automatically once the wait is over. + +## Tips + +- Double-check you're signed into the correct Google account before starting — especially if you manage more than one. +- Review [YouTube's recommended streaming settings](https://support.google.com/youtube/answer/2853702) for the best stream quality. diff --git a/src/content/docs/ground-control/index.mdx b/src/content/docs/ground-control/index.mdx new file mode 100644 index 0000000..3ea89d0 --- /dev/null +++ b/src/content/docs/ground-control/index.mdx @@ -0,0 +1,31 @@ +--- +title: Ground Control +description: "Ground Control is StreamElements' desktop app for managing your stream: multi-chat, a multiplatform activity feed, quick actions, and Stream Deck integration." +keywords: + - StreamElements Ground Control + - multi-chat app + - stream management app +--- + +[Ground Control](https://streamelements.com/groundcontrol) is a separate desktop app for managing your stream in one place — it isn't part of SE.Live, and doesn't require it. It's available for Windows and Mac. + +## Features + +- **Customizable layout** — drag-and-drop and resize panels to fit how you work. +- **Multi-Chat** — one unified chat view across Twitch, YouTube, Trovo, and X (Twitter), with more platforms planned. +- **Multiplatform activity feed** — follows, subs, tips, and memberships across every connected platform in real time. Supports multiple separate feeds if you stream to more than one platform. +- **Quick Actions** — pause or mute alerts, snooze ads, and more, in one click. +- **Elgato Stream Deck integration** — bind Quick Actions and other StreamElements tasks to Stream Deck keys. +- **Mod tools** — mods can manage team-wide alerts, queue actions in real time, and start one-click predictions. +- **Community Insights** — see when your viewers are active across other communities over the last 30 days, and get real-time notifications for first-time tippers or sub-gifters in your Activity Feed and Multi-Chat. +- **Edit commands** directly inside Ground Control, without switching to the dashboard. + +## Twitch-only features + +- **Quick Settings** — update your stream title, category, and other settings without leaving the app. +- **Stream Preview** — a real-time view of what your audience sees. +- **Polls & Predictions** — create and manage Twitch polls and predictions. Requires Twitch Affiliate or Partner status. + +## Get started + +Download Ground Control from [streamelements.com/groundcontrol](https://streamelements.com/groundcontrol). diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index ba739a9..0974f62 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -29,6 +29,11 @@ import { CardGrid, LinkCard } from '@astrojs/starlight/components'; ## Explore the docs + + + + + +## Enable Loyalty + + + +1. Open [Loyalty settings](https://streamelements.com/dashboard/loyalty). +2. Set the toggle to **Loyalty enabled**. + + + +## Features + +- **Points accumulation** — viewers earn points by watching, following, subscribing, or other actions you configure. +- **Watch time** — with Loyalty enabled, viewers accumulate watch time every 10 minutes while visible in the viewer list. Check it with [`!watchtime`](/chatbot/commands/default/watchtime). +- **Stream Store** — spend points on rewards you set up, from a TTS message to physical goods. See [Stream Store](/loyalty/stream-store). +- **Leaderboards** — showcase top viewers by points (see below). +- **Giveaways and contests** — viewers can buy giveaway tickets or bet on predictions using points. +- **Chatbot integration** — give any command a points cost, so only viewers who can afford it can use it. + +## Settings + +The [Loyalty settings page](https://streamelements.com/dashboard/loyalty) lets you set your currency's name, how many points viewers earn from watching, a subscriber multiplier, event bonuses, and exclude specific viewers from earning points. + +## Notes and points cap + +- Points are granted every 10 minutes, only to viewers currently visible in the viewer list. +- There's a hard cap of **2,147,483,647** points per viewer. Going over it can cause points to save or display incorrectly — see [Troubleshooting](/loyalty/troubleshooting#points-cap) for how to avoid it. Points must also be positive values. + +## Leaderboard + +Your [leaderboard](https://streamelements.com/dashboard/leaderboard/current) has three tabs: + +- **Current** — points earned from watching and chat mini-games. +- **All-Time** — points earned exclusively from watch time. +- **Watch Time** — total minutes viewed per viewer. + +From here you can give points to a specific user, edit or delete individual entries, or reset the leaderboard (this doesn't affect watch time). + +### Commands for managing points + +Set these up as [custom commands](/chatbot/commands/custom): + +| Command | Effect | +|---|---| +| [`!setpoints`](/chatbot/commands/default/setpoints) | Sets a viewer's total points to a specific amount. | +| [`!addpoints`](/chatbot/commands/default/addpoints) | Adds an amount to a viewer's existing points. | +| [`!givepoints`](/chatbot/commands/default/givepoints) | Lets a viewer give points from their own balance to another viewer. | + +Set each command's [user level](/chatbot/user-management) appropriately — for example, `!givepoints` for everyone, but `!addpoints`/`!setpoints` for moderators only. + +### Leaderboard Twitch Extension + + + +1. On your Twitch Creator Dashboard, go to **Extensions → Discovery** and search for the **StreamElements Leaderboard** extension. +2. Install and activate it, then assign it a panel. +3. In your Twitch channel's **About** section, toggle on **Edit panels** if you haven't already, to give the extension somewhere to display. +4. In the Twitch Extension manager, click the cog icon on the extension to configure which panels, default options, and periods or usernames it filters by. +5. Optionally, add a schedule (based on your timezone) to automate which panel shows at which times. + + + +The extension only starts collecting data after it's installed, activated, and configured — it won't backfill past activity. If you see **No Data** despite an active account and extension, [contact support](https://streamelements.com/contact). + +## Watch time notes + +- Watch time only increments while you're live — it doesn't accumulate during reruns, and Twitch doesn't track it retroactively. +- A viewer needs to be logged into StreamElements and type in chat at least once for the bot to recognize them as active. +- Collapsing Twitch chat, or watching in full-screen, can remove a viewer from the chat user list — pausing their watch time until they're visible again. + +## FAQ + +**How do a viewer's points transfer after they change their username?** +Automatically, the first time they type in chat under their new name. If that doesn't happen, see [Transferring points after a username change](/loyalty/troubleshooting#transferring-points-after-a-username-change). diff --git a/src/content/docs/loyalty/stream-store.mdx b/src/content/docs/loyalty/stream-store.mdx new file mode 100644 index 0000000..203b543 --- /dev/null +++ b/src/content/docs/loyalty/stream-store.mdx @@ -0,0 +1,108 @@ +--- +title: Stream Store +description: "Set up Stream Store items — sound effects, stream perks, TTS, and access codes — that viewers redeem with Loyalty points." +keywords: + - StreamElements stream store + - loyalty points redemption + - sound effects command + - stream perks + - text to speech +--- + +import { Steps } from '@astrojs/starlight/components'; + +The Stream Store is where viewers spend [Loyalty points](/loyalty) on rewards you set up — sound effects, short clips, access codes, or text-to-speech. + +## Access it + +Go to **Loyalty → [Stream Store](https://streamelements.com/dashboard/store/items)** in your dashboard. From here you can filter items by type, view and approve/decline **Redemptions** (including up to a year of history), open your public store page, and create new items. + +## Item types + +- **Stream Perks** — commonly used for short clips played on demand. +- **Sound Effects** — play a sound, often used to interrupt intense moments. +- **Access-Code List** — a list of pre-purchased codes viewers redeem one at a time. + +## Item settings + +Every item has three pages of settings: + +1. **Item Information** — name, description, cost (in points), quantity, global/per-user cooldowns, and an optional category cooldown (leave blank if you're not using categories). +2. **Item Content** — differs by type; see below. +3. **Requirements** — optionally collect extra information from the viewer before they can redeem, which then appears on your Redemptions page. + +### Sound effects + + + +1. On the Item Content page, choose **Sound effects**. +2. Upload your sound file (MP3 preferred) and set its volume. +3. Enable redemption and name the item's command. + + + +### Stream perks + + + +1. On the Item Content page, choose **Stream Perk**. +2. Click **Change Alert Asset** and choose a video from your library. + + + +Notes: +- If the video preview doesn't show, try re-exporting it — for `.mp4`, H.264 encoding works more reliably than HEVC (H.265). +- Uploading a sound file overrides any audio already in the video — skip this if the video already has sound. +- The "preview asset" is only a Stream Store thumbnail; it doesn't affect what plays on screen. + +### Text-to-speech + +TTS uses a Stream Perk item as its base. Create one as above, then: + +- When creating the [redemption command](#create-the-redemption-command), set the response to `${redeem tts ${1:}}` so the viewer's entire message is read out (for example, `!tts Hello my name is Bob`). +- In the Store Redemption widget's settings, enable text-to-speech and pick a voice. + +To let a Stream Perk item read out a message too, include `${1:}` in its redemption command — the same standard tipping moderation rules apply to what gets read. + +### Access-code lists + + + +1. Paste your codes, one per line. +2. Optionally set an alert that plays when a code is redeemed. +3. Choose whether codes can be redeemed more than once, and whether they're dispensed randomly or in order. + + + +You need at least one code entered before you can continue. + +## Create the redemption command + + + +1. Go to [custom commands](https://streamelements.com/dashboard/bot-commands/custom-commands) and create a new command. +2. Set its response to `${redeem item_name_here}` — or `${redeem item_name${1:}}` if viewers can attach a message, like for TTS or a Stream Perk. + + + +The item name and the command name don't need to match, but using the same name makes it easier to remember — for example, an item named `ez4ence`, redeemed via a command `!ez4ence` with response `${redeem ez4ence}`. + +## Add the Store Redemption widget + + + +1. Open [My Overlays](https://streamelements.com/dashboard/overlays) and create or edit an overlay. +2. Add the **Store Redemption** widget. +3. Remove its default video, sound, and text — you only want each item's own asset to play. +4. Save. + + + +## Test and go live + +Trigger the command in chat (with a message after it if applicable) while OBS or the Overlay Editor is open, to confirm it plays correctly. Keep the command enabled for both online and offline testing at first, then restrict it to online-only once confirmed. You can also hide an item from your public Stream Store if you don't want it listed there. + +## Related + +- [Loyalty System](/loyalty): how viewers earn the points spent here. +- [Troubleshooting](/loyalty/troubleshooting) diff --git a/src/content/docs/loyalty/troubleshooting.mdx b/src/content/docs/loyalty/troubleshooting.mdx new file mode 100644 index 0000000..92ff76e --- /dev/null +++ b/src/content/docs/loyalty/troubleshooting.mdx @@ -0,0 +1,47 @@ +--- +title: Loyalty Troubleshooting +description: "Fix viewers not earning Loyalty points, inaccurate watch time, the points cap, and transferring points after a username change." +keywords: + - StreamElements loyalty troubleshooting + - points not earning + - watch time inaccurate + - points cap + - transfer points username change +--- + +## Viewers not earning points + +Make sure **Hide gambling** is disabled in your [Twitch content preferences](https://www.twitch.tv/settings/content-preferences) — Twitch blocks loyalty/points integrations while that's on. Also remember points are only granted while you're live, and only to viewers currently visible in the viewer list. + +## Watch time is inaccurate + +Watch time only starts counting from the moment Loyalty is enabled — it can't be backfilled — and it's an estimate rather than an exact measurement. If it still looks wrong after accounting for that, [contact support](https://streamelements.com/contact). + +## Points cap + +Viewers can accumulate a maximum of **2,147,483,647** points. Going over this can cause points to save incorrectly or display wrong. To avoid it: + +- Avoid manually granting very large point amounts. +- Set limits in your [Loyalty settings](https://streamelements.com/dashboard/loyalty) to cap how much viewers can accumulate. + +## Transferring points after a username change + +Points and watch time transfer automatically the first time a viewer types in chat under their new username. If they don't, you or a moderator can move them manually. Watch time can only be adjusted from the dashboard; points can be moved from the dashboard or with a chatbot command (dashboard access, or moderator/super moderator permissions, required either way). + +### Dashboard method + +1. Go to **Loyalty → [Leaderboard](https://streamelements.com/dashboard/leaderboard/current)**, search the old username in the **Current** tab, and note their points. +2. Click **Give points**, enter the new username with the same amount, and submit. +3. Repeat in the **All-Time** tab. In the **Watch Time** tab, use **Give minutes** instead. +4. Optionally, repeat the process for the old username with a negative amount, to remove their points. + +### Chatbot command method + +1. Enable [`!addpoints`](/chatbot/commands/default/addpoints) with the appropriate [user level](/chatbot/user-management). +2. Add points to the new username: `!addpoints ` +3. Remove them from the old username: `!addpoints -` + +## Related + +- [Loyalty System](/loyalty) +- [Stream Store](/loyalty/stream-store) diff --git a/src/content/docs/media-requests/index.mdx b/src/content/docs/media-requests/index.mdx new file mode 100644 index 0000000..389f1fa --- /dev/null +++ b/src/content/docs/media-requests/index.mdx @@ -0,0 +1,79 @@ +--- +title: Media Requests +description: "Let viewers queue YouTube videos and music on your stream with loyalty points or tips, and display the queue with the Media Request widget." +keywords: + - StreamElements media request + - song request + - loyalty points music + - media request widget +--- + +import { Steps } from '@astrojs/starlight/components'; + +Media Request lets viewers queue YouTube videos and music for your stream, using [Loyalty points](/loyalty), tips, or both. Songs play through OBS, not through the Media Request dashboard page itself. + +## Set it up + + + +1. Open the [Media Request page](https://streamelements.com/dashboard/mediarequest/general). +2. Enable **Viewer requests** so viewers can add songs via chat, your profile page, or your tipping page. +3. Choose your request type: **Free** (viewers spend loyalty points, via chat or your public request page at `streamelements.com/YourUsername/mediarequest`), **Tipped** (viewers tip and attach a request, shown on your tipping page), or **Both**. + + + +:::note["Georestricted location" error] +This means your **Location** isn't set in Media Request options — add one, since updates can't process without it. Still stuck after adding one? Clear your browser's cookies and cache and try again. +::: + +## Settings + +**General:** autoplay the next song or advance manually, limit queue duration and requests per user, set a backup playlist for when the queue's empty, and toggle shuffle. + +**Free requests:** cost per request (in points), a subscriber discount, and a minimum user level to use [`!songrequest`](/chatbot/commands/default/songrequest)/[`!sr`](/chatbot/commands/default/song). + +**Tipped requests:** prioritize tipped requests over the current song, a cost-per-second cap on request length, and a minimum tip amount. + +**YouTube:** limit to music videos only, and manage a blacklist — banned videos are added automatically, or add URLs yourself. Banned tags and an auto-filter level are also configurable. + +**Advanced:** skip the current song immediately when a new request comes in, let viewers vote to skip (with a required vote count), set a user level that bypasses point costs and limits, and add a delay between videos. + +Which settings appear depends on your chosen request type (Free, Tipped, or Both). + +## Managing requests + +From the Media Request page (or the SE.Live dock — see below): add your own media, review request **History**, remove entries, or drag the handle on a song to reorder the queue. You can also remove or ban individual entries. + +While a song plays, control its volume and scrub through it using the YouTube player controls — the YouTube volume icon itself stays muted, but its slider controls the volume you actually hear in OBS, so adjust it gently. Use the Media Request panel's own controls to skip songs. + +To show the widget on stream, use **Show on stream** / **Hide video** — hiding the video leaves just the progress bar visible. + +:::caution +Don't run Media Request from both the website and the SE.Live dock at once — you'll see a warning banner if requests are active in both places. Close one of them to avoid conflicts. The SE.Live dock is recommended for stability, since it removes the need for a separate browser page. +::: + +## Add the widget to your overlay + + + +1. Create a dedicated overlay for Media Request — this makes sizing and positioning easier. Set both the overlay and its browser source to 1920x1080. +2. Add the Media Request widget and customize its appearance, then save. +3. [Add the overlay to OBS](/overlays/broadcast-software), play a song with video enabled, and confirm it shows on stream. + + + +## The SE.Live Media Request dock + +Open it from **StreamElements → SE.Live Docks → Media Request**. It mirrors every website option — add media, view queue history, delete or reorder requests, adjust volume, and show/hide the widget on stream — and can be popped out and resized. You can also assign hotkeys for quick control. + +If the dock appears blank or white, reload it from its top-left icon, or close and reopen it from the StreamElements menu. If problems persist, log out and back into SE.Live. + +## Commands + +Media Request commands aren't specially tagged in the dashboard, but these are the ones tied to it: [`!songqueue`](/chatbot/commands/default/songqueue), [`!skip`](/chatbot/commands/default/skip), [`!voteskip`](/chatbot/commands/default/voteskip), [`!removesong`](/chatbot/commands/default/removesong), [`!srclear`](/chatbot/commands/default/srclear), [`!play`](/chatbot/commands/default/play), [`!wrongsong`](/chatbot/commands/default/wrongsong). The [Song Request module](/chatbot/modules/songrequest) page covers the chat side in full. + +## Separating Media Request audio + +**To mute Media Request for yourself while your stream still hears it:** give it a dedicated overlay and browser source (as above), enable **Control audio via OBS** in that source's properties, then set its audio to **Monitor Off** in **Edit → Advanced Audio Properties**. This routes MR audio through your Desktop Audio — muting Desktop Audio in OBS mutes it for you without affecting the stream. + +**To control MR audio independently of the stream entirely:** this needs a virtual audio cable (VAC) — see the [VoiceMeeter Banana guide](https://obsproject.com/forum/resources/397/) — with Media Request running in Chrome (not shown on stream), Chrome's input/output routed through the VAC, and the VAC's output added to OBS as its own audio input. Showing video on stream isn't possible with this method — use Window Capture on the Chrome window instead if you need video too. diff --git a/src/content/docs/overlays/alertbox-variations.mdx b/src/content/docs/overlays/alertbox-variations.mdx new file mode 100644 index 0000000..148ade8 --- /dev/null +++ b/src/content/docs/overlays/alertbox-variations.mdx @@ -0,0 +1,79 @@ +--- +title: AlertBox Alert Variations +sidebar: + label: Alert Variations +description: "Customize AlertBox images, sounds, and messages per event, create alert variations for gifted subs and big tips, and set up text-to-speech." +keywords: + - AlertBox variations + - StreamElements TTS + - subscriber alert variations + - tip alert variations +--- + +import { Steps } from '@astrojs/starlight/components'; + +An AlertBox plays a short animation whenever an event happens — a follow, a subscription, a tip. Each event type has its own image, sound, and message, and some support **variations**: different alerts for different situations, like a gifted sub versus a regular resub. + +Before you begin, add an AlertBox to an overlay — see [Getting Started](/overlays/getting-started). + +## Customize a single event + + + +1. In the overlay editor, select the AlertBox and click the gear icon next to the event you want to customize (for example, **Follow**). +2. Set the alert image or video: a static image, a GIF, or a video file. +3. Upload an alert sound. +4. Choose the layout (text over image, or text alongside it). +5. Edit the alert message. Each event exposes a small set of variables you can insert — for a follow alert, `{name}` is the new follower's username. +6. Set how long the alert stays on screen. + + + +## Event-specific settings + +**Subscriptions** come with three built-in variations: + +- **Resubscriber** — a returning subscriber. First-time subscribers get the default alert instead. +- **Gifted sub** — someone gifts a subscription to a specific viewer. +- **Community gift** — someone gifts multiple subs to the channel at once. Without this variation, one alert plays *per recipient* — so a 10-sub community gift would trigger 10 separate alerts. + +You can add further variations — for Prime subscriptions, specific tiers, or anything else — with **Add new variation > Start with blank**, then set the variation's condition (for example, **Subscription tier: Prime**). + +Optionally show the **subscriber message** viewers can attach when they resub. + +**Tips** support variations by amount — useful for a bigger alert on large tips, or a themed alert for a specific range. You'll also need tipping configured; see [SE Pay](https://streamelements.com/dashboard/tipping) or [PayPal](https://support.streamelements.com/hc/en-us/articles/16788907050258). + +**Cheers** also ship with extra variations enabled by default. If you only want one cheer alert, disable the variations — otherwise they override your default alert's changes for matching cheer amounts. + +**Raids** can be limited to raids above a certain viewer count; leave this blank to trigger on every raid. + +## Text-to-speech + + + +1. Open the settings for the event you want to read aloud (commonly subs, tips, and cheers). +2. Scroll to **TTS settings** and enable **text-to-speech**. +3. Choose a voice from the dropdown. + + + +**Announce action** also reads the action itself before the message — for example, "sk1ll donated $5" before reading the donation message. + +## Using one AlertBox across every scene + +If each of your scenes has its own overlay, duplicating the AlertBox into every scene means duplicate sounds unless you manage it carefully. To use a single AlertBox everywhere instead: + + + +1. Create a new overlay (1080p) named something like "alertbox". +2. Open the overlay containing your existing AlertBox, select it, and duplicate it into the new "alertbox" overlay. +3. Delete or hide the AlertBox in your other overlays, so it doesn't play twice. +4. In OBS, copy the "alertbox" browser source and paste it into every scene that needs it. + + + +## Related + +- [Add an overlay to your broadcast software](/overlays/broadcast-software) +- [KappaGen](/overlays/kappagen): trigger an emote explosion alongside your alerts. +- [Widget Data](/overlays/widget-data): edit or correct the data your alerts and labels pull from. diff --git a/src/content/docs/overlays/broadcast-software.mdx b/src/content/docs/overlays/broadcast-software.mdx new file mode 100644 index 0000000..b150056 --- /dev/null +++ b/src/content/docs/overlays/broadcast-software.mdx @@ -0,0 +1,74 @@ +--- +title: Add an Overlay to Your Broadcast Software +sidebar: + label: Add to OBS / XSplit +description: "Add a StreamElements overlay to OBS Studio or XSplit as a browser source, and use multiple overlays at once." +keywords: + - add overlay to OBS + - StreamElements browser source + - XSplit overlay + - overlay URL +--- + +import { Steps, Tabs, TabItem } from '@astrojs/starlight/components'; + +Every StreamElements overlay is a web page. To show it on stream, add its URL as a browser source in your broadcast software. + +:::caution[Keep the URL private] +An overlay URL contains a token that identifies your account. Don't share it publicly or show it on stream — anyone with the URL can view (and on some pages, edit) your overlay. +::: + +## Get the overlay URL + + + +1. Go to [My Overlays](https://streamelements.com/dashboard/overlays). +2. Open the overlay's menu (the three dots) and select **Copy URL**. + + You can also copy it from inside the overlay editor, using the link icon in the top-right corner. + + + +## Add it to your broadcast software + + + + + + + +1. In the **Sources** panel, click **+** and select **Browser**. +2. Choose **Create new**, name it (for example "Stream Overlay"), and click **OK**. +3. Set these properties, then click **OK**: + - **URL:** the overlay URL you copied above. + - **Width:** `1920` (unless you changed your overlay's resolution). + - **Height:** `1080` (unless you changed your overlay's resolution). + - **FPS:** `30` or `60`, depending on your stream settings. + - Leave **Custom CSS** as default. + + + +Repeat this for each overlay you want to use — the same steps work on OBS for Mac. + + + + + +Add the overlay as a **Browser Source** using the same URL, width, and height as above. + +:::note[Overlays not showing up?] +XSplit versions older than 4.5.2306.2701 use an outdated Chromium Embedded Framework (CEF) and can't load current StreamElements overlays. Update XSplit to the latest version, or update its CEF package, to fix this — see [Troubleshooting](/overlays/troubleshooting#xsplit) for links. +::: + + + + + +## Using multiple overlays + +You can add as many overlays as you like — repeat the steps above for each one. Give each scene its own overlay (or overlays), or reuse a single overlay across scenes for elements like a unified AlertBox — see [AlertBox alert variations](/overlays/alertbox-variations) for that setup. + +## Related + +- [Troubleshooting](/overlays/troubleshooting): overlays not appearing, stuttering, or missing sound. +- [AlertBox alert variations](/overlays/alertbox-variations): customize what plays for follows, subs, tips, and more. diff --git a/src/content/docs/overlays/chat-widget.mdx b/src/content/docs/overlays/chat-widget.mdx new file mode 100644 index 0000000..4265aa9 --- /dev/null +++ b/src/content/docs/overlays/chat-widget.mdx @@ -0,0 +1,38 @@ +--- +title: Add a Chat Overlay +sidebar: + label: Chat Overlay +description: "Add your stream chat to your overlay with the Your Stream's Chat widget, and customize its appearance." +platforms: [twitch] +keywords: + - Twitch chat overlay + - StreamElements chat widget + - stream chat on overlay +--- + +import { Steps } from '@astrojs/starlight/components'; + +Add a chat widget to your overlay so viewers watching in fullscreen never lose sight of chat. + + + +1. Create a new overlay and choose your resolution (1080p recommended). +2. Click **+** to add a widget, then choose **Stream Tools > Your Stream's Chat**. +3. Customize its appearance: + - Resize the chat box to fit your layout. + - Set the theme to **Custom** for full control over styling. + - Pick a font, and adjust text color and size. + - Add a text shadow if the box sits over a bright background. +4. Save the overlay, name it, and copy its URL from the link icon at the top. + + + +Then [add the overlay to OBS or XSplit](/overlays/broadcast-software) like any other. + +## Emote support + +The widget renders Twitch emotes, including animated ones, plus third-party emotes from BTTV, FFZ, and 7TV. Unlisted 7TV emotes are the one exception — they won't appear. + +## Related + +- [Add an overlay to your broadcast software](/overlays/broadcast-software) diff --git a/src/content/docs/overlays/getting-started.mdx b/src/content/docs/overlays/getting-started.mdx index 7010166..439b981 100644 --- a/src/content/docs/overlays/getting-started.mdx +++ b/src/content/docs/overlays/getting-started.mdx @@ -90,9 +90,23 @@ To create a Custom Widget: +## Show it on stream + +An overlay only appears once you add its URL to your broadcast software as a browser source — see [Add an Overlay to Your Broadcast Software](/overlays/broadcast-software) for OBS and XSplit steps. + ## Next steps + + + + + + + + + +1. Go to [Overlays](https://streamelements.com/dashboard/overlays) and create a new overlay (or open an existing one). +2. Click **Add widget**, hover **Alerts**, and select **KappaGen**. +3. Drag the widget's bounding box to cover the whole canvas, so emotes can appear anywhere on screen. + + + +:::tip +Give KappaGen its own dedicated overlay for easier control over layering and visibility. +::: + +## General settings + +- **Enable Seasonal Hats** adds seasonal decorations (like a Santa hat) to emotes. +- **Emote Size** — keep this moderate. Very large sizes can cause stream delays. + +## Chat Emotes + +Shows emotes sent in chat, with an animation style you choose from five presets. + +- **Combo mode** shows emote combos from the [Emote Combos module](/chatbot/modules/emotecombo) when it's enabled. +- You can restrict triggering to subscribers only, and set how many emotes per user per second are allowed and how long each stays on screen. + +### Custom emotes + +Open the cog icon next to **Custom Emotes** to add your own. If the file is an animated GIF, check the corresponding box. You can also trigger a custom emote by a regex pattern instead of exact text, if you're comfortable writing one. + +If new or updated emotes aren't showing up, run `!emotes reload` in chat and allow up to 24 hours for KappaGen's cache to catch up. + +## Emotesplosions + +Triggered by chat events or the `!kappagen` command. Configure: + +- **Animation Option** — one of five animation styles. +- **Alert Types** — which events trigger an explosion. +- **Emotes to Show** — how many emotes appear per explosion. +- **Select Emotes** — which emotes are eligible. + +## Related + +- [`!kappagen`](/chatbot/commands/default/kappagen): the chat command that triggers Emotesplosions. +- [`!emotes`](/chatbot/commands/default/emotes): reload or list available emotes. +- [Add an overlay to your broadcast software](/overlays/broadcast-software) diff --git a/src/content/docs/overlays/session-data.md b/src/content/docs/overlays/session-data.md index 9cd37ec..ec93fd2 100644 --- a/src/content/docs/overlays/session-data.md +++ b/src/content/docs/overlays/session-data.md @@ -9,7 +9,7 @@ keywords: - Stream overlay development --- -The session `data` object holds per-feature totals, goals, and latest-event details for your channel — the same values visible in the [Session Dashboard](https://streamelements.com/dashboard/session). Custom widgets receive it through the [onWidgetLoad and onSessionUpdate events](/overlays/events): +The session `data` object holds per-feature totals, goals, and latest-event details for your channel — the same values visible in the [Widget Data dashboard](/overlays/widget-data). Custom widgets receive it through the [onWidgetLoad and onSessionUpdate events](/overlays/events): - In `onWidgetLoad`, `data` is available at `obj.detail.session.data` - In `onSessionUpdate`, `data` is available at `obj.detail.session` diff --git a/src/content/docs/overlays/troubleshooting.md b/src/content/docs/overlays/troubleshooting.md new file mode 100644 index 0000000..f8d540c --- /dev/null +++ b/src/content/docs/overlays/troubleshooting.md @@ -0,0 +1,37 @@ +--- +title: Troubleshooting +description: "Fix overlays not appearing in OBS, stuttering, missing sound, and XSplit compatibility issues." +keywords: + - StreamElements overlay troubleshooting + - overlay not showing OBS + - overlay stuttering + - XSplit overlay not working +--- + +## Overlay not appearing + +- Check the browser source resolution matches your overlay — usually **1920x1080**. +- Try toggling **Browser Source Hardware Acceleration** (OBS: **Settings > Advanced**) — enable it if it's off, or disable it if it's on. +- Re-copy the overlay URL and re-paste it into the source's Properties: open [My Overlays](https://streamelements.com/dashboard/overlays), open the overlay's menu, click **Copy URL**, then paste it into the browser source's Properties in OBS. +- Confirm alerts aren't muted or paused in your Activity Feed. + +## Overlay stuttering + +Usually the same fixes as above — try toggling hardware acceleration first, then confirm the source resolution and FPS match your stream settings. + +## No sound from alerts + +See the Audio Issues section of [SE.Live Troubleshooting](/selive/troubleshooting) — the same browser-source audio setup applies whether or not you use SE.Live. + +## XSplit + +Overlays require a recent Chromium Embedded Framework (CEF) version. If overlays fail to load in XSplit: + +- Update to **XSplit 4.5.2306.2701 or newer**, which ships with an up-to-date CEF, or +- Update the CEF package manually if you can't upgrade XSplit yet. + +If neither resolves it, [contact support](https://streamelements.com/contact). + +## Still stuck? + +[Reach out to our support team](https://support.streamelements.com/hc/en-us/requests/new) for further help. diff --git a/src/content/docs/overlays/widget-data.mdx b/src/content/docs/overlays/widget-data.mdx new file mode 100644 index 0000000..4949136 --- /dev/null +++ b/src/content/docs/overlays/widget-data.mdx @@ -0,0 +1,37 @@ +--- +title: Widget Data Dashboard +sidebar: + label: Widget Data +description: "View and edit the data behind your overlay widgets: recent follower/sub/tip labels, goal progress, session totals, and aggregates." +keywords: + - StreamElements widget data + - session dashboard + - overlay labels + - goal widget data +--- + +:::note[Looking for the developer reference?] +This page covers the dashboard for viewing and correcting your account's widget data. If you're writing custom widget code and need the `session.data` object's keys, see the [Session Data Reference](/overlays/session-data) instead. +::: + +The Widget Data dashboard controls the information your overlay widgets display — Label widgets ("latest follower"), goal widgets, and more. It's useful for correcting a misspelled username or an incorrect amount without waiting for a new event. + +## Accessing it + +Open the [Widget Data dashboard](https://streamelements.com/dashboard/session) directly, or reach it from the Overlay Editor's **Session Data** tab. + +If you use SE.Live, you can add it as a custom dock: **View > Docks > Custom Browser Docks...**, then use the dashboard link above as the URL. + +## Sections + +- **Labels** — the data behind Latest/Recent widgets. Edit or clear a username and amount under **Latest Data**, or remove individual entries from **Recent Data**. +- **Goals** — progress for Follower, Subscriber, Tip, and Cheer goal widgets. Values update automatically as events come in, but you can set or clear them manually. Goals don't reset between sessions on their own. +- **Session Data** — event counts and session "tops" (biggest tip, biggest cheer, etc.) for the current session. Sessions reset automatically 15 minutes after you go offline, or you can reset one manually. +- **Totals** — read-only totals pulled directly from your connected channel (followers, subscribers, cheers, tips). +- **Aggregates** — totals across a longer period (the last 7 or 30 days). Not directly editable, but they reflect account-level changes. +- **Settings** — choose whether aggregates use a rolling window (last 7/30 days) or calendar periods (last week/month), and control session resets. + +## Related + +- [Session Data Reference](/overlays/session-data): the same data, as keys for custom widget code. +- [AlertBox alert variations](/overlays/alertbox-variations) diff --git a/src/content/docs/revenue/charity-streams.mdx b/src/content/docs/revenue/charity-streams.mdx new file mode 100644 index 0000000..f3d7c2a --- /dev/null +++ b/src/content/docs/revenue/charity-streams.mdx @@ -0,0 +1,78 @@ +--- +title: Charity Streams +description: "Run a charity fundraiser with Tiltify or DonorDrive, and integrate donation alerts and goal widgets into StreamElements." +keywords: + - StreamElements charity stream + - Tiltify integration + - DonorDrive integration + - fundraising stream +--- + +import { Steps } from '@astrojs/starlight/components'; + +StreamElements integrates with two fundraising platforms — Tiltify and DonorDrive — so donations to your campaign can trigger stream alerts and update a goal widget, the same as a regular tip. + +## Tiltify + + + +1. Create an account at [Tiltify](https://tiltify.com/): **Sign Up → Fundraiser/Donor → Connect with Twitch → Authorize**, then fill in your details. +2. Verify your email, then go to your dashboard and select **Become a Fundraiser**. +3. Go to **Campaigns** and create one — choose your charity, campaign type, name and URL slug, start/end dates, and fundraising goal. +4. Once everything looks right, click **Publish** to make the campaign live. + + + +:::tip +If you have a manager or partner who needs campaign access, create your Tiltify account with an email login rather than a social login — it's easier to share access that way. +::: + +**Connect it to StreamElements:** you can use the Tiltify API directly, or integrate with StreamElements to trigger stream notifications from Tiltify donations, or reuse your existing tip alerts for them. See [Tiltify's StreamElements integration docs](https://info.tiltify.com/support/solutions/articles/43000005973-streamelements-integration) for setup. + +**Add a donation overlay:** from your Tiltify campaign dashboard, go to **Overlays** and select the overlay URL you want to use for your progress bar. + +**Add the Tiltify Twitch extension** so viewers can donate without leaving your channel: + + + +1. Go to your [Twitch Extensions page](https://dashboard.twitch.tv/extensions) and search for **Tiltify**. +2. Click **Install**, then **Configure**. +3. Log in to Tiltify and authorize the extension. +4. Select your campaign from the dropdown, save, and activate the extension. + + + +## DonorDrive + +DonorDrive supports peer-to-peer fundraising events (ExtraLife, StackUP, and others) with live streaming and donation tracking built in. + +### Set up your campaign + + + +1. Sign up and choose a charity at [DonorDrive's charity streaming page](http://donordrive.com/charity-streaming/), then register for a campaign. You'll get links to your fundraising page and an on-screen donation overlay. +2. In StreamElements, open your **Channel Settings → Integrations** tab and click **Connect** next to DonorDrive. +3. Search for and select your charity, then enter your DonorDrive Participant ID (found on your DonorDrive dashboard — you can update it later if needed). + + + +### Add alerts and a donation tracker + + + +1. In [My Overlays](https://streamelements.com/dashboard/overlays), create a new overlay (1080p recommended) or reuse an existing one. +2. Under **Charity & Seasonal → Charity**, add the **DonorDrive Donation AlertBox**. +3. Customize its animation, sound, volume, and message — use DonorDrive's variables (`{displayName}`, `{amount}`, `{programName}`, `{message}`) in the message text. +4. Save the overlay, then preview the alert using the emulator to confirm it looks right. +5. [Add the overlay to OBS](/overlays/broadcast-software) as usual. If you added the widgets to an existing overlay's browser source, just refresh it if they don't appear right away. + + + +### Update your campaign later + +To switch to a different charity or cause: go to **Channel Settings → Integrations → DonorDrive**, click **Update**, select the new charity, update your Participant ID if needed, and save. + +## Related + +- [Tipping](/revenue/tipping) +- [AlertBox alert variations](/overlays/alertbox-variations) diff --git a/src/content/docs/revenue/index.mdx b/src/content/docs/revenue/index.mdx new file mode 100644 index 0000000..745441d --- /dev/null +++ b/src/content/docs/revenue/index.mdx @@ -0,0 +1,56 @@ +--- +title: Revenue Overview +description: "Track your StreamElements income with the Revenue History page, understand 1099 tax forms, and set up your Payments Portal account for sponsorships." +keywords: + - StreamElements revenue history + - StreamElements tax forms + - 1099 form streamer + - Payments Portal +--- + +import { CardGrid, LinkCard, Steps } from '@astrojs/starlight/components'; + + + + + + + +## Revenue History + +The [Revenue History page](https://streamelements.com/dashboard/tipping/list) tracks your income across several tabs: + +- **Tip List** — every tip, filterable by username, email, or message, with options to edit, delete, or block a tipper. Exports to CSV (date, transaction ID, provider, amount, currency, tipper, email). +- **Top Tippers** — ranked by total amount tipped, with average tip and total tip count. +- **Cheers List** — every cheer received, filterable by username and time period. +- **Top Cheerers** — ranked by total amount cheered. +- **Income Report** — a monthly report (with your business name, address, and tax number) you can generate and download. + +SE.Sponsorships payments are handled through Tipalti; tipping is handled separately (PayPal, or SE.Pay/Stripe — see [SE.Pay](/revenue/se-pay)). If you manage multiple income streams, export your data regularly to keep accurate records. + +## Tax forms + +StreamElements issues a 1099 form to creators who earn $600 or more in a tax year, split by income type: + +| Income type | Threshold | How it's delivered | +|---|---|---| +| SE.Pay tips | Over $20,000 | Physical form mailed to the address entered during setup. | +| Sponsorships (excluding PayPal) | $600 or more | Emailed from `noreply@tax1099.com`. If prompted to log in: email is the first four letters of your name, password is the last four digits of your TIN. | +| PayPal tips | Handled by PayPal | PayPal provides this directly. | + +This is general information, not tax advice — consult a qualified tax professional for guidance specific to your situation. + +## Setting up your Payments Portal (for Sponsorships) + +Sponsorship earnings are paid out through the StreamElements Payments Portal (powered by Tipalti), separate from tipping. + + + +1. Start setup via [this link](https://strms.net/tipaltisetup) and log in with your StreamElements account. +2. Authorize StreamElements, if you haven't already. +3. Enter your personal and payment information. +4. US creators only: complete the tax form questionnaire and W-9 (fill it in, or upload one you already have). + + + +If you have questions or run into issues, [contact support](https://support.streamelements.com/hc/en-us/requests/new) with your account ID and a description of the issue. diff --git a/src/content/docs/revenue/se-pay.mdx b/src/content/docs/revenue/se-pay.mdx new file mode 100644 index 0000000..2d7e882 --- /dev/null +++ b/src/content/docs/revenue/se-pay.mdx @@ -0,0 +1,78 @@ +--- +title: SE.Pay +description: "SE.Pay is StreamElements' in-house tipping processor. SE.Pay Legacy is being discontinued; its Stripe-based replacement is currently in closed beta." +keywords: + - StreamElements SE.Pay + - SE.Pay Stripe + - SE.Pay Legacy +--- + +import { Steps } from '@astrojs/starlight/components'; + +:::caution[Currently unavailable for new setup] +SE.Pay is not currently available to activate — SE.Pay Legacy is being phased out, and its Stripe-based replacement is still in closed beta. This page covers both, so creators already using Legacy and creators in the Stripe beta each have accurate information. +::: + +## SE.Pay Legacy (Adyen) + +SE.Pay Legacy is StreamElements' original tipping processor, built on Adyen. It's on hold and being fully discontinued on **December 31, 2026**. + +- Legacy can no longer receive new tips. +- Any balance already in your Legacy account remains available to withdraw until the discontinuation date — make sure to withdraw it before then. +- Legacy does not automatically transfer to the new Stripe-based SE.Pay — withdraw it separately using the existing withdraw button. +- If you miss the deadline, contact StreamElements at [support@streamelements.com](mailto:support@streamelements.com) for help recovering your remaining balance. + +## SE.Pay (Stripe) — closed beta + +The Stripe-based version of SE.Pay is StreamElements' next tipping processor, currently in closed beta while the team finishes testing ahead of a wider rollout. This section describes how it works for creators who currently have beta access, and for reference once it opens more broadly. + +### Eligibility + +To use SE.Pay, you need to meet all of the following: + +- Be at least **18 years old**. +- Have over **100 followers** (Twitch) or subscribers (YouTube). +- Hold a bank account, in your own name, in one of: Australia, Austria, Belgium, Brazil, Bulgaria, Canada, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Gibraltar, Greece, Hong Kong, Hungary, Ireland, Italy, Japan, Latvia, Liechtenstein, Lithuania, Luxembourg, Malaysia, Malta, Mexico, Netherlands, New Zealand, Norway, Poland, Portugal, Romania, Singapore, Slovakia, Slovenia, Spain, Sweden, Switzerland, Thailand, United Arab Emirates, United Kingdom, or United States. +- Have streamed consistently over the last **3 months**. + +Eligibility is checked automatically as part of connecting your account (see below) — there's no manual application or support ticket needed. If you don't see the option to connect, it means you don't currently meet one or more of these criteria. + +### Setting it up + + + +1. In your dashboard, go to **Revenue → Tipping Settings**. +2. Click **Connect** to link an existing Stripe account, or create a new one. +3. Complete Stripe's onboarding — basic personal and banking information, usually just a few minutes. + + + +Once connected, manage your account (payout schedule, enabled payment methods) any time from the same Tipping Settings page, which links through to your Stripe Dashboard. + +### How it works + +- Tips go directly to your Stripe balance — view them under **Balances** in your [Stripe Dashboard](https://dashboard.stripe.com). +- Payouts follow whatever schedule you set during onboarding (manual or automatic), changeable any time from Stripe. +- Your first payout can take about 7 days while Stripe verifies your account; it's faster after that. +- Withdrawals and transaction history are managed entirely in Stripe, not the StreamElements dashboard. +- Like Legacy, tipping only works while you're live — SE.Pay doesn't support offline tips. + +### Customizing what tippers see + +From your Stripe Dashboard, under **Settings → Business → Public details**, you can set the **Statement description** shown on a tipper's card statement (StreamElements recommends using your channel name), along with the public business name, address, and phone number tippers may see. Card networks require every merchant — which, with Stripe, means you — to provide these public contact details. + +This information is separate from your private Stripe account details (like your date of birth); only what you set under Public details is ever visible to tippers. + +### FAQ + +**Do I have to move to Stripe?** +Once it's fully rolled out, yes — to keep receiving card tips through StreamElements. PayPal tipping is unaffected either way; see [Tipping](/revenue/tipping). + +**Are fees changing?** +StreamElements aims to keep fees competitive; exact figures show up during Stripe onboarding. + +**Is Stripe available in more countries than Legacy was?** +Yes — Stripe supports more regions and currencies than SE.Pay Legacy did. + +**Is my information secure?** +Stripe is a PCI Level 1 certified processor with its own fraud protection and identity verification. diff --git a/src/content/docs/revenue/tipping.mdx b/src/content/docs/revenue/tipping.mdx new file mode 100644 index 0000000..42d0fb6 --- /dev/null +++ b/src/content/docs/revenue/tipping.mdx @@ -0,0 +1,73 @@ +--- +title: Tipping +description: "Let viewers tip you via PayPal or SE.Pay, customize your tipping page, moderate tip messages, and set up tip alerts." +keywords: + - StreamElements tipping + - PayPal tips setup + - tip moderation + - tipping page settings +--- + +import { Steps } from '@astrojs/starlight/components'; + +Tipping lets viewers send you money directly during a stream. StreamElements supports two payment methods, and you can enable both at once: + +- **PayPal** — one of the most widely used tipping platforms. +- **SE.Pay** — StreamElements' own payment processor. See [SE.Pay](/revenue/se-pay) for its current status. + +StreamElements doesn't take a cut of your tips either way — though PayPal and SE.Pay each have their own processing fees (check the fees page linked from your Tipping Settings). + +## Set up PayPal tipping + + + +1. Go to **Revenue → [Tipping Settings](https://streamelements.com/dashboard/tipping-settings)**. +2. Expand **Payment Providers** and connect **PayPal**. +3. Enter your PayPal email — log into an existing account, or create a new one. +4. Click **Go back to StreamElements Inc** once connected. + + + +Make sure your [PayPal account is verified](https://www.paypal.com/us/cshelp/article/how-do-i-verify-my-paypal-account-help434) beforehand. If a viewer's tip doesn't show up in StreamElements, PayPal has likely held it for verification — you'll need to contact PayPal support about that. + +With PayPal, tips go straight to your linked account with no extra steps — you manage withdrawals entirely through PayPal's own policies. + +## Tipping Settings page + +**Revenue → [Tipping Settings](https://streamelements.com/dashboard/tipping-settings)** controls how your tip page looks and behaves: + +- **Payment Providers** — connect or disconnect PayPal and SE.Pay. Some methods are restricted by country or other criteria. +- **Page Settings** — currency (locked to your SE.Pay account currency if SE.Pay is enabled), minimum/maximum tip amount, a suggested default amount, max message length, whether viewers must log in to tip (mandatory for SE.Pay), and your tipping presets. +- **Design** — your tip page's title, banner, background, and whether to show the tipping leaderboard. +- **Tip Panel Setup** — copy your tipping page's URL. +- **Tip Moderation** — see below. + +## Tip moderation + +Tip Moderation (part of Tipping Settings) filters donation messages before they trigger an alert: + +- Disable alerts entirely for filtered tips, or just hide the message. +- Replace flagged words with something neutral, like emotes or stars. +- **Standard Profanity Protection** blocks common slurs and curse words automatically; **Custom Profanity Protection** lets you add your own filtered words, with wildcard support. +- **TTS Anti-Spam** blocks messages designed to spam text-to-speech with repeated words or letters. +- **Manual Tip Approval** — review tips from your Activity Feed before they go out; approving shows full details, denying masks the tipper's name and removes their message. Channel Editors and Full Control managers can approve tips too. + +These filters apply to usernames and messages across every alert type, not just tips. They don't affect the underlying fund transfer — only whether/how the alert displays. Reload your overlays after changing these settings for them to take effect. + +## Tip alerts + +Customize tip alerts (image/video, sound, and message) from the AlertBox's settings — see [AlertBox alert variations](/overlays/alertbox-variations) for the full walkthrough. + +## FAQ + +**What shows up on a tipper's bank or card statement?** +For SE.Pay, `STREAMELEMENTS*-tip`. For PayPal, `PAYPAL *`. + +**A viewer's donation wasn't shown on stream — what now?** +They should reach out to the streamer or their mods directly, who can replay the alert next time they're live. + +**Can a tip be refunded?** +All tips are final and non-refundable by default, but a streamer can choose to help: for PayPal tips, they can refund directly from PayPal; for SE.Pay, they'd need to contact StreamElements to process it. + +**Why is my SE.Pay tip being declined while the streamer is offline?** +SE.Pay tipping only works while the streamer is live. diff --git a/src/content/docs/selive/getting-started.mdx b/src/content/docs/selive/getting-started.mdx index 536c0f6..8a09bab 100644 --- a/src/content/docs/selive/getting-started.mdx +++ b/src/content/docs/selive/getting-started.mdx @@ -3,13 +3,17 @@ title: Install and connect SE.Live description: Download SE.Live, install it in OBS Studio, and connect your StreamElements account. --- -## Install +## Requirements + +- OBS Studio 31.x or newer. +- SE.Live is available for Windows and in beta for macOS. +- For Twitch dual format, follow the separate [dual format setup](/selive/guides/twitch-dual-format) requirements. -SE.Live is available for Windows and in beta for macOS. On Windows, use OBS Studio 31.x or newer. For Twitch dual format, follow the [dual format setup](/selive/guides/twitch-dual-format) requirements. +## Install 1. Download the installer for your operating system from the [SE.Live page](https://streamelements.com/selive). Choose the Mac beta for macOS. -2. Close OBS, then run the installer. -3. Reopen OBS and look for the **StreamElements** menu. +2. Close OBS, then run the installer, choosing your install folder. +3. Reopen OBS **as Administrator** and look for the **StreamElements** menu. ## Connect @@ -18,6 +22,39 @@ SE.Live is available for Windows and in beta for macOS. On Windows, use OBS Stud Open chat and activity through **StreamElements → SE.Live Docks**. If the docks are missing, follow the [troubleshooting steps](/selive/troubleshooting#missing-docks). +If you're prompted to complete setup again inside SE.Live, choose **Do it later** and **Leave** to dismiss it. + +Use OBS's **Profiles** and **Scene Collection** features to save your dock layout and connected accounts. If you switch profiles, log out (**StreamElements → Logout**) and back in with the correct account afterward. + +## The StreamElements menu + +The StreamElements menu in OBS gives you quick access to: + +- **Stream Setup** — configure stream details and settings. +- **Edit Widgets Data** — manage and customize widgets directly from SE.Live. +- **Setup Bot & Tipping** — initial setup for the chat bot and tipping. +- **Browse Overlays** — jump to your overlays in the StreamElements dashboard. +- **SE.Live Docks** — toggle the Activity Feed, Chat, or Media Request docks. +- **Import** — bring in settings from another service. +- **SE.Live Versions** — switch between stable and latest builds. +- **Cloud Backup / Manage Cloud Backup** — back up or restore your OBS profiles and scene collections to your StreamElements account (see below). +- **Check for Updates** — verify whether a newer SE.Live version is available. +- **Help** — report issues or reach the StreamElements Discord via live chat. +- **Logout** — sign out of SE.Live. + +### Cloud Backup + +Back up your OBS profiles and scene collections to your StreamElements account: + +1. Go to **StreamElements → Cloud Backup → Backup Settings and Content**. +2. Name the backup, select which profiles and scene collections to include, and click **Backup**. + +To restore, go to **StreamElements → Cloud Backup → Manage Cloud Backups**, open the backup you want, select what to restore, and click **Restore** — OBS restarts once it's done. + +:::note +Backups are capped at 100MB total. Keep large files like videos out of the backup and store them locally instead. +::: + For the full setup walkthrough, see the [SE.Live support guide](https://support.streamelements.com/hc/en-us/articles/18771457842066). ## Next steps diff --git a/src/content/docs/selive/guides/index.mdx b/src/content/docs/selive/guides/index.mdx index a6b28d2..1c0598f 100644 --- a/src/content/docs/selive/guides/index.mdx +++ b/src/content/docs/selive/guides/index.mdx @@ -5,6 +5,13 @@ description: Guides for SE.Live overlays, multistreaming, canvases, linked scene import { CardGrid, LinkCard } from '@astrojs/starlight/components'; +## Platform setup + + + + + + ## Build your scenes diff --git a/src/content/docs/selive/guides/multistreaming.mdx b/src/content/docs/selive/guides/multistreaming.mdx index faf28e9..249d50b 100644 --- a/src/content/docs/selive/guides/multistreaming.mdx +++ b/src/content/docs/selive/guides/multistreaming.mdx @@ -6,7 +6,11 @@ description: Connect streaming outputs, choose audio tracks, and go live on mult import GuideScreenshot from '../../../../components/GuideScreenshot.astro'; import outputs from '../img/multistream-outputs.png'; -Each output sends your stream to a platform. SE.Live sends these streams from your computer, so your upload connection must handle their combined bitrate. Three outputs at 6,000 Kbps need 18,000 Kbps, plus room for overhead. +Each output sends your stream to a platform. SE.Live sends these streams from your computer, so your upload connection must handle their combined bitrate. Three outputs at 6,000 Kbps need 18,000 Kbps, plus room for overhead. For best performance, use a system built from 2019 onward. + +:::note +X (Twitter) support isn't fully operational yet — StreamElements is prioritizing it, so follow their social channels for updates. +::: ## Connect your outputs @@ -23,7 +27,7 @@ Each output sends your stream to a platform. SE.Live sends these streams from yo 2. Check each channel name and assigned canvas. Use a [custom canvas](/selive/guides/canvas) for a separate layout. 3. Under **Broadcast Settings**, set each stream's title, category, and platform options, such as YouTube privacy. -TikTok requires LIVE access before you can stream to it. +A TikTok output always appears by default, even before you have LIVE access — connecting your account here fast-tracks TikTok's review process. Once you're logged in and granted LIVE access, the output switches to **On** automatically. ## Go live @@ -35,4 +39,19 @@ To stop one output while the others keep streaming, turn off its toggle in the M For horizontal and vertical streams on Twitch, use [Twitch dual format](/selive/guides/twitch-dual-format). -[More about multistreaming](https://support.streamelements.com/hc/en-us/articles/18771457842066-SE-Live-The-Complete-Guide-Setup-Features-Multistreaming-Troubleshooting). +## FAQ + +**Where are my TikTok chat and events?** +TikTok hasn't yet opened the APIs needed to support it in the Activity Feed and Multi-Chat. Events currently appear in your chat dock without alerts — open the stand-alone TikTok Chat dock from the StreamElements menu. + +**Can I add more than one output for the same platform?** +Yes — for example, one horizontal and one vertical output for YouTube, which gets two outputs per channel automatically since it supports both simultaneously. For TikTok, add the second stream as a Custom RTMP output. + +**Do I need to re-enter my stream key every time I open OBS?** +No, SE.Live remembers connected accounts and reconnects automatically. + +**Can I use custom resolutions, bitrates, or audio channels per platform?** +Yes to all three — set up a separate canvas per platform for custom resolutions, configure bitrates per platform or canvas, and set audio channels in each output's settings. + +**Can I create and link multiple canvases?** +Yes, and you can link them together. More active canvases and outputs use more system resources. diff --git a/src/content/docs/selive/guides/overlays-and-alerts.mdx b/src/content/docs/selive/guides/overlays-and-alerts.mdx index e145afd..ebb16b4 100644 --- a/src/content/docs/selive/guides/overlays-and-alerts.mdx +++ b/src/content/docs/selive/guides/overlays-and-alerts.mdx @@ -14,6 +14,12 @@ import alertbox from '../img/alertbox-menu.png'; +## Test it and plan your scenes + +Type in your chat to confirm chat and alerts appear correctly once the overlay's in OBS. Most creators set up a handful of scenes — `In Game`, `BRB`, `Stream Starting`, `Just Chatting` — each with its own layout, and use Label widgets to show recent activity (subs, tips) on screen. + +The [Themes Gallery](https://streamelements.com/dashboard/themes) has ready-made themes and Super Themes if you'd rather start from a complete look than build one widget at a time. + ## Add it to OBS 1. In **My Overlays**, open the overlay's three-dot menu and select **Copy URL**. You can also use the link icon in the overlay editor. @@ -22,13 +28,15 @@ import alertbox from '../img/alertbox-menu.png'; 4. Set **Width** and **Height** to match the overlay. A 1920 × 1080 overlay needs those same source dimensions; use your overlay's dimensions for a vertical layout. 5. Save, then place the browser source above sources that would cover it. -Keep the overlay URL private. +:::caution[Keep the URL private] +The overlay URL contains a token tied to your account — don't expose it to viewers or share it publicly, and be careful editing your overlay in the browser, since the URL is visible in the address bar. +::: ## Customize alerts In the overlay editor, select the AlertBox and open the gear beside an event type to change its image, sound, text, layout, and duration. Save your changes. -Check enabled variations too: changing a default alert does not change every variation. Customize or disable variations you do not want. See [Setting Up Twitch Alerts](https://support.streamelements.com/hc/en-us/articles/16789217829778-Setting-Up-Twitch-Alerts-with-StreamElements-Overlays) for examples. +Check enabled variations too: changing a default alert does not change every variation. Customize or disable variations you do not want — see [AlertBox alert variations](/overlays/alertbox-variations) for the full breakdown of subscriber, tip, cheer, and raid variations, plus text-to-speech setup. ## Use alerts across scenes diff --git a/src/content/docs/selive/guides/scenes-and-sources.mdx b/src/content/docs/selive/guides/scenes-and-sources.mdx index d12bc64..f7d0c31 100644 --- a/src/content/docs/selive/guides/scenes-and-sources.mdx +++ b/src/content/docs/selive/guides/scenes-and-sources.mdx @@ -32,6 +32,10 @@ Reusing a source uses fewer resources than creating another instance. For browse Open the canvas settings with the gear icon. Choose the canvas you want to edit, then check its name, resolution, and assigned outputs. Save any changes. +:::note[Advanced Encoding Options (beta)] +In the Advanced section at the bottom of canvas settings, you can choose an encoding method per canvas, or overwrite the global encoding settings for a specific output. +::: + ## Link scenes Link a canvas scene to its matching OBS scene. For example, link a vertical **Just Chatting** scene to your horizontal **Just Chatting** scene. @@ -40,4 +44,6 @@ Link a canvas scene to its matching OBS scene. For example, link a vertical **Ju 2. Select **Link scene**, then choose the OBS scene. 3. Switch to the canvas scene and check that the linked OBS scene changes too. +Once linked, switching scenes in your Multistreaming tool changes every linked platform automatically — including through Stream Deck, with no extra configuration needed. + [More about scenes and sources](https://support.streamelements.com/hc/en-us/articles/25445654050450-Creating-and-Managing-Scenes-and-Sources-in-SE-Live). diff --git a/src/content/docs/selive/guides/twitch-dual-format.mdx b/src/content/docs/selive/guides/twitch-dual-format.mdx index 292ec26..61a09b7 100644 --- a/src/content/docs/selive/guides/twitch-dual-format.mdx +++ b/src/content/docs/selive/guides/twitch-dual-format.mdx @@ -36,4 +36,18 @@ Click **Start Streaming** in OBS. Open your stream on a phone and check it in po To return to horizontal-only streaming, set **Additional Canvas** to **None**. +## FAQ + +**Do I need Twitch's approval to use dual format?** +Yes — beyond installing SE.Live, you also need to be accepted into Twitch's own Dual Output Beta. StreamElements doesn't control that approval; if you stream without it, OBS shows an error when you try to go live. See [Twitch's Dual Output Beta info](https://help.twitch.tv/s/article/dual-format-vertical-video?language=en_US) for how to apply. + +**OBS is crashing while I use dual format.** +Try rolling back to OBS 31 — OBS 32 has known stability issues affecting several plugins, including SE.Live. + +## Known issues + +Deleted canvases can still appear in Twitch's canvas selection dropdown, marked **Inactive**. There's currently no way to remove them — this is a known OBS bug, with no fix ETA yet. + +## Get help + [Get help with dual format setup](https://support.streamelements.com/hc/en-us/requests/new). diff --git a/src/content/docs/selive/guides/youtube-quickstart/build-your-overlay.mdx b/src/content/docs/selive/guides/youtube-quickstart/build-your-overlay.mdx new file mode 100644 index 0000000..6795351 --- /dev/null +++ b/src/content/docs/selive/guides/youtube-quickstart/build-your-overlay.mdx @@ -0,0 +1,69 @@ +--- +title: "YouTube Quickstart: Build Your Overlay" +sidebar: + label: "3. Build Your Overlay" +description: "Create a YouTube overlay from a theme or a blank canvas, then add Super Chat alerts." +platforms: [youtube] +prev: + link: /selive/guides/youtube-quickstart/dashboard-tour + label: "2. Dashboard Tour" +next: + link: /selive/guides/youtube-quickstart/connect-obs-and-go-live + label: "4. Connect OBS and Go Live" +keywords: + - StreamElements YouTube overlay + - StreamElements AlertBox YouTube + - YouTube Super Chat alert +--- + +import { Steps, CardGrid, LinkCard } from '@astrojs/starlight/components'; + +Part 3 of 5 · [All steps](/selive/guides/youtube-quickstart) + +An overlay adds graphics and alerts to your stream. If yours is ready, continue to [4. Connect OBS and Go Live](/selive/guides/youtube-quickstart/connect-obs-and-go-live). + +## Create an overlay + +To use a theme: + + + +1. Go to the [Themes Gallery](https://streamelements.com/dashboard/themes) and open the **Theme** tab. +2. Choose the **YouTube Theme**. Use the static version to reduce CPU usage. +3. Click **Create** and give it a name. + + + +![Overlay themes in the Themes Gallery](/img/youtube-quickstart/overlay-gallery.jpg) + +To start with a blank overlay, go to [Overlays](https://streamelements.com/dashboard/overlays) and click **New overlay**. Choose a resolution that matches your stream, such as 1920x1080, then click **Start**. If you saved an overlay during account setup, you can open that one instead. + +![Empty My Overlays page with the New overlay button](/img/youtube-quickstart/my-overlays.jpg) + +## Set up your AlertBox for Super Chats + +The AlertBox displays alerts on your stream. Open your overlay and select its AlertBox. If it doesn't have one yet, click **+** in the editor and choose **Alerts → AlertBox**. + +![Overlay editor with the widget picker open](/img/youtube-quickstart/overlay-editor.jpg) + +Open the AlertBox settings and enable **SuperChat**. + +:::note[Subscriber and membership alerts] +New subscribers and memberships don't trigger AlertBox alerts on YouTube. Leave those alert types unchecked. +::: + +Save the overlay. You'll add its URL to OBS next. + +## Next + + + + + +## Related + + + + + + diff --git a/src/content/docs/selive/guides/youtube-quickstart/connect-obs-and-go-live.mdx b/src/content/docs/selive/guides/youtube-quickstart/connect-obs-and-go-live.mdx new file mode 100644 index 0000000..4bbb8d3 --- /dev/null +++ b/src/content/docs/selive/guides/youtube-quickstart/connect-obs-and-go-live.mdx @@ -0,0 +1,152 @@ +--- +title: "YouTube Quickstart: Connect OBS and Go Live" +sidebar: + label: "4. Connect OBS & Go Live" +description: "Install SE.Live, connect YouTube to OBS, add your camera, microphone, and overlay, and start streaming." +platforms: [youtube] +prev: + link: /selive/guides/youtube-quickstart/build-your-overlay + label: "3. Build Your Overlay" +next: + link: /selive/guides/youtube-quickstart/set-up-your-chatbot + label: "5. Set Up Your Chatbot" +keywords: + - SE.Live YouTube setup + - StreamElements YouTube stream key + - connect OBS to YouTube +--- + +import { Steps, CardGrid, LinkCard } from '@astrojs/starlight/components'; + +Part 4 of 5 · [All steps](/selive/guides/youtube-quickstart) + +Connect OBS to YouTube and add your overlay as a browser source. If you're already streaming with your overlay, continue to [5. Set Up Your Chatbot](/selive/guides/youtube-quickstart/set-up-your-chatbot). + +## Install SE.Live + +SE.Live is a StreamElements plugin that adds chat, the Activity Feed, and stream controls to OBS. + +**Requirements:** OBS Studio 31.x or newer. SE.Live is available for Windows, with a macOS beta. + +![Desktop Apps page with the SE.Live download](/img/youtube-quickstart/desktop-apps.jpg) + + + +1. Download the installer for your operating system from the [SE.Live page](https://streamelements.com/selive). Choose the Mac beta for macOS. +2. Close OBS, then run the installer and choose your install folder. +3. Reopen OBS. On Windows, run it **as Administrator**. Look for the **StreamElements** menu in the menu bar. + + + +## Connect your channel to SE.Live + +The first time SE.Live opens in OBS, it asks you to connect a channel. + +![SE.Live channel sign-in options in OBS](/img/youtube-quickstart/connect-channel.webp) + + + +1. Click **YOUTUBE**, sign in with Google, and select your channel. +2. On the **I'd like to start with...** screen, choose **New setup**. To stream to several platforms, choose **Multi-streaming Setup** and follow the [multistreaming guide](/selive/guides/multistreaming). + + + +![SE.Live welcome screen with New setup and Multi-streaming Setup options](/img/youtube-quickstart/setup-wizard-start.png) + +## Run the setup wizard + +The **New setup** wizard adds your microphone, camera, and display capture to OBS. + + + +1. **Camera & microphone.** Select your devices, or choose **No camera**. Click **Next**. + + ![Microphone and camera selection in the setup wizard](/img/youtube-quickstart/wizard-camera-mic.png) + +2. **Display capture.** Select the display you want to stream and click **Next**. You can switch to game capture later. + + ![Display selection in the setup wizard](/img/youtube-quickstart/wizard-display-capture.png) + +3. Click **Finish setup**. + + + +![Finish setup button on the last wizard screen](/img/youtube-quickstart/wizard-finish.png) + +## Connect OBS to YouTube + +In OBS, open **Settings → Stream**, choose **YouTube - RTMPS**, and click **Connect Account**. Follow the Google sign-in prompts and select the channel you want to stream to. If OBS already shows the correct channel, keep that connection. + +### Use a stream key instead + +If you connected your YouTube account in OBS, skip this step. To connect with a stream key instead: + + + +1. In [YouTube Studio](https://studio.youtube.com/), select **Create → Go Live** and open the **Stream** tab. Create a stream if you don't have one yet, then copy its stream key. +2. In OBS, open **Settings → Stream**, choose **YouTube - RTMPS**, and select **Use Stream Key**. Paste the key and save your settings. + + + +:::caution[Keep your stream key private] +Anyone with your stream key can stream to your channel. Don't share it or show it on stream. +::: + +## Add your overlay + + + +1. Open **My Overlays** in StreamElements. Find the [overlay you created earlier](/selive/guides/youtube-quickstart/build-your-overlay), open its menu, and select **Copy URL**. +2. In OBS **Sources**, click **+ → Browser**, name the source, and paste the URL. +3. Set **Width** and **Height** to match your overlay (`1920` and `1080` if you used the default resolution). Check **Shutdown when source not visible** and click **OK**. + + + +## Open chat and stream controls + +Open **StreamElements → SE.Live Docks** and choose the panels you want to show. + +**Canvas** shows a preview and scene list for a [canvas](/selive/guides/canvas), including vertical layouts. + +![Canvas dock with a vertical preview and scene list](/img/youtube-quickstart/canvas-dock.png) + +**YouTube Chat** shows chat messages while you're live. It also links to **Live Video Settings** and the **Live Dashboard**. + +![YouTube Chat dock before the stream starts](/img/youtube-quickstart/youtube-chat-dock.png) + +**Multi-Streaming** lists your connected destinations. Turn each destination on or off before you go live. + +![Multi-Streaming dock with two YouTube destinations enabled](/img/youtube-quickstart/multistreaming-dock.png) + +**Activity Feed** shows the same events and alert controls as the [dashboard feed](/selive/guides/youtube-quickstart/dashboard-tour#the-activity-feed). + +![Activity Feed dock with alert controls and no recent events](/img/youtube-quickstart/activity-feed-dock.png) + +Drag the panels to arrange them around your OBS preview. + +![OBS preview surrounded by Activity Feed, Canvas, Multi-Streaming, and YouTube Chat docks](/img/youtube-quickstart/obs-docks-layout.webp) + +## Go live + + + +1. If you connected your YouTube account, use **Manage Broadcast** to create or select a broadcast. If you used a stream key, open that stream in YouTube Studio. Check the title, category, and privacy setting before starting. +2. Click **Start Streaming** in OBS. Depending on your broadcast settings, you may also need to click **Go Live** in YouTube Studio. Check YouTube to confirm the stream is live. + + + +See the [OBS YouTube guide](https://obsproject.com/forum/resources/how-to-stream-to-youtube-with-obs-studio.232/) for account connection options and [YouTube's encoder guide](https://support.google.com/youtube/answer/2907883) for stream key setup. + +## Next + + + + + +## Related + + + + + + diff --git a/src/content/docs/selive/guides/youtube-quickstart/create-your-account.mdx b/src/content/docs/selive/guides/youtube-quickstart/create-your-account.mdx new file mode 100644 index 0000000..6c3a030 --- /dev/null +++ b/src/content/docs/selive/guides/youtube-quickstart/create-your-account.mdx @@ -0,0 +1,68 @@ +--- +title: "YouTube Quickstart: Create Your Account" +sidebar: + label: "1. Create Your Account" +description: "Create a StreamElements account with your YouTube channel and set up the chatbot, tipping, an overlay, and SE.Live." +platforms: [youtube] +prev: + link: /selive/guides/youtube-quickstart + label: YouTube quickstart overview +next: + link: /selive/guides/youtube-quickstart/dashboard-tour + label: "2. Dashboard Tour" +keywords: + - StreamElements YouTube sign up + - StreamElements YouTube setup + - StreamElements initial setup +--- + +import { Steps, CardGrid, LinkCard } from '@astrojs/starlight/components'; + +Part 1 of 5 · [All steps](/selive/guides/youtube-quickstart) + +Use your YouTube account to sign up for StreamElements. If you've already signed up, continue to [2. Dashboard Tour](/selive/guides/youtube-quickstart/dashboard-tour). + +:::note[Before you begin] +You need to [enable live streaming on YouTube](/getting-started/youtube-live) before your first stream. This includes phone verification, and [activation can take up to 24 hours](https://support.google.com/youtube/answer/2907883). Start that now; you can set up StreamElements while you wait. +::: + +## Sign up with YouTube + + + +1. Go to [streamelements.com](https://streamelements.com/) and click **Get Started** or **Login**. +2. Choose **YouTube** and authorize StreamElements to access your channel. + + + +Your dashboard opens after you sign in. It shows existing totals, such as your subscriber count, but the Activity Feed won't include events from before you connected your account. + +:::note[YouTube feature limits] +The [Loyalty system](/loyalty) isn't available on YouTube. This includes points, the Stream Store, giveaways, and viewer queues. +::: + +## Complete the setup wizard + +Click **Continue** in the setup bar at the top of your dashboard. + + + +1. **Activate the chatbot.** Click **Activate**. You'll also need to add the bot as a moderator in [5. Set Up Your Chatbot](/selive/guides/youtube-quickstart/set-up-your-chatbot). The bot joins when your stream is public and live. +2. **Set up tipping.** Enter your PayPal email and connect your tipping page. See [Tipping](/revenue/tipping) for other payment options. +3. **Create your first overlay.** Choose **Create**, keep the resolution at 1080p, and click **Start**. Save the overlay. You'll add alerts in [3. Build Your Overlay](/selive/guides/youtube-quickstart/build-your-overlay). +4. **Download SE.Live.** Click **Download** to get the OBS plugin. The installation steps are in [4. Connect OBS and Go Live](/selive/guides/youtube-quickstart/connect-obs-and-go-live). + + + +## Next + + + + + +## Related + + + + + diff --git a/src/content/docs/selive/guides/youtube-quickstart/dashboard-tour.mdx b/src/content/docs/selive/guides/youtube-quickstart/dashboard-tour.mdx new file mode 100644 index 0000000..b022a2b --- /dev/null +++ b/src/content/docs/selive/guides/youtube-quickstart/dashboard-tour.mdx @@ -0,0 +1,66 @@ +--- +title: "YouTube Quickstart: Take the Dashboard Tour" +sidebar: + label: "2. Dashboard Tour" +description: "Check your YouTube stream stats, manage alerts in the Activity Feed, and find your StreamElements account settings." +platforms: [youtube] +prev: + link: /selive/guides/youtube-quickstart/create-your-account + label: "1. Create Your Account" +next: + link: /selive/guides/youtube-quickstart/build-your-overlay + label: "3. Build Your Overlay" +keywords: + - StreamElements dashboard + - StreamElements Activity Feed +--- + +import { Steps, CardGrid, LinkCard } from '@astrojs/starlight/components'; + +Part 2 of 5 · [All steps](/selive/guides/youtube-quickstart) + +The dashboard shows your stream stats and recent activity. If you already know your way around, continue to [3. Build Your Overlay](/selive/guides/youtube-quickstart/build-your-overlay). + +## The main dashboard + +The home page shows subscribers, Super Chats, tips, and average viewership. Choose a time period from the top bar to change the stats and graph. + +On the right, check whether the chatbot has joined your channel. **Part** removes it from chat; **Mute** stops it from posting. You can also edit your stream title and category here. + +![The StreamElements dashboard home screen](/img/youtube-quickstart/dashboard-home.jpg) + +## The top bar + +Your profile picture appears at the top right of each dashboard page, with a red ring while you're live. Click it to change your language or theme, import settings, or open SE.Live and Ground Control. + +## The Activity Feed + +The [Activity Feed](https://streamelements.com/dashboard/activity) lists individual events as they happen. You can mute or skip alerts, check chatbot status, and reset session settings here. + +![Activity Feed with recent events and alert controls](/img/youtube-quickstart/dashboard-activity-feed.jpg) + +To filter the feed: + + + +1. Click **Filter**. +2. Choose which event types you want to see. +3. Click **Filter** to apply. + + + +You can also open the Activity Feed in OBS through [SE.Live](/selive). + +If you've connected several channels, see [Multiplatform Activity Feed](/getting-started/dashboard-overview#multiplatform-activity-feed) for filtering options and limits on showing the feed on stream. + +## Next + + + + + +## Related + + + + diff --git a/src/content/docs/selive/guides/youtube-quickstart/index.mdx b/src/content/docs/selive/guides/youtube-quickstart/index.mdx new file mode 100644 index 0000000..2c94026 --- /dev/null +++ b/src/content/docs/selive/guides/youtube-quickstart/index.mdx @@ -0,0 +1,26 @@ +--- +title: "YouTube Quickstart" +description: "Set up StreamElements for YouTube: create an account, add an overlay to OBS, and connect the chatbot." +platforms: [youtube] +prev: + link: /selive/guides + label: All SE.Live guides +next: + link: /selive/guides/youtube-quickstart/create-your-account + label: "1. Create Your Account" +keywords: + - StreamElements YouTube setup guide + - how to stream on YouTube with StreamElements +--- + +import { CardGrid, LinkCard } from '@astrojs/starlight/components'; + +Connect your YouTube channel to StreamElements, add an overlay to OBS, and set up the chatbot. Follow the pages in order, or skip the steps you've already finished. + + + + + + + + diff --git a/src/content/docs/selive/guides/youtube-quickstart/set-up-your-chatbot.mdx b/src/content/docs/selive/guides/youtube-quickstart/set-up-your-chatbot.mdx new file mode 100644 index 0000000..976793e --- /dev/null +++ b/src/content/docs/selive/guides/youtube-quickstart/set-up-your-chatbot.mdx @@ -0,0 +1,106 @@ +--- +title: "YouTube Quickstart: Set Up Your Chatbot" +sidebar: + label: "5. Set Up Your Chatbot" +description: "Add the StreamElements chatbot as a moderator on YouTube, then create your first command and timer." +platforms: [youtube] +prev: + link: /selive/guides/youtube-quickstart/connect-obs-and-go-live + label: "4. Connect OBS and Go Live" +next: + link: /selive/guides + label: All SE.Live guides +keywords: + - StreamElements chatbot YouTube + - YouTube live chat moderator + - StreamElements custom commands +--- + +import { Steps, CardGrid, LinkCard } from '@astrojs/starlight/components'; + +Part 5 of 5 · [All steps](/selive/guides/youtube-quickstart) + +Add StreamElements as a moderator, then create a command, schedule a timer, and choose your spam filters. + +![Chatbot overview with commands, timers, counters, and spam filters](/img/youtube-quickstart/chatbot-overview.jpg) + +## Add the bot as a moderator + +:::note[Before you start] +The bot only joins **public, live** streams. It can't join a private, unlisted, or offline stream. +::: + + + +1. Open [YouTube Studio](https://studio.youtube.com/) and go to **Settings → Community**. +2. Add StreamElements as a moderator using either channel URL: + - `https://youtube.com/c/streamelements` + - `https://www.youtube.com/channel/UCjerlCIbLPQwSnYlClkjDXg` +3. When you're live, select **Live chat**. **Top chat** can hide the bot's messages. + + + +If the bot doesn't join, check that your stream is public, the StreamElements dashboard shows you as live, and the moderator URL matches one of the URLs above. + +:::note[YouTube feature limits] +You can't change the bot's display name on YouTube. The [Loyalty system](/loyalty) and features that depend on it, including Giveaways, the Stream Store, Viewer Queue, and Media Requests, aren't available on YouTube. +::: + +## Create your first command + +This example creates a `!hello` command that replies with the viewer's name. + +![Chat commands page showing Default commands](/img/youtube-quickstart/chat-commands.jpg) + + + +1. From the [bot command dashboard](https://streamelements.com/dashboard/bot/commands), open the **Custom commands** tab and click **Add new command**. +2. Choose **Start from scratch** and enter `hello` in **Command name**. Viewers will type `!hello` to use it. +3. In **Reply**, enter: + + ```streamelements + Hello $(sender)! + ``` + +4. Click **Activate command**, then type `!hello` in your live chat to check the reply. + + + +The [`$(sender)`](/chatbot/variables/sender) variable inserts the name of the person who used the command. Use it for names on YouTube; `$(user)` doesn't work there. + +![Add a chat command dialog with Start from scratch and command templates](/img/youtube-quickstart/add-command-modal.jpg) + +## Set up your first timer + +Timers post messages at set intervals while you're live. Use them for social links or schedule reminders. + + + +1. From the [bot timers dashboard](https://streamelements.com/dashboard/bot/timers), click **Add new timer**. +2. Name it, add a message, and set the **Online interval** in minutes. +3. Click **Activate Timer**. + + + +![Empty Timers page with the Add new timer button](/img/youtube-quickstart/timers.jpg) + +![Add a timer dialog with Socials, Discord, and Hydration break templates](/img/youtube-quickstart/add-timer-modal.jpg) + +## Turn on spam filters + +Open **Chatbot → Spam filters** and choose **Minimum**, **Medium**, or **Maximum** protection. Expand a filter to change its settings. Use [Banned Words](/chatbot/filters/bannedwords) to block specific words or phrases. + +![Spam filters and protection level settings](/img/youtube-quickstart/spam-filters.jpg) + +![Banned words page with phrase groups](/img/youtube-quickstart/banned-words.jpg) + +![New banned-phrase group with timeout and exclusion settings](/img/youtube-quickstart/create-group-modal.jpg) + +## Related + + + + + + + diff --git a/src/content/docs/selive/guides/youtube-setup.mdx b/src/content/docs/selive/guides/youtube-setup.mdx new file mode 100644 index 0000000..c116c3b --- /dev/null +++ b/src/content/docs/selive/guides/youtube-setup.mdx @@ -0,0 +1,36 @@ +--- +title: Set Up SE.Live for YouTube +sidebar: + label: YouTube Setup +description: "Connect SE.Live to YouTube: add your camera and mic, set your stream key, add an overlay, and add the StreamElements chatbot as a moderator." +platforms: [youtube] +keywords: + - SE.Live YouTube setup + - StreamElements YouTube stream key + - YouTube overlay OBS +--- + +import { Steps } from '@astrojs/starlight/components'; + +[Install SE.Live](/selive/getting-started) first, then follow these YouTube-specific steps to finish your setup. + + + +1. **Connect your YouTube account** to SE.Live to integrate it with StreamElements. + +2. **Add your audio and video sources:** click **+** in Sources, add an **Audio Input Capture** for your microphone, then add a **Video Input Capture** for your camera. + +3. **Add your YouTube stream key:** open **Settings → Stream**, choose **YouTube / YouTube Gaming**, and paste your stream key — find it via **Get stream key**, or under [youtube.com/live_dashboard](https://www.youtube.com/live_dashboard) → **Encoder setup**. Never share your stream key. + +4. **Add a YouTube overlay:** in the [Themes Gallery](https://streamelements.com/dashboard/themes), open the **Theme** tab and choose the **YouTube Theme** (the static option gives the best CPU performance). Create and name it, then open it in **My Overlays**. Select the AlertBox, open its settings, and deselect every checkbox except **SuperChat** — YouTube's other event types aren't supported yet (see [Add the Chatbot to Your Channel](/chatbot/platforms) for the current list). Copy the overlay's URL, create a new browser source in SE.Live, paste it in, set the resolution to 1920x1080, and check **Shutdown when source not visible**. + +5. **Add the StreamElements chatbot as a moderator:** copy the StreamElements Chatbot URL from onboarding, then paste and approve it under your YouTube dashboard's **Settings → Community**. + + + +You're ready to go live. + +## Related + +- [Add the Chatbot to Your Channel](/chatbot/platforms): the chatbot side of YouTube setup, including which features aren't available on YouTube. +- [Add overlays and alerts](/selive/guides/overlays-and-alerts) diff --git a/src/content/docs/selive/index.mdx b/src/content/docs/selive/index.mdx index 2e0402c..e47e0a7 100644 --- a/src/content/docs/selive/index.mdx +++ b/src/content/docs/selive/index.mdx @@ -9,9 +9,11 @@ SE.Live brings StreamElements chat, activity, and streaming tools into OBS Studi + + diff --git a/src/content/docs/selive/troubleshooting.mdx b/src/content/docs/selive/troubleshooting.mdx index 1311be9..7da2090 100644 --- a/src/content/docs/selive/troubleshooting.mdx +++ b/src/content/docs/selive/troubleshooting.mdx @@ -13,6 +13,14 @@ Open **StreamElements → SE.Live Docks**. If docks remain missing, use **Stream Retry with Google Chrome. If a VPN or browser extension blocks login, temporarily pause it and retry, then restore it. +## Can't log in with an X (Twitter) account + +Remove two-factor authentication from your X account, then log in to SE.Live again. + +## Stream Deck plugin not recognized + +The [SE.Live Stream Deck plugin](https://marketplace.elgato.com/product/streamelements-selive-61e7874a-5238-4182-9e66-1b78d86795bc) is sensitive to OBS's install path. Install OBS to its default location to avoid the plugin not being recognized. + ## Overlays or alerts do not appear 1. Copy the overlay URL again from **My Overlays → three-dot menu → Copy URL** and paste it into the browser source's **Properties**. @@ -25,11 +33,15 @@ If you hear an alert but cannot see it, move its browser source above sources co ## Alert audio +**Not hearing alerts at all?** First confirm your audio device works outside OBS (Discord, Spotify, etc.), then check **Settings → Audio**: set your main output as **Desktop Audio**, and your microphone as **Mic/Auxiliary Audio**. Layer order also matters — an alert overlay's browser source needs to sit above other sources, or you may hear the alert without seeing it. + +**Changing the alert volume:** + 1. Open the browser source's **Properties** and enable **Control audio via OBS**. 2. Adjust its volume in the OBS mixer. 3. To hear it locally, open **Advanced Audio Properties** and set its monitoring to **Monitor and Output**. -Check your audio routing if this produces duplicate sound. +Check your audio routing if this produces duplicate sound. Still stuck? The [OBS Discord](https://discord.gg/obsproject) covers general OBS audio routing questions. ## Update loops @@ -37,16 +49,31 @@ Update OBS to its latest stable release, then reinstall [SE.Live](https://stream ## Crashes or hangs -Update OBS and SE.Live, then temporarily disable other plugins and retry. Complete the BugSplat report if it appears. Support can guide you through trace logs or a memory dump if needed. +Update OBS and SE.Live, then temporarily disable other plugins and retry. Complete the BugSplat report if it appears — it sends a diagnosis report to StreamElements automatically. + +If crashes persist, add `--setrace` to your OBS shortcut's target field (right-click the shortcut → **Properties**) before reproducing the crash, then share both the resulting trace and your regular crash logs when you [contact support](https://support.streamelements.com/hc/en-us/requests/new). + +**If OBS hangs without producing a crash log** (Windows, requires OBS 31.x+): reproduce the hang without closing OBS, open Task Manager (**Ctrl+Shift+Esc** → **Details**), right-click `obs64.exe`, and select **Create memory dump file**. If this fails, retry Task Manager as Administrator, and only create one dump at a time. + +:::note +SE.Live isn't supported inside a portable OBS installation — use a regular install for full compatibility. +::: + +## Uninstalling SE.Live + +See [Uninstalling SE.Live](/selive/uninstall) for the full removal steps, including how to back up your OBS profile first. ## Streaming performance Check the combined bitrate of your [multistreaming outputs](/selive/guides/multistreaming). Also check for [unused Backtrack buffers](/selive/guides/backtrack#limit-resource-use), which consume encoding resources even while idle. +If your stream lags or drops frames when streaming to multiple platforms at once, switch to **GPU encoding** — CPU encoding struggles once you're sending three or more simultaneous outputs. + Use the OBS guide that matches the problem: - [Stream connection troubleshooting](https://obsproject.com/kb/stream-connection-troubleshooting) for disconnects and dropped frames. - [Encoding performance troubleshooting](https://obsproject.com/kb/encoding-performance-troubleshooting) for choppy video and encoder overload. +- [Laptop troubleshooting](https://obsproject.com/wiki/Laptop-Troubleshooting) if window, game, or display capture sources show a black screen. ## Get help with your setup diff --git a/src/content/docs/selive/uninstall.mdx b/src/content/docs/selive/uninstall.mdx new file mode 100644 index 0000000..0409855 --- /dev/null +++ b/src/content/docs/selive/uninstall.mdx @@ -0,0 +1,44 @@ +--- +title: Uninstalling SE.Live +description: "Remove the SE.Live plugin from Windows, and back up your OBS profile first if you plan to reinstall." +keywords: + - uninstall SE.Live + - remove SE.Live plugin + - OBS profile backup +--- + +import { Steps } from '@astrojs/starlight/components'; + +## Back up your profile first (optional) + +If you might reinstall later, save your OBS profile before uninstalling: + + + +1. Open File Explorer and go to `%appdata%\obs-studio\basic`. +2. Copy both folders inside it to another location. + + + +After reinstalling, paste the folders back into that same directory to restore your setup. + +## Uninstall + + + +1. Open the **Start Menu** and search for **Control Panel**. +2. Open **Programs and Features** (Large Icons view) or **Uninstall a Program** (Category view, under Programs). +3. Find **StreamElements SE.Live** in the list and select it. +4. Click **Uninstall** and follow the prompts. + + + +Rebooting your PC afterward is recommended. + +### If uninstalling fails + +Install OBS over your current installation folder, then try uninstalling SE.Live again. If it still fails, reinstall OBS from the [latest version](https://obsproject.com/download) and retry. + +## Related + +- [Troubleshooting](/selive/troubleshooting)