Run an Ad Server on Your Roku Channel


Run Your Own Roku Ads ServerI’ve had a Roku channel set up for a while, but it’s not like a huge success – like 8,000 video views per week. It’s better than some but not going crazy, so it’s not attracting big advertisers.

If you’re not sure how to set up you own Roku channel, then I’ve got you covered – just go here and find out more.

I did get signed up with Barons Media but after waiting a month, they never ended up finding advertisers, so I started exploring how to run my own ad server.

I was thinking that’s still thousands of video views per week that really aren’t being used. Could I run an ad server?

I found an open source server and got that installed but it didn’t end up working, so I started looking for commercial solutions and found a good one.

Well, after a few bumps that their support people helped me with, I figured it out and it’s not too difficult. It’s similar to an ad server I ran for banner ads on websites years ago – not too much has changed there. As long as you can get it set up (a little tricky but I’ll walk you through it here) and understand terms like “zone” and “tags” then you can have your own ads running pretty quickly and it’s not very expensive.

What I’m using my ads for is for some of my products and offers. I’m seeing some interest in those products, so it’s pretty cool. I just shot a few ads using my laptop mainly and they’re running. Two of them are just like the product and very little text running – here’s one:

I got rights to use some cheesy music just to add to the fun and get people’s attention. It’s simple and does the trick. It was pretty easy to produce using a graphics program and Camtasia.

With the ad server, I have 4 ads running and I can set which ones I want to play more often. The video’s on Vimeo and I just bring in the URL to the MP4 file, so that’s simple, too.

In this article, I’ll walk you through how to do it. I do have an affiliate link to the ad server I use and it’s the one I’ll be explaining how to use, so since I decided to not make this article into a small book and charge for it, could you please do me a favor and sign up through that link? Thanks, I’d appreciate it!

Alright, so let’s get to it.

Your Ad Server

The first thing you’ll need is the ad server. It’s basically a web interface where you post which ads to use and the settings for the ads. Video ads are pretty simple. The verification with Roku was the tricky part, so I’ve talked to the people at the ad server I use and they said they would help anyone like they’ve helped me. Since I’ve been through this with them already, it should be a snap and take less time than it took me (in other words, you’re lucky).

The ad server you’re going to want to use is called Ad Speed (←that’s the link right there).

You can check their prices. I’m just paying $10/month for the amount of ad views I use. My peak day, so far, is 166 impressions (video views in this case).

Ad views/stats/graph

You can see that I really only got it going around July 8th and up until now (July 29th), I’m at 3% of my plan.

Understand that you’re not paying them for the storage – you provide that. They’re simple managing the ads for you. They’re like a link between your channel and your commercials. The channel asks it for a video and it finds the next one to use, hands off the URL and your video ad (commercial) gets played.

What’s great is they have a free, 10-day trial! And I mean it’s free… they don’t even want your credit card until the trial is over. Nice, right?

They have some other great options like white labeling or where you can run it like an agency and have your clients login if you want but you can always do those upgrades later. For now, you’re probably just best off with their basic plan.

Sign Up and Login

So go get signed up there and get access to your account.

The link again is Ad Speed (←that’s the link to use right there).

If I remember correctly, you’ll see a wizard right away, walking you through what to do. I’ll basically be doing what that wizard wants you to do in the steps below.

First, Create a Zone

The zone is where the ad lives. It’s like a container or if you think of a web page and there’s a banner at the top of the page, that spot is the ad zone. I had an ad to the right on this page and that’s like an ad zone.

We’re creating a zone first because once we create an ad, it needs to live somewhere. Ads can live in multiple zones, too.

For our purposes, the zone is our channel.

On the left is:

Zones > Create a New Zone

and you’ll see this page:

You’ll enter the name (I use my Roku channel name), then click the Advanced Settings, then choose the type of ad, which should be: “Video Ad (Pre/Mid/Post-Roll)”

Then click Save.

You’ve got a zone!

Next, Post an Ad

To get things tested and going, you’ll first post an ad. If you don’t have one yet and want to still test things, here’s the URL to the ad above, which I’m fine with you using:

Go into Ads on the left side and then to “Create a New Ad” like you see here:

On the right side of this page, they have some helpful explanations and instructions but I’ll walk you through it.

For the Ad Type, choose: “Video Ad (VAST-Compliant Pre/Mid/Post-Roll Ad)” and then more fields will appear:

Enter the Ad Name, URL, and then it wants a URL. Since this is video on a TV and people can’t really click, it’s not going to matter what you put here but I always put in the URL of the website just so there’s something there and to remind me where I’m sending people. You could put in if you want.

Here’s how it’ll look:

Then click Save at the bottom.

You’ve got an ad (commercial)!

(Oh, and just a friendly reminder… they’re “ads” not “adds” – remember to get this straight so you don’t look like an idiot to your clients if you’re planning on doing that.)

You can go add more ads later but I’d suggest just having one in there for now and moving on to getting things connected with Roku.

Let’s Connect with Roku

Again, this is the tricky part but the ad server company is going to help you. I’ll show you what to put in the ticket.

Technically, what you need to do is copy the Zone URL (also known as a “tag”) and paste that into your Roku channel in the monetization area:

Roku monetization page/settings

The problem is, it won’t work like that, straight out of the box.

Oh yeah and here’s the privacy policy URL you’ll want to use later:

Roku wants these two parameters set:


And that’s not in the ad server URL… yet.

This is when you probably will need to contact the ad server’s support. This may be fixed, I’m not sure. If it’s not, then just open a ticket and explain you’re running a Roku channel.

Here is what they told me:

Thank you for your message. Next time, you would only need to use the other URL (begin with “”) directly as we have identified the problem with Roku validator. It did not include a standard User-Agent string when fetching for the VAST URL and therefore, it was blocked by default by our security system. We added an exception for your account so it’s not blocked.

As for new user(s), you can instruct them to submit a technical ticket to us if they experience this issue with Roku validator (hopefully Roku will fix this eventually on their end so there is no need for special handling like now) and we can add their AdSpeed account to the exception list as well.

Should you still have any questions or need more information, please do not hesitate to contact us.

But before you contact them, just try to enter in the zone URL (tag) by going to “Zones” on the left side, then click on the name of your zone, then scroll down past the video to where you see the tabs and click on “Ad Tag” and you’ll see this:

You’ll want to copy the VAST URL.

Next, paste that into a text editor or something because you’ll need to add something to it.

You’ll start with something like this (don’t use this unless you want to run my ads):

And then add these two variables at the end:


So that the whole URL looks like this:

Now try putting that into the Monetization screen at Roku. You’ll have to, of course, select that you’re running your own ads. I gave you the privacy policy URL to add above, so grab that and put it in.

Go to the bottom and save it. Hopefully you don’t get the “The server URL could not be validated.” message but if you do, then that is when you’ll contact the AdSpeed support team.

If you do need help, then what they’ll end up giving you is a URL similar to this one (this one will not work) but it has the .php part in it and I believe they have to do something on their end for it to work:

See the extra two variables on the end?


Make sure that’s there after what you get from the ad server support team.

Once this is all done and resolved, then you’ll maybe have to wait a little bit for your ads to start running. We found there’s some kind of cache or waiting period over at Roku. It might take 24 hours, so don’t freak out if ads aren’t showing right away.


That’s about it. I might add more to this later as people ask questions but it’s really just creating a zone, putting your ads in the zone, then getting that zone’s tag hooked into Roku. If you want to run commercials on more channels, just add a new zone – rinse, lather, repeat!

You can set the weight of your ads. This part was a little confusing.

On the Ads page (of the zone), they call it “Priority” but in the ad itself, it’s called the “Weight.” I’m used to it being called “Weight” so I don’t understand why it differs. Weight makes more sense because the higher the number, the more often that particular ad (commercial) will show – where with priority, you would think that priority 1 would get the most. That is why I think that part is confusing but if you think about priority as weight, then it’ll make perfect sense.

Go take a look at all the settings in AdSpeed. Don’t be afraid to look around or go to their help pages. Their support staff is also quite helpful. Some of their emails got filtered out or didn’t make it to me but just keep checking your tickets in your account or there is one email you should get and at the bottom, there’s a link to view the ticket, so just check that once in a while.

Yeah… that’s it, really.

Give it a try and let me know how it goes for you!


P.S. Oh, and if you need some good screen shots of your Roku channel, I can help with that!

Incoming Searches:

  • ad server for roku
  • ad server roku
  • how to run adds on roku


  1. Hi Tony! Best post I could find on this by far – thank you so much!! You are officially better at this than Roku is… their documentation and guidance leaves much to be desired, and I will include guidance around the app-ads.txt file in that shot I am taking at Roku… thanks again!!

  2. Hi Tony,
    What do I eneter in the last field of the Roku monetization? It is asking for “Enter the URL where app-ads.txt file is hosted.” I did not see you mention that and when I leave it blank I get an error message

  3. So what was the answer to the app-ads.txt file? I am not sure what needs to go there and how to go about creating/getting it.

  4. Excellent article Tony. Can you tell me what Vimeo plan is needed to stream videos to a Roku channel? I will only have a few 30 second ads, so storage isn’t an issue.



Please enter your comment!
Please enter your name here