Scaling a sales team to 26X revenue growth

See how The Hustle is evolving into one of the fastest growing media companies in the world

Three months ago I wrote about launching the Sales & Partnerships team at The Hustle.

The budget was $300 and the team was, well, just me. It gave you a glimpse into the mindset, revenue goals, and tools that we used at that time.

I promised I would write an update, so here are some accomplishments we’ve had since the start of 2017:

  • Grew the full-time sales team from 1 to 5
  • Moved from my home office to an actual office in downtown Austin
  • Increased Q4 2016 to Q2 2017 revenue by 8X (26X from October to June)
  • Q2 renewal revenue exceeded all of Q1 revenue
  • Sold out of flagship advertising inventory every day since 1/4/2017

There are thousands of lessons learned and decisions made that allowed our team to accomplish so much these past 6 months, but for you entrepreneurs and sales leaders interested, here are my top 3:

Mastering Your Sales Story

When I was studying education I learned this fancy term called differentiated instruction.

The basic premise is every student learns differently and, in order for each student to understand the information, you have to diversify your instruction to each student.

So what does this mean when it comes to mastering a sales story?

  1. Create a story that is relatable. One of my favorite facts about The Hustle is that our co-founders, Sam and John, met each other through a shared Airbnb. How freaking Millennial is that? Soon I discovered that tidbit didn’t mean anything to some people, namely some of the marketing execs we pitched. The goal of that line is to foster a sense of credibility with the audience, and maybe even get a good laugh. If I don’t think a person will get that result, then I don’t say it.
  2. Each word you say should sell the next word. If you don’t think a word or phrase will do that, then don’t say it. The Hustle team does our homework before hopping on a call. In fact, we know most of the answers to the questions we are asking. This doesn’t mean we don’t have a genuine interest in getting to know that person. Rather, it’s the opposite: we care. We care enough to make sure we are guiding conversation in a direction that benefits the person/prospect/client on the phone.

So how do you get started on making your sales story?

  • Pitch your mom, significant other, or best friend. Here’s the trick: record yourself on your phone while you practice. They may not know what you’re saying, but that’s perfect at first.
  • Write out your pitch and attach the goal/emotion you want to achieve out of each line. If there is no goal/emotion desired, then scrap that line.
  • Now try to cut the entire story down by a third. People don’t want to hear you talk about yourself. Remember, you’re on the call to listen. I try to keep my talk time to under 4 minutes.
  • As you talk to more and more of your customers, add lines that fight objections before they surface. For example, at first our customers were uncomfortable with us creating content for them using The Hustle’s voice. Now, from the very beginning I address how our custom content allows us to work with brands as big as Microsoft & Sam’s Club and as small as two-person startups- a huge benefit! As a result, prospects no longer question us creating the content.
  • Once you have your story, let your team make their own. You may have created the guideposts, but encouraging your team to own their version allows them to more natural and authentic than if they’d simply parroted yours.

Culture of Winning

From day one, I wasn’t sure what we could accomplish in terms of revenue goals. One thing I did know is that I wanted to be sure to celebrate every victory. Creating a sales team can be like training for a marathon. At first, you celebrate when you finish 5 miles and then 6 months later you get mad when you don’t run 14 miles at your desired pace. This is a common and terrible mistake for a sales team. You can’t continue to level up without recognizing each time you do it and where you came from. A culture of winning doesn’t make you feel like you are a loser if you aren’t at 100% to goal.

  1. When we started to hire more sales folks, the goal was to continue to celebrate micro-goals while keeping macro-vision. This means the team celebrates anything and everything, while I’m keeping the team’s eye on our big quarterly/annual goals. We execute this by rewarding small victories (meetings set, opps created, etc.) almost weekly. Keeping the focus on weekly goals prevents our sellers from getting overwhelmed with our massive team goal while also keeping morale high if we have a bad week or two with revenue booked. (Yes, it happens!)
  2. Put the team revenue goal in front of all individual goals. We only hire intrinsically-motivated sellers. When I interview someone, I don’t want to hear how they are solely money motivated; I want to hear how they love to win. There’s a difference. On our sales board we only display team revenue goals. Why? Because this team of people who love to win get motivated by seeing our company win. Our revenue model has allowed us to hit our team target even if everyone on the team hits 80% of their own individual target. Some may say we could push our individuals harder, but I say let’s put the odds in our favor to win. Keeping the company winning keeps sellers motivated to achieve their own individual success. Now imagine what happens when everyone on the team hits 100% of their individual goal.

Turning Customers into Champions

The biggest factor of success- and what I pay attention to the most- is our renewal rate and existing business revenue.

Facebook and Google own 60% of the digital advertising landscape. There are thousands of publishers fighting for this small piece of pie. The good news is that in media, unlike software, multiple publishers can win each deal. The real challenge is making sure your piece of the pie is growing.

  1. Marketing is like dating. This is why our top selling entry package is branded “The Blind Date.” I believe Facebook and Google are so powerful because they allow a marketer to dip in their toe in terms of budget/investment. They allow a brand to have a small test that allows them to understand a baseline and give them analytics, showing them how to improve. That way, the marketer can easily double down and make a larger investment. This is our goal with every partner.
  2. Set real expectations and be transparent. We’ve found that the best — if not the only — way to grow a relationship with a marketer is to be transparent with what we can and can’t do. This starts by our media deck having all of our rates and average engagement metrics. If you’re hiding behind those stats, you’re not trying to build a relationship. People like certainty. I am certain I will prioritize The Hustle’s values over any partner and I am certain I won’t ever mislead a partner. It’s easy to lie or misinterpret CTR’s to get a quick sale but it’s impossible to grow a relationship based off those false pretenses.
“Working with the crew over at The Hustle has been one of the most enjoyable partnerships we’ve had. Aside from the perfectly seamless working relationship, their editorial team truly works wonders on the content they produce — seriously, I get asked on a weekly basis when our next Hustle inclusion is dropping. Plus, who doesn’t love super-engaged audiences and consistently hitting 2.5x ROAS?”
– Marketing Manager @ MVMT

Here are some other ways we are turning our customers into champions:

  • We listen and keep notes from day one. This might be the person mentioning on a call they have a vacation coming up or a round of funding down the pipeline. That’s how you stand out. Use that information to stay top of mind.
  • We brainstorm so the execution is easy. I like to call this “doing someone’s job for them.” If we can do someone’s job for them, they’re probably going to like us. Particularly, if our idea works.
  • We talk to our customers even when we aren’t selling them. Encourage your team to set up Google Alerts for every partner. When you see them get a PR mention or launch something you didn’t know about, then tell them congrats. No need to ask for a meeting, just let them know you care.
  • We treat every customer like a future success story. We have dozens of testimonials now, and we tell each partner in the beginning we expect them to be one. When people see their names in the deck, they are even further bought in.
  • We set expectations that are reasonable. This might be the biggest and hardest one. You know that whole underpromise and overdeliver thing? It works when making clients happy.

Have other things you’d like to know or want to see if you’re a fit to be a partner of The Hustle? Email me at [email protected].

Want to join our pirate ship? Check out all the openings we have here.

Get the 5-minute roundup you’ll actually read in your inbox​

Business and tech news in 5 minutes or less​


How'd Bezos build a billion dollar empire?

In 1994, Jeff Bezos discovered a shocking stat: Internet usage grew 2,300% per year.

Data shows where markets are headed.

And that’s why we built Trends — to show you up-and-coming market opportunities about to explode. Interested?

[email-submission-form button-text="Join Free" include-trends-opt-in="true" success-url="" default-source="thehustleco" default-medium="home-exit-popup" default-campaign="home-page" form-id="exit-popup-general" optinmonster-conversion="true"]
<script type="text/javascript"> var onloadCallback = function() { grecaptcha.render('verify-your-humanity', { 'sitekey' : '6LdddrcZAAAAALyttpvOqiwQGwq5BNhgDz4tMQGE' }); }; function getCookieValue(a) { var b = document.cookie.match('(^|[^;]+)\\s*' + a + '\\s*=\\s*([^;]+)'); return b ? atob(decodeURIComponent(b.pop())) : ''; } function getCookie(name) { var cookieArr = document.cookie.split(";"); for(var i = 0; i < cookieArr.length; i++) { var cookiePair = cookieArr[i].split("="); if(name == cookiePair[0].trim()) { return decodeURIComponent(cookiePair[1]); } } return null; } function setHiddenFieldValue(wrappingDiv, searchParams, className, utmName, cookieName, defaultValue) { var el = wrappingDiv.getElementsByClassName(className)[0]; var existingVal = el.getAttribute('value'); if (utmName == 'ref') { var newVal = searchParams.get(utmName) || getCookie(cookieName); } else { var newVal = searchParams.get(utmName) || getCookieValue(cookieName); } if ((existingVal == null || existingVal == '' || existingVal == defaultValue) && (newVal != null && newVal != '')) { el.setAttribute('value', newVal); } } function setHiddenFieldValueFromUtm( wrappingDiv, searchParams, className, utmName, defaultValue ) { var el = wrappingDiv.getElementsByClassName(className)[0]; if (el != null) { var existingVal = el.getAttribute("value"); var newVal = searchParams.get(utmName); if (newVal != null && newVal != "") { el.setAttribute("value", newVal); } } } function initForm() { var wrappingDivs = document.getElementsByClassName('email-submission');,wrappingDiv => { var sp = new URLSearchParams(; setHiddenFieldValue(wrappingDiv, sp, 'funnel-source', 'utm_source', 'funnel_source', 'thehustleco'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-campaign', 'utm_campaign', 'funnel_campaign', 'home-page'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-medium', 'utm_medium', 'funnel_medium', 'home-exit-popup'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-referral', 'ref', 'funnel_referral', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-a', 'a', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-c', 'c', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-o', 'o', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-oc', 'oc', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-e', 'e', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-f', 'f', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-r', 'r', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-t', 't', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s1', 's1', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s2', 's2', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s3', 's3', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s4', 's4', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s5', 's5', ''); var error_message = getCookieValue('validate-email-message'); if (error_message && error_message.trim() != '') { var error = wrappingDiv.getElementsByClassName('funnel-error')[0]; var prev_email = getCookieValue('funnel_email'); error_message = prev_email + " is not valid. Please try again"; error.innerHTML = error_message; = ''; } }); if (false) { initCaptchaFormV2(); } } function initCaptchaFormV2() { var v3RecaptchaResponseEl = document.getElementById('recaptcha-response-v3'); v3RecaptchaResponseEl.parentNode.removeChild(v3RecaptchaResponseEl); var wrappingDiv = document.getElementById('email-submission'); var subForm = wrappingDiv.getElementsByClassName('email-submission')[0]; var captchaVersion = document.createElement('input'); captchaVersion.class = 'g-recaptcha hidden-input'; captchaVersion.type = 'hidden'; = 'g-recaptcha-response-v2'; captchaVersion.value = 'true'; subForm.appendChild(captchaVersion); var captchaEl = document.createElement('div'); = 'verify-your-humanity'; subForm.prepend(captchaEl); var captchaApiScriptEl = document.createElement('script'); captchaApiScriptEl.src = ''; captchaApiScriptEl.async = true; captchaApiScriptEl.defer = true; document.head.appendChild(captchaApiScriptEl); } window.addEventListener('DOMContentLoaded', (event) => { initForm(); }); if(typeof hp_interval == 'undefined') { var hp_interval = 0; var hp_ts = 0; var hp_try = 0; jQuery(document).ready(function ($) { hp_interval = setInterval(function(){ $('input.hp_ts').val(hp_ts); hp_ts += 1; if(hp_ts >= 180) { clearInterval(hp_interval); } },1000); $('.email-submission:not(.prevent-default)').submit(function (e) { var form = $(this); if(hp_ts < 3 && hp_try < 1) { e.preventDefault(); if (form.find('.email-form-submit-message').length < 1) { form.find('.email-form-wrap').after('<p class="email-form-submit-message" style="padding: 0em 1.5em;">Too fast! Are you a human? Try again please.</p>'); } hp_try += 1; hp_ts = 0; $('input.hp_try').val(hp_try); } }); }); } </script> <div class="email-signup" id=email-submission> <div class="funnel-error" style="display:none;"></div> <form class="email-submission " id="exit-popup-general" action="" method="post" autocomplete="email"> <div class="email-form-wrap"> <input class="funnel-source hidden-input" type="hidden" name="source" value="thehustleco"> <input class="funnel-campaign hidden-input" type="hidden" name="campaign" value="home-page"> <input class="funnel-medium hidden-input" type="hidden" name="medium" value="home-exit-popup"> <input class="funnel-form-id hidden-input" type="hidden" name="form-id" value="exit-popup-general"> <input class="funnel-referral hidden-input" type="hidden" name="referral_code"> <input class="funnel-fail-url hidden-input" type="hidden" name="fail_url" value=""> <input class="funnel-ip-country-wordpress hidden-input" type="hidden" name="ip_country_wordpress" value="GB"> <input class="funnel-submission-url hidden-input" type="hidden" name="submission_url" value=""> <input class="funnel-a hidden-input" type="hidden" name="a" value=""> <input class="funnel-c hidden-input" type="hidden" name="c" value=""> <input class="funnel-o hidden-input" type="hidden" name="o" value=""> <input class="funnel-oc hidden-input" type="hidden" name="oc" value=""> <input class="funnel-e hidden-input" type="hidden" name="e" value=""> <input class="funnel-f hidden-input" type="hidden" name="f" value=""> <input class="funnel-r hidden-input" type="hidden" name="r" value=""> <input class="funnel-t hidden-input" type="hidden" name="t" value=""> <input class="funnel-s1 hidden-input" type="hidden" name="s1" value=""> <input class="funnel-s2 hidden-input" type="hidden" name="s2" value=""> <input class="funnel-s3 hidden-input" type="hidden" name="s3" value=""> <input class="funnel-s4 hidden-input" type="hidden" name="s4" value=""> <input class="funnel-s5 hidden-input" type="hidden" name="s5" value=""> <input class="funnel-success-url hidden-input" type="hidden" name="success_url" value=""> <input id="recaptcha-response-v3" class="g-recaptcha hidden-input" type="hidden" name="g-recaptcha-response" value=""> <div class="signup-icon" style="display:none;"> <svg width="24" viewBox="0 0 24 24" fill="none" xmlns=""><path d="M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6Zm-2 0-8 5-8-5h16Zm0 12H4V8l8 5 8-5v10Z" fill="#848B92"></path></svg> </div> <input type="hidden" name="hp_ts" class="hp_ts" value="0"> <input type="hidden" name="hp_try" class="hp_try" value="0"> <input type="text" name="first_name" placeholder="Enter your name" value=""> <input class="signup-email" type="email" name="email" placeholder="Your email address" required autocomplete="email"> <input class="email-submit om-trigger-conversion" type="submit" value="Join Free"> </div> <div class="validate-mistake-emails-message" style="display:none;"></div> <div class="form-options" style="display:none"> <div class="form-options-wrap"> <div class="trends-opt-in"> <input id="trends_opt_in_email_submission" class="trends-opt-in-checkbox" type="checkbox" name="trends_opt_in"> <label for="trends_opt_in_email_submission" id="trends_opt_in_label" class="trends-opt-in-text">Yes, I’d like to receive additional marketing emails on hot business opportunities from Trends, by the Hustle.</label> </div> <div class="privacy-text"> <p>We're committed to your privacy. The Hustle uses the information you provide to contact you about our relevant content and services. You may unsubscribe from these communications at any time. For more information, check out our <a href="">Privacy Policy</a>.</p> </div> </div> </div> <div submit-success> <template type="amp-mustache"> <p class="c-message c-message--success">Thank you for subscribing.</p> </template> </div> <div submit-error> <template type="amp-mustache"> <p class="c-message c-message--failed">Your submission failed. Please try again!</p> </template> </div> </form> </div>