B2C SaaS SEO for CampusReel

In February 2019, we signed a contract with CampusReel. At that moment, their site was receiving around 1,000 visits per month.

Just 12 months later, their traffic exploded to 166,000 monthly organic visits.

In this case study, I’ll walk you through the exact programmatic SEO strategy we executed on this project to make this happen.

It’s also important to know that this project was done with minimal resources, no human writers and I was paid $1,500 for it. Meaning, you can almost certainly accomplish the same. Let’s dive in.

🔎 Background

If you’re reading a Content Distribution article for the first time, here’s what you gotta know.

We’ve taken several projects from 0 to +100,000 monthly organic visits in a very short frame (in under a year or two):

On most of these projects our strategy is the same:

  • Create the most valuable page of content Google could show for the topics we want to rank for
  • Integrate product into the content as a natural next step for the reader
  • Align content & SEO strategy with business goals (revenue)

We almost completely skip technical BS, building backlinks, hacks and shortcuts.

Having said that, this project is the biggest outlier, because it’s the only project where we really doubled-down on programmatic SEO and published no human-made content. It was a cool experiment done with minimal budget, and it paid off for the client massively.

Since then, we’ve worked with clients like ClickUp, Privacy, Austin Bank, achieved similar successes and figured out the exact type of client we can create the most value for.

I’m talking about +10x ROI, greatly reduced CAC and a tenfold increase in their internet brand footprint.

Estimated Organic Search Traffic

If you’re familiar with Ahrefs, the #1 SEO tool in the world, you can skip this next section. If you’re not, keep reading.

Ahrefs provides SEOs with data to make intelligent campaign decisions.

One of the core pieces of functionality Ahrefs provides SEOs with is estimated organic search traffic of any website on the internet.

Ahrefs estimated organic search traffic isn’t going to exactly match Google Analytics traffic, but the reason I’m showing you Ahrefs estimate organic traffic instead of Google Analytics is:

  • Ahrefs data is public and can be viewed by anyone with an Ahrefs account
  • Google Analytics data is private & generally our clients don’t want this data made publicly available (although some don’t mind)
  • Ahrefs data is more accurate than SimilarWeb, Moz, SEMRush, and any other tool that exists to estimate organic search traffic

Here is what Ahrefs has to say about the difference between their data & Google analytics:

You can read the full article here.

The Opportunity

CampusReel helps highschool students evaluate the universities and colleges they’re interested in attending with actual interviews, reviews, and virtual tours from real students.

When they approached us, they thought organic search could be a major growth lever, but didn’t have a clear path forward.

It’s no wonder. The SEO industry loves to overcomplicate things and make it inaccessible to people outside the space. When you Google ‘ranking factors’, you find Backlinko’s article with over 200 different ranking factors.

And like most small bootstrapped startups, CampusReel didn’t have the bandwidth to learn, test, and iterate, or the internal expertise on their team to delegate.

But their hunch was good. Their competitors were generating massive amounts of traffic:



CampusReel’s competitors are generating these enormous amounts of traffic by ranking for the brand names of the schools they have data on.

When you Google any school in the country’s name, one of these competitors almost always show up:




The Challenge

CampusReel competitors produced very little content by hand and mainly focused on programmatic SEO, creating pages about every school in the country with information they scraped about the school from the Department of Education.

CampusReel didn’t do that.

Their angle on education reviews was interviews, reviews and walkthroughs from real students attending these schools by paying them to create user-generated content (UGC).

And because this means a lot of work and CampusReel is a small bootstrapped startup, they only had content from hundreds of schools, not tens of thousands like their competitors.

The next challenge was that Campus Reel mostly had video content. Their pages had almost zero written content.

Outside of a few websites like YouTube and Pinterest, Google prefers to rank websites that are rich in written content.

And so, we had to adjust our strategy to fit the needs and context of CampusReel:

  • Small, bootstrapped startup with limited resources
  • Nearly zero written content, mostly video content
  • The number of schools they had content for is measured in the hundreds, not tens of thousands

Execution strategy

In order to execute the campaign with the budget CampusReel had allocated we had the following limitations:

  1. We needed to work with the content CampusReel had today, meaning no scraped data from the Department of Education.
  2. While hiring writers to write high-quality content is less expensive than you would expect, manually producing the volume of content we needed for hundreds of schools wasn’t an option.
  3. We had to focus on areas that could be done once, but create an impact on a site-wide basis.

Sitewide Optimizations

The more relevant we are to the keyword we want to rank for, the easier it is to rank.

But Google’s ranking algorithm can’t read minds, and if we want to be relevant to a particular school, we need to be explicit in what we tell Google our page is about.

And the areas we have to drive relevance are limited to:

  1. URL
  2. Title
  3. Meta title
  4. H1
  5. H2s
  6. Internal links
  7. External links
  8. Pages linking to you

#1 – #7 are accessible to us, whereas #8 is generally outside of our control unless your organization excels at earned media, or has the budget to pay for backlinks.


CampusReel built their app in Ruby on Rails, and when we took over the project they were using random strings in their URLs, which looked like this:


We changed the URLs to:


Internal linking

The closer a page is to the homepage, the more important Google believes that page is to your brand, and the easier it is to rank.

But we can’t link +300 universities from the homepage without wrecking the user experience.

So in order to reduce the # of clicks, it takes to get from the homepage to any school on CampusReel we created ‘hubpages’.

Hubpages are groups of similar pages under one ‘hub’.

This allows us to reduce the # of links on the homepage to a manageable amount, while still reducing the # of clicks it takes to visit any school on the site.

This was implemented in both the header and footer of the site to align with SEO best practices, but also improve the user experience.

We linked to these hub pages in the header:

And footer:

Clicking a hub page takes you to a list of all the schools tagged with a particular ‘school type’ attribute:

School pages

Previously all of the videos on a page were mixed together.

Fortunately, CampusReel had tagged each type of video on the back-end, so we sorted the videos by type and added a table of contents to the top, based on how prospective students search for information.

There were other opportunities that we wanted to cover, like GPA & SAT scores, but CampusReel’s content was primarily focused on dorms, campus social life and dining halls.

So we made due with what we had.


CampusReel has over 300+ university profile pages, and thousands of individual video pages.

The only way this was going to work was to generate the metadata for each page programmatically, so we created a structure for each page type:

[School Name] campus reviews and video tours. Get a video tour of [School Name] life. You would never guess what [School Name]…..

We implemented a clickbait cliffhanger at the end of each university’s meta description.

Our goal here was to create something searchers would scroll down past higher search results and click through to, even if CampusReel wasn’t ranked #1.


There are very, very few websites that rank well in Google without much written content. The odds were pretty much against us:

  • CampusReel had almost zero text content – most of their content was video UGC
  • We didn’t have the budget to create written content for 14,000+ pages
  • Even if we did, managing the manual creation and placement of that much content would have been a long, logistical slog

So we got creative. We instructed CampusReel to run all 14,000 videos through an API based transcriptions service that takes audio/video and provides written transcriptions of the content, then pushed the transcriptions all at once to 14,000 pages.

And just like that, we were able to align the site with what we know Google likes, in a massively cost-effective way.

Notice we hide text behind a button to keep the page UI clean.

This is a valid tactic, and works, as long as the text loads with the page. If the text does not load with the page, you reduce the effectiveness of hiding the text behind the button.

Gateway pages

The success of the automated page build out proved organic search was a viable acquisition channel, and CampusReel began expanding the scope of their ambitions.

The next keyword targets they executed on were:

  1. Calculators for college prospects
  2. Transferring to universities in their database

Once users land on the page, they are funneled to video reviews of that college.

And the page does a great job at structuring their content.

Internal linking.

And increasing user engagement metrics via embedded calculators.


This was a very unusual project to work on, and very fun.

It was our first project trying to rank a site with very little written content, and we’re very proud of what we were able to achieve on a shoestring budget.

Since then, we’ve figured out our sweet spot when it comes to our offering and market fit, started focusing more on publishing great content at scale and achieved successes even bigger than this one with clients like DoNotPay, ClickUp, Privacy, Austin Bank, and others.

Still, this case study serves as a reminder that you can achieve great success in SEO when you get creative, even with very limited resources.