I’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).
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:
https://player.vimeo.com/external/348500429.hd.mp4?s=569366e5e078f4dec444a6addb4490eb7ecdb805&profile_id=174
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 https://google.com/ 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:
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:
https://www.adspeed.com/Privacy-Statement-Ad-Serving.html
Roku wants these two parameters set:
- ROKU_ADS_TRACKING_ID
- ROKU_ADS_LIMIT_TRACKING
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 “https://g.adspeed.net/ad.php”) 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):
http://g.adspeed.net/ad.php?do=vast&aid=478093&oid=24717&vastver=3&cb=1564447210
And then add these two variables at the end:
&dntrk=ROKU_ADS_LIMIT_TRACKING&devid=ROKU_ADS_TRACKING_ID
So that the whole URL looks like this:
http://g.adspeed.net/ad.php?do=vast&aid=478093&oid=24717&vastver=3&cb=1564447210&dntrk=ROKU_ADS_LIMIT_TRACKING&devid=ROKU_ADS_TRACKING_ID
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:
https://g2.adspeed.net/clients/vast/XXXXXX.php?dntrk=ROKU_ADS_LIMIT_TRACKING&devid=ROKU_ADS_TRACKING_ID
See the extra two variables on the end?
?dntrk=ROKU_ADS_LIMIT_TRACKING&devid=ROKU_ADS_TRACKING_ID
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.
Conclusion
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!
-Tony
P.S. Oh, and if you need some good screen shots of your Roku channel, I can help with that!
Hi Tony,
I hope this still works. I’m going to try it. I also have a Roku channel.
It’s still working on my channel!
You were spot on. I finally got everything squared away after contacting support. Thanks for the tutorial.
Awesome! Glad to hear it.
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!!
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
Google gives you an app-ads.txt file (or ads.txt I believe) to use on your website. You’ll need to upload it to the root (main) directory on your website. You can then figure out the URL pretty easily since it’s https:///yourdomain.com/app-ads.txt
Thanks, Tony. I will look into that.
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.
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.
Thanks
Hi Fred, you need to at least be on the Pro plan.
And here’s a referral link for Vimeo if you don’t mind using
Will do Tony. Right now I am just trying to test a channel and entered your Ad Server URL into my channel just to see if I can get it to save without an error. The error I get with your Ad Server URL is The server URL could not be validated. The server returned unrecognized XML. Was expecting or .
When I use the Roku test Ad Server URL from https://developer.roku.com/en-gb/docs/direct-publisher/implementing-ads.md I get a redirect error. Not sure if I am doing something wrong or it needs updated.
Hi Tony. Does Roku still allow new TV channel owners to self-serve adverts? I’m working with a few other content creators, but I will be owning the app “Channel”. The doc’s that Roku has really lacks for direct questions. Can I sell my own ad spots? Why do I have to give you (Roku) my ad inventory? Can the ads be in the style of a product placement video for Affiliate Marketing like NordVPN and others? No answers to direct questions, but links to the same thing about ad servers. Any way for you to give me direction would be awesome.
I don’t use Roku anymore and I let my channel go, but I was able to specify my own ad server. I think they have to allow you do to do this unless they’ve completely changed their model, and I’m not sure.
I used to run ads I made just fine when I was running my own ad server.