Why a producer cares about regions and ads on an IRL stream
A desk stream has one room and one sponsor deck. An IRL stream walks past a venue with its own rules, into a store with a brand deal, and sometimes through somebody else's loud music. Any of those can mean the show should not be served everywhere, or that an ad should not land at a specific moment.
The usual reasons are boring and real. A sponsor bought a territory. An organizer gave you rights for one country. A rights holder only cleared certain regions. Or the segment is sensitive: an interview, a medical moment, a memorial, somewhere a midroll ad firing would be tone deaf.
This guide is about two YouTube live settings that the Live Streaming API now exposes: a region block and a midroll pause. It is written for the person who has the YouTube side of the show, usually a producer or channel operator, not the streamer holding the phone. It assumes the video is already reaching YouTube.
Sources and references
What the two fields actually are
YouTube's revision history lists contentDetails.availabilityConfig as new on June 1, 2026, described as a way to specify geo-restrictions for a live broadcast. On the liveBroadcasts reference, it has two halves. globalConfig says the video is available in all regions except the ones in an excludedRegionCodes list. regionsConfig goes the other way: the video is available in the listed regions only, using a list of regionIntervals. The reference also says that if the config is not set, it is not enforced.
The midroll pause is monetizationDetails.cuepointSchedule.pauseAdsUntil. The reference says it tells YouTube not to insert midroll ads until the datetime you give it, in ISO 8601 format. It must be a future datetime to pause. On July 20, 2026 the revision history says it also accepts a past datetime or an empty value to unpause ads.
Two details change how you plan. First, the reference notes that the time-window interval inside availabilityConfig is not supported for upcoming or active live broadcasts. So do not plan on a timed block switching on mid-show; set the region list. Second, the pause is a rolling window, not a toggle.
Studio, API, and what is not documented
The liveBroadcasts reference says monetization settings, such as turning on ads automation, can be set through the API or in YouTube Studio when creating the broadcast or editing it during the live. YouTube's help page on live midroll ads describes three modes: Automatic, Scheduled, and Manual. In Automatic mode it describes a Delay ads button in the Live Control Room that pauses midrolls for 10 minutes. That looks like the human version of pauseAdsUntil, but neither page says they are the same mechanism.
For regions, be careful. YouTube's help article on blocking videos in specific territories says those features are only available to partners who use YouTube Studio Content Manager, and it walks through regular videos in Content Manager. It does not address live streams. So I am not claiming a Studio screen for a live region block. Treat availabilityConfig as an API field until YouTube documents otherwise.
Eligibility is the other gap. The availabilityConfig reference I read does not state that it is limited to certain channels, and I did not find a statement saying all channels have it. Do not assume either way. Test on your own channel with an unlisted broadcast before you promise a sponsor anything. The ad side is clearer: channels outside the YouTube Partner Program cannot modify monetizationDetails.
Who needs to be able to change this
Both fields are written through liveBroadcasts.insert or liveBroadcasts.update. Google's docs for each method say the request needs authorization with at least one of two scopes: https://www.googleapis.com/auth/youtube or https://www.googleapis.com/auth/youtube.force-ssl. The docs I read do not say which channel roles in Studio can grant that access, so confirm that with the actual channel owner before show day.
The practical rule is one writer. Pick the one person or one tool that sends changes, and make everyone else read-only. Two people editing the same broadcast from different tools is how a pause gets overwritten or a region list gets blanked.
The update method says that if your request does not specify a value for a property that already has a value, the existing value is deleted. The method also lists required fields in the body, including snippet.scheduledStartTime and the monitorStream settings. So read the broadcast first, edit that copy, and send the whole thing back.
Sources and references
Before the show: the checklist
Do this the day before if you can, using an unlisted test broadcast, because that is the only safe place to find out what your channel accepts.
- Write the policy in one line per segment: which regions are blocked and why, and which segments need a midroll pause.
- Name the writer and a backup, and confirm their access with a harmless read of the broadcast.
- Check ad eligibility before you promise anything. The reference has an eligibleForAdsMonetization field that says whether a broadcast can run midroll ads, and notes that things like an existing claim or a channel not set up for monetization can make it ineligible.
- Make sure ads automation is already on. The update method's error text says cuepointSchedule.enabled can only be set in YouTube Studio, and pauseAdsUntil will be refused if it is not true. Turn it on in Studio when you create or edit the event.
- Set the region list on the broadcast, then read the broadcast back and confirm the list is what you wrote. Do not use intervals for a live event, per the reference note.
- Check whether your region codes are accepted on the test event. The reference page I read does not spell out the code format for that field, so run one real call and look at the response.
- Test the pause on the unlisted test broadcast while it is live, since the docs say a pause only works when the broadcast is live. Send a pause, then send an unpause, and note exactly which request shape your channel accepted.
During the show: pausing without a surprise ad
Here is the catch with the pause. The update method's error table says pauseAdsUntil is invalid if it is not in the future or if it is farther than 10 minutes from the current time. So a single call covers at most ten minutes. A sensitive segment that runs 25 minutes needs repeated pauses, not one big one.
Treat it as a rolling window. Send the pause a minute or two before the segment starts, with a time about eight or nine minutes ahead. Set a repeating reminder, and send the next pause before the first one lapses. When the segment ends, send the unpause so you are not sitting on a stale window that eats ad revenue you wanted.
There is also a documentation snag. The reference says a past datetime or an empty value unpauses ads, while the error table says a value not in the future is invalid. Those do not obviously agree. Your test run is where you learn which one your channel accepts. If the past value is refused, try the empty value.
Be careful with manual mode. YouTube's help page says that when you use Delay ads in Automatic mode, manually placed ads still display. If your team is also firing manual breaks, a pause is not a lock. Decide who owns manual breaks, and tell them to stop during the sensitive window.
- Log every pause and unpause with a clock time and the response code, and re-pause on a timer, not on memory.
- If the block list needs a change mid-show, treat it as a change to a live event: read, edit, write, read back, and tell the streamer's team.
After the show: close the loop
When the broadcast ends, unpause and read the final state once. Then review with whoever owned the policy: were the right regions blocked, did anyone complain, did any ad land inside a sensitive window? Write the answers down while you remember them.
Compare your pause log with the show clock. If an ad hit inside a window you thought was covered, look for a gap between pause calls before blaming the platform.
Look at the archive as a viewer in an allowed region and, if you have a safe way to do it, as a viewer who should be blocked. Do not assume the live behavior carries over to the replay. Update the next show's checklist with what your channel actually accepted.
Error handling: what the docs say each failure means
The update method lists the failures you are most likely to hit. Read them before show day so you recognize them at 9pm with a streamer in a crowd.
- 412 videoNotEligibleForAdsMonetization (added August 18, 2026): the video is not eligible for ads monetization, which the docs say can occur if the channel is not eligible. Do not retry in a loop.
- 403 monetizationDetailsModificationNotAllowed: channels outside the YouTube Partner Program cannot modify monetizationDetails.
- 403 pauseAdsUntilModificationNotAllowed: either cuepointSchedule.enabled is not true (settable only in Studio) or the broadcast is not live.
- 400 invalidPauseAdsUntil: bad ISO 8601 format, not in the future, or more than 10 minutes out. Recompute from the current time and resend.
- 503 backendError: the docs say some settings cannot be applied yet, likely because the broadcast was just created, and to retry in a few seconds. This is the one failure where a short retry is the documented answer.
- 403 insufficientLivePermissions and liveStreamingNotEnabled: the request is not authorized for that broadcast, or the account is not enabled for live streaming.
What to tell the streamer and the mods
The streamer needs very little: which segments are restricted, and that a viewer saying they cannot watch is a note for the producer, not something to fix on air. No YouTube settings from the phone during a walk.
Mods need two lines. Viewers in blocked regions may see the video as unavailable, and mods should not promise to fix it. If someone says an ad hit during a sensitive moment, a mod notes the time and tells the producer.
Failure modes to plan for
Region blocks are not a privacy tool. They do not change what is on screen, so a street sign or house number still shows to everyone allowed in. If the real risk is location, use your privacy cutover scene and keep the region block as a rights or sponsor control.
I did not find YouTube documentation that guarantees how strictly the setting is enforced, so do not promise a sponsor it is airtight.
The other classic failure is stale state: someone edits the broadcast in Studio while the writer is mid-update. Read before you write and read after.
Where StreamableRun fits
StreamableRun is the production layer here, not the place these two fields live. One cloud output can feed YouTube along with Twitch, Kick, or custom RTMP destinations, so the stream itself does not depend on the phone staying healthy while the YouTube operator works on settings.
For YouTube specifically, the product's own guide describes connecting a channel under Destinations, choosing to go live now, use a scheduled stream, or schedule a new one, and then letting Streamable bind the stream, wait for healthy video, and take the broadcast live. It also covers a manual stream URL and key option, where Streamable cannot select or manage that channel's broadcast, so you confirm the event in YouTube Studio. That guide does not mention region or ad fields. Set availabilityConfig through your own API access, and pauseAdsUntil the same way or with the Delay ads button in the Live Control Room, then test with the exact setup you plan to use.
Role separation helps on show day. The moderator guide describes Admin Moderators, Scene Switchers, and Tools Moderators, with different levels of control over scenes and tools. A Scene Switcher role covers scene control without any YouTube authorization, and the Ingest Offline fallback scene covers a dropped ingest. The person with the YouTube authorization does the platform changes. Keep the two jobs on two people when you can.
Quick answers
Frequently asked questions
Is there a YouTube Studio setting for blocking regions on a live stream?
I could not verify one. YouTube's help page on blocking territories is about Studio Content Manager, is limited to partners who use it, and covers regular videos rather than live streams. The region block described here is the availabilityConfig field in the Live Streaming API.
Can I schedule a region block to turn on in the middle of a live stream?
The liveBroadcasts reference says the interval fields inside availabilityConfig are not supported for upcoming or active live broadcasts, so do not plan on timed windows. Set the region list itself and test the behavior on an unlisted event first.
How long can I pause midroll ads with pauseAdsUntil?
The update method's error table says the value must be in the future and no more than 10 minutes from the current time. For longer segments, send a new pause before the previous one runs out, and send an unpause when the segment ends.
Does StreamableRun set YouTube region blocks or pause ads for me?
No. StreamableRun's YouTube destination handles connecting the channel, choosing or scheduling the broadcast, binding, and going live. Region and ad-pause fields are changed through your own YouTube API access, and the ad delay can also be done by hand in YouTube Studio.