In case you didn’t hear, last Fall (2017) Ramp T-shirts sent the best cold email ever. It was amazing. People laughed. They probably didn’t cry. But they were definitely impressed! And so were we.
The team at Ramp wrote up an excellent run-down on the big-picture of how they made it happen. But we wanted more. We wanted to know the nitty gritty, under the hood, technical details on how they worked their magic.
So we asked them. And they graciously replied.
Here, dear friends, is what they told us.
from Neil Cocker (Ramp‘s CEO)
Nearly a year ago now, I had spent a few hours reading some of the great stuff on a few websites, and I had a moment of inspiration after seeing how one startup had done extremely well with their sales approach. At Ramp, we make it super easy for teams, startups, and events to get custom merchandise, while the example sales email I was looking at was for a financial services startup. But I thought their idea of including a friendly image would work in any sector. So I sent my cofounder this email:
— — — — — Forwarded message — — — — —
From: Neil Cocker <firstname.lastname@example.org>
Date: 25 May 2017 at 20:05
Subject: Fwd: Email Campaign
To: Dafydd <email@example.com>
Was browsing this site the other day, and saw this example.
I thought our version could be:
“I know sales emails can be a bit awkward, but here’s a photo of one of our team wearing a t-shirt of yours to break the ice. Although it’s only a mockup, we hope you can see how great your design would look on some high quality cotton!”…..
We agreed that this could definitely work as a concept. The only issue we had was how to actually do it. How could we actually send a photo of someone wearing their company t-shirt without manually photoshopping every single image?
And how could we do it without devoting any of our precious resources to it?
We broke it down into three separate stages. And if each stage worked — attracting significant enough sales or interest — we would move on to the next. If it didn’t, we would bin it and move on to another idea.
PHASE ONE — MANUAL TESTING
We did this totally manually. We decided to commit no more than 4 hours and $50 of resources to do a very small test. And by small, we meant send 50 personalised emails to a selection of potential business customers. Every email would feature a stock photo of someone wearing the recipient’s company T-shirt.
We scoured the internet and LinkedIn for 50 people we wanted to email, then manually searched for their email addresses. We went to their websites, Twitter accounts, and Facebook pages to find usable versions of their company logos. We found some royalty-free photos of a good looking chap in a plain white shirt, and manually photoshopped 50 logos in. Finally, I personally copied and pasted every image into the relevant cold sales emails.
Then, we waited.
The results were:
- 50 emails sent
- 40% open rate
- 6 replies
- 2 respondents said they *loved* our email approach.
- No sales.
So! Not a massive failure. But not a massive success, either. Still, it was certainly enough to justify going to the next phase of testing. At this point we were pretty new to cold emails, so we didn’t know that these stats were actually quite good for a first attempt!
PHASE TWO — PARTIALLY AUTOMATED
The manual testing had kind of worked, but there’s no way that we could justify the time and effort it would take to do this at scale — to hundreds and thousands of prospects. We had to start looking around for ways to automate at least some of the elements.
There are four basic technical elements to this campaign:
- Finding email addresses
- Finding the right company logos
- Adding logos to the t-shirt in a preview image.
- Testing, testing, testing.
The email address part was fairly simple. There’s a ton of services that help with this, but we eventually opted for Hunter.io). You use Hunter to find emails and associated job titles via LinkedIn. We especially wanted to target people in marketing, so this made it really easy to find emails for the right type of people. Targeting was going to be really important if this was to be a success!
Finding logos is a little bit more tricky. But the Clearbit service (which offers a whole bunch of options to help you customise a campaign) is really useful here, and we managed to fill in the blanks with Twitter profiles. Company logos are normally uploaded to the profiles in a clear, simple format (if a little low quality sometimes). Even now we haven’t totally automated this process, but we’re getting there.
The real “magic” is the photo of someone wearing their company t-shirt. We’d managed to do this in a fairly basic, manual way up until now. But finding a way to semi-automate this would have been tricky, but we stumbled across Placeit.net. It’s a site that allows you to freely upload images and logos to appear on a huge array of products, from laptop screens to clothing. We tried groups, female models, and kids — but the male models worked best. (We suspect it’s because mens chests are, well, flatter… so the logo looks more convincingly “real” when superimposed).
Once we had our preferred template image of a male model, our marketing assistant Romina started uploading the target company logos to our WordPress account, and copying the URLs so that they could be easily embedded in the relevant emails. It wasn’t quick, but it was certainly a heck of a lot quicker than manually photoshopping every single company logo onto a stock photo.
This time, we sent our semi-automated test to a few hundred recipients. And again, the results were encouraging. We got fantastic open rates, a bunch of replies, and a SALE. Someone gave us money!
Here was the validation we needed.
The conversion rates weren’t exactly stellar. But, it was converting. We just had to tweak it so that it converted better, and automate it so that we could do it at much bigger scale.
This was the point at which we finally engaged Milen, Ramp’s CTO, and the tech team. We’d taken a really iterative approach to it so far and decided not to use their precious time until we knew that it was truly worth it.
Everything to this point had been done by Neil, Romina and Dafydd — three non-tech members of the team.
PHASE THREE — MAINLY AUTOMATED
We now had enough evidence to put development resources into this sales project. But here’s where we added the final tweak — we decided that the person in the photo shouldn’t be a model, but me, the company CEO.
I’m a very long way from being good-looking enough to be considered a model, but we felt that by including me it would bring a certain amount of trust to the email, and also allow us to use the killer Subject line — “I’m wearing a [YOUR COMPANY] t-shirt”.
How can you not open an email with that title?
We took a simple photo of me wearing a plain white t-shirt, to use as the template onto which we’d automatically superimpose the company logos. It was only meant to be a test photo. It’s not actually a great pic — I’m not standing up straight, the shirt doesn’t look very good, and the lighting is a bit too bright so there’s no real contrast in the image. But several months later we’re still using it!
Then we built a simple Content Management System (CMS) to manage the whole process.
The primary input is domain names. In other words, we upload a list of domains and the system then does most of the hard work. We get the domains from a variety of places — we’re particularly successful with startups, so we can get domain lists from places like Crunchbase and AngelList. These are searchable by sector, location, etc. which is helpful. Sometimes we find lists of companies exhibiting at events — this is particularly successful, as there’s a high chance that these companies need t-shirts for the events.
Once we’ve uploaded the list of domains, the CMS does the following things:
- It finds email addresses associated to this domain, mainly using Hunter.io. It strips out irrelevant email addresses, such as Support@, help@, info@, etc. We try to only contact relevant people, and minimise the amount of accounts receiving this where it might be a nuisance.
- It finds logos for the domain.
- It creates the previews by automatically superimposing the associated logo onto the picture of me in a white t-shirt. Crucially, the images look good but are small enough that they load quickly in any email client.
The final output is a simple CSV that features a column for the company name, a column for an email address, and a column for a unique image URL with that company’s logo on my t-shirt. It’s then simply a case of uploading that CSV to our email sending service.
The system that accepts the list of domains, finds the email addresses, creates the previews, and produces the CSV file was built by Ramp’s CTO, Milen, and his team. He writes briefly here about the technology we use to pull all this together:
“The Leads System, as we call it, is a Docker based setup, with a few containers linked together. We have a couple of “workers” for completing specific tasks, like importing lists with domains, fetching logos, getting emails and verifying them etc, and a few more workers for long processing jobs (crawlers and scrapers for additional leads).
All of these micro services are built in PHP / Laravel, hosted on AWS, and communicate with one another using queues (AWS SQS). Logos are fetched either using the Clearbit Logo API, or with the help of some custom crawlers (company websites, twitter, facebook, etc), and then processed on one of the workers, using standard ImageMagick binaries, so that they look like they’re on Neil’s t-shirt.
Those generated images/previews are automatically stored on S3 so that they are available for the cold email generation
The emails are fetched using several different approaches as well: Hunter’s API, and automatically finding them on websites and LinkedIn profiles. By pulling all these elements together in one simple system, we can create thousands of personalised preview images, and find the relevant emails to go with them, with just a few clicks from one member of staff”
PHASE FOUR — FULLY AUTOMATED?
We’re still reliant on a small amount of human intervention to make this process work. Every image needs a very quick check to confirm that we haven’t pulled in a CEO’s profile photo to put on a t-shirt instead of his or her company logo. It’s normally our marketing assistant Romina’s job to quickly scan through the generated preview images in order to check that nothing looks out of place. She can do hundreds a minute, as she’s just looking for something that looks very obviously out of place.
But one thing that can’t often be spotted in these quick checks is “false positives”. For example — we recently emailed the Playstation team a photo of me wearing a Sony t-shirt. No massive issue, but it shows the potential pitfalls with group companies (since Playstation is owned by Sony). Somewhere their logo must be logged against the Playstation URL.
All these things are technically automatable, but will require further technical resources devoted to them. We’re not quite at that stage yet, though. But as more and more companies approach us to actually use our system themselves, it’s something we’re strongly considering. If we’re going to have more than a few external users of our custom image generating platform, then we’ll need to build something even more usable by third party users.
This is all interesting for the technically minded among you, I’m sure. But those who are more focused on the bottom line will be interested in whether it actually had commercial benefits. You can read more about the actual results of this campaign on our blog, including many of the amazing, and very funny, responses that we’ve received. You can even request an example email sent to you so that you can see me wearing your company t-shirt in your inbox!
The campaign has brought us huge amounts of traffic, kudos, and (most importantly) revenue. We’ve been written about in countless places, and even had our blogpost translated into French and German. It’s been by far and away the most successful “growth hack” we’ve ever undertaken, but we’re glad that we tested it at every stage.
And if there’s one thing I’d like to impart before leaving you, it’s that anyone can do this — and it needn’t cost much time or money until you are convinced that it’s worth moving to the next stage.