This a step-by-step process on how to build and maintain an engaged Slack community outlining everything, from tools, email copy, and analytics.
TABLE OF CONTENTS:
- Our Target Market and the Challenges Around It
- Slack Channel Setup
- Finding Early Adopters
- Initial Traction Process and Setup
- The Growth Phase
- How to Keep the Engagement High
- Capturing Inbound Traffic
- Where to go From Here?
- Recap of marketing/sales tools used
It was August 2017, and I had my last interview before joining intermix.io. We had a great kick-off chat with
, one of the co-founders here about how we want to emphasize bringing value to data teams and analytics engineers as opposed to market to them. Engineers are smart. They can recognize an ad from miles away.
So my first task was to build a community for our newsletter called SF Data. We had precisely 34 subscribers when I started. But it didn’t matter. We were looking for great reads, tools, and tactics all week so we can send them out to our community.
As our newsletter started growing, we decided that events would be a good idea too. With the help of the newsletter and Eventbrite, we started our SF Data meetup group that we used to engage attendees even more.
Now, after two and a half years, SF Data, the newsletter has over 6200+ subscribers, and our meetup group in San Francisco has 1500+ members. All of this growth was done with $0 spent in advertising.
Press enter or click to view image in full size
Our target market and the challenges we needed to overcome
Hosting events and making our community bigger was fun. But when we got our seed round, things became of a lot more “serious”. We had to have a steady pipeline of opportunities to keep our company growing. Now it was time to deliver on our growth targets.
In simple terms, our product was a dashboard where analytics engineers can track the data workloads they care about, and retroactively understand user engagement, cost, and performance of their data products. We only supported Amazon Redshift which is a data warehouse product that forms part of the larger cloud-computing platform Amazon Web Services.
So we were limited not only to data teams only but data teams that worked specifically with Amazon Redshift. Furthermore, engineers have never seen a product like ours so when a problem occurred that we can solve, they turned to scripts without ever researching a software solution like ours.
To sum up, here is what we were facing:
- Really niche targeting (data teams that use Amazon Redshift)
- No other SaaS products that did a similar thing (we had to educate the marketing on why a solution like ours makes sense vs using scripts)
- Very small marketing budget
- Competing with big brand names for SEO traffic
If we solve these problems, we would be successful.
So I got to work. We started writing content that was very specific around solving problems for the community to get organic traffic, launched some Google ads, answered Quora questions, participated in forum discussions, did ABM campaigns, etc. It was going ok. We were learning a lot of things but one was especially consistent.
People had the need to discuss solutions to specific problems. Even the ones who started a trial with us, they needed to talk to our team so they can get an answer for all those questions they were having.
Once we realized this, it all made sense. That’s why a lot of people were signing up for our product from forums (once
had answered all of their questions and they saw that we were “legit”).
Which brings us to the Slack community.
We lacked a two-way communication with the newsletter, something that a chatgroup can quickly solve. We wanted our community to be able to have a voice and engage with each other. We also wanted to build the community in a place they are already using in their daily workflow, vs. having to login into some random “community platform”, and Slack was perfect for that.
Besides, when people were signing up for our product, we offered a Slack chat as a way of supporting them. They all got a shared channel inside our company slack account, and that’s where we answered their questions. This was inefficient since we often had to explain the same thing to multiple companies, and 90% of the questions were about Amazon Redshift and not our product.
So I took everything that I learned in the past two years building communities and put it to work in creating and growing our Slack group.
I’ll outline the exact steps on how to set up the channel, grow it, and, most importantly, keep the members engaged. So strap in and take notes, because I am going into a lot of detail.
Slack Channel Setup
This part explains how we set up the channel, to begin with. Not much has changed since starting except that we added some new public channels that are not necessarily Amazon Redshift Related like #modeling and #careers.
Invite link
For the initial way of adding people, we are going to use a slack invitation link that we can get just by going into to slack app and clicking on “Invite new members.”
Landing Page
Our landing page was on a subdomain so we can have analytics for the page.
As for the invites, we were using the same approach as Postgres, DBT, and many other Slack channels, which is having our logo + the Slack logo and an email input field. Once they enter their email address, they receive a confirmation email that is giving them access to the channel once they confirm. We also added an email opt-in to everyone that joins the community, and we use it for sending insights from conversations on a bi-weekly basis (more about this later on in the article).
The way you can execute this (because Slack is not letting you do this out of the box) is to create a slack app and use this GitHub project called Slackin (GitHub repo here) that is going to automate this process for us.
Channels
List of initial slack channels:
- #redshift — The main channel for Amazon Redshift related conversations
- #general — Community-wide announcements and discussion.
- #random — Jokes and memes.
- #introductions — We picked introductions because we felt it’s important to know exactly who you are engaging with and bring credibility to the channel.
We focused on having as few channels as possible. It’s tempting to go broad. But that dilutes the conversation. Focus is important, make one channel work, and then see what topics you can break out.
Pinned message in #General asking for intro with answers to 4 questions
- Name
- Role
- Company
- Years of Redshift engagement
Posting
- Admins welcome new members once per week
- Provide responses and helpful suggestions especially in the early days
- Site admins are encouraged to post at least two times per week (share news, stories, fixes, useful scripts, anything)
The Rules
- English is the only language used in the public channels
- Email address is always hidden
- This forum is free, and advice is provided at-will and without legal repercussions
- Only admins & owners can use the mass notification functions (@channel, @here, and @everyone)
- No solicitation
- No self-promotion
Finding Early Adopters
The first people that join are the most important ones. For that reason, you have to look for someone that will be a great fit and needs a community like ours. We had three ways of getting our early adopters on board:
- Co-workers and friends
- Existing customers, current trials and past signups
- SF Data invites
1. Coworkers and friends (who are a fit) — These are people that we can ask to join the channel and also help us start conversations. The execution approach here was for our leadership team to make a list of 5+ people that we can reach out personally, explain why we are doing this and what’s the value and ask them to participate in the conversations we are having. We have to see them as a fit as well. Otherwise, it will be just another name in the bucket, and that’s not what we need.
In the past, my experience with this is that most people 7/10 will be active in the beginning and then gradually drop off. Still, the ones that will stay active will be the leaders (and possibly admins later on) that will drive our community forward with us. This article by
is an excellent example of how the initial members are critical and should be people that we know are a perfect fit.
2. Existing customers, current trials and past signups
2.1 Existing customers — As mentioned above, we wanted to transition from having every company that was a customer in a shared Slack channel inside our workspace over the community account. They could observe discussions and solve problems with other engineers and not just our team, and we would spend much less time repeating things to every other company.
2.2 Current Trials — We drove current signups to the shared slack channel in the nurturing emails they get after they signup for a free trial.
2.3 Past Signups — We launched an email sequence for all past signups telling them about the new community we are building and why this will help them. The emails were already segmented in Drift, and the sequence was launched as soon as we started with the acquisitions.
2.4 Content Downloads — People that previously downloaded content from our website.
3. SF Data Readers
We have a massive community of data engineers subscribed and engaged in our newsletter. That’s why these people are highly qualified and engaged to be a part of the initial community.
Initial Traction Process and Setup
With these three groups identified, we were ready to get them on board. In this section, I’ll explain a little bit about our setup, content, and tooling used to acquire them.
Tools mentioned in this section:
- Drift
- Autopilot
- Segment
- Outreach.io
- Zapier
For the first group (co-workers and friends), we purposely didn’t use any automation at all. We called them, emailed them, or sent them a text explaining what and how we want to do this. Each team member had five people to reach out to, so it didn’t take long. Marketers tend to skip this step and jump straight to automation. I am a big fan of that (as you’ll see in the other sections), but some things need a personal touch, and this was a part of that. We each got almost a 100% success rate from the targets we identified, and we got our first 35 members of the community in two days! Yay! 🎉
The existing customers got an email from us + a Slack chat explaining why we are moving away from the shared channel and making a community. We used Drift as our primary tool for reaching out to them as they could easily start a chat on our website to ask us more about the whole process.
For our past signups, we have a simple flow in Autopilot that’s connected with Segment and updates one attribute that tells us whether a given person is still in trial, a customer or past signup. Based on that we segment people in Drift (that’s also getting data from Autopilot). To make this flow even cooler, Drift has an integration with Outreach.io so we can send an email from Outreach and Drift tracks website visits, and we can display a custom chat window on our website that greets a person with their first name, company or whatever attributes we may have.
Press enter or click to view image in full size
We crafted a nifty short email in Outreach, and with a click of a button, we launched a five sequence email to all of those people. Here is what the first email said:
The response rate was incredible. 79% open rate with a 27% reply!
Press enter or click to view image in full size
Our segmentation worked great! So we also did this for our content downloads too, but instead of emailing them once, we set up a trigger in Outreach that would email people each time someone gets added to the Drift segment.
Here is our trigger in Outreach
Press enter or click to view image in full size
The open and reply rate for this email was pretty much the same as the last one (which was brilliant).
Press enter or click to view image in full size
This brings us to our third segment, which is our SF Data newsletter readers.
What we wanted to avoid here is to send emails to people that were either not working with Amazon Redshift or were not interested in it. To accomplish that, we download URLs we’ve ever put in our issues along with clicks to them. Using a simple python script, we crawled every article and description we’ve ever sent for the word “Amazon Redshift” or “Redshift.” If someone clicked on it, that was good enough for us to put them in the “Possible fit for the community” bucket.
The final list had about 550 people that we could reach out to. So we did. We uploaded them as a csv in outreach and started another email sequence — this time with only two emails as we didn’t want to bother anyone that was our subscriber.
Press enter or click to view image in full size
Press enter or click to view image in full size
This sequence also got an amazingly good response.
Press enter or click to view image in full size
From here, we wanted to set up a Zap to reach out with this email to anyone that clicks on a Redshift link in the future. Unfortunately, Revue does not provide that data via the API, so we left this on hold for the future.
Our community was growing like crazy from our inbound sources. So we decided that it’s time to move on inviting people that would be an excellent fit for the community but also our product.
The Growth Phase
Prospecting
We have a strong belief that you need to add value first. By being a contributing part of the community — we establish credibility, and people will naturally be curious about what we do and give our product a try. We will even have customers that are our advocates. So that’s why we wanted to bring the best data engineers on board.
To achieve this we used three main tools:
1. DiscoverOrg — Sales Intelligence and Company Data
2. Bombora — Intent Data
3. Leadfeeder — Website Visitor Tracking Software
This meant that we had three segments for outbound as well. We could have easily gone out and just target any company that had the word “Amazon Redshift” in their job listings but we wanted to be really specific and not waste any effort targeting companies that are not a fit.
We really focused on intent.
To get the targeted companies we were:
1. Looking at Amazon Redshift searches using Bombora
2. Doing IP lookups for companies that were visiting our website
From there, we got the prospects using the List Match search in DiscoverOrg. For anyone that has never used DiscoverOrg, they provide sales data. The great thing about the tool is that you can easily import the prospects you are searching for in Salesforce and Outreach.io, tag them, and add them to a sequence. In addition to that, DiscoverOrg updates all records from Salesforce and enriches the data there. A bit pricey, but well worth it.
The Outreach Sequence
During my time in intermix, we have been really cautious when it comes to cold outreach. This was mainly because our initial audience is so niche and so small — we don’t have room for a lot of experimentation. We don’t have the luxury of addressing 50+ sales reps in a company. Rather, small teams of 2–4 engineers. So instead of hoping that somebody will bite — let’s offer value. The “problem/solution” approach doesn’t work. And we definitely didn’t want to do the spray and pray approach.
Our target was talking to data teams that work with Amazon Redshift so we chose to do cold email and LinkedIn outreach. Those were the two channels that we could get really deep into targeting the right audience and in return get relevant data on how to craft the right messaging for our audience.
As always, my cold emails had three subjects that I tested and after that, I moved on to test the email copy, again with three different angles and CTAs.
This is the subject and email copy that won:
Press enter or click to view image in full size
I aimed for a reply rate of 10%. The math was simple, there were ~10,000 engineers that were relevant for us. We wanted to get to 1,000 members in the next 5 months.
So 10,000*x = 1,000.
x = 0.1 where x is open rate.
Also, for the subject, I aimed for a ~50% open rate so I can get those 10% reply rate. An ambitious plan again.
Once I was satisfied with the subject and got that 50% open rate, and the email copy (I got an 11% reply rate but it was even better than my plan) I used the same copy for LinkedIn but a bit shorter. Always test messaging with emails. It is the fastest and cheapest way to learn.
LinkedIn was fairly easy. I took the companies from DiscoverOrg, uploaded them to Sales Navigator and searched for people that had one of the titles I was interested in (Data Engineer, Analytics Engineer, etc).
Then it was Scrabin’s time to shine. Scrabin is an automation tool for LinkedIn that automatically visits and connects with people. You can also include a custom message using merge tags.
Press enter or click to view image in full size
Using scrabin’s “Connect” feature, prospects that accepted and replied back were going to Airtable (that’s where we did the reporting). It was not optimal, but then again, this is not what LinkedIn is for. As long as you have data somewhere that you can act on, you are good.
Press enter or click to view image in full size
The response was again brilliant. 20% reply rate on LinkedIn and 6% reply rate on the emails and most very positive. People also wanted me to reach out to the rest of the team so I did that too.
If you notice in the emails and on LinkedIn, I never sent the link to join right away. That was because even though I really did care about the targeting, people could still slip and that were not a great fit but also I wanted them to *really* want to join, and not just visiting the link, sign up and never show up again. Replying required more effort and that’s what I needed.
The best thing about this was that we were bringing people in from companies that were very relevant to us. Companies like Spotify, Nike, NASDAQ, Airbnb, Asana, Dropbox, FabFitFun, Xero, Zapier, Autodesk chose our community.
Press enter or click to view image in full size
Adding Value
Our main mission in starting out this community was to bring value. So answering though questions was something we had to deliver. This kind of interaction played a pivotal part in keeping the community active and growing it further.
Our team was always on top of new trends regarding Amazon Redshift. Each time there was a new feature we were the first ones to test it and put the learnings in a blog post for our community.
Our team spent hours upon hours trying to solve problems for anyone that had them, even when that meant staying up until 2 o’clock in the morning.
How to Keep the Engagement High
When you are building a community, you have to find ways to keep the engagement high. I learned that the hard way. Five years prior to this I built one of the most widely spread social apps in the Balkan region called Buzz. We had more than 200,000 downloads (which is from a total population of 14 million people it was a huge deal given that we only targeted people in the14–24 age range! )but constant drops in engagement. Our relentless pursuit of keeping the engagement high on the app didn’t work so we had to close the business. I wasn’t going to let that happen again.
Before we go into detail, here is an overview of what we did to keep engagement high from Day 1.
We had an ambitious goal of 25% DAU.
- Personally reach out to everyone that joined the community to get them to introduce themselves, add the channel to their Slack desktop app and put a profile picture
- Rewarded people that engaged
- Recruited brand ambassadors
- AMA Session with the AWS team
- Recap Email
The greeting
There is a bot that we use now called GreetBot that can automatically greed people from your behalf once they join your slack community. But starting out, I really wanted to make it personal. For each member that joined, I’d look for their email address or LinkedIn profile to figure out who that is and how to customize the greeting so they know I am reaching out and not a bot. Again, engineers are smart. I politely introduced myself and how I can be of help to them, asked them to introduce themselves in the #introductions channel and put up a profile picture.
This was the same ask that I had in the email and LinkedIn message after they respond positively.
This was my reply via email (LinkedIn was very similar as well)
Press enter or click to view image in full size
Rewards
The most important lesson in keeping the engagement high is to really take good care of your best people. Unlike Twitch that let Ninja go to Mixer and take millions of people with him but that’s for another article. We wanted to make our most engaged users to feel special and encourage further discussions. For that reason, whenever someone posted a question or a great answer I reached out to offer an intermix.io T-shirt. This was great for our brand as well as our slack community. Win-Win. A simple campaign in Printfection got the job done.
Brand Ambassadors
The best of the best got to be our brand ambassadors. Here is how we approached them:
Press enter or click to view image in full size
Make it easy for them to say “yes”. If you notice, we also got them to use our product and maybe become paying customers too :)
AMA Session with the AWS team
Already having the attention of some big names we decided that reaching to AWS for an AMA session would be beneficial both to our members and the Amazon Redshift team. The timing was perfect as they’ve just released a new node type for Redshift and they could answer any questions or hear some feedback that our community has. We got Himanshu Raja — a senior product manager from AWS and Tony Gibbs — a solutions architect from AWS to both host an AMA Session on our Slack channel. Having them on board not only was amazing for the engagement but also it was a great opportunity to reach out to even more people to join.
Optimizely, Prezi, NerdWallet, Teads and many more joined because of the AMA. Companies that we were after for years now were straightforward to get.
Press enter or click to view image in full size
Recap Email
One problem around all of the methods mentioned above was that if people were not logging in to Slack, they couldn’t see our messages. That was a bummer, but we could easily switch channels as we had their email address + an opt-in to receive emails from us.
We crafted a really great strategy to do a recap email that is going to go out bi-weekly and highlight conversations and people from our slack group. We would tease people about what they missed and with a click of a button they could get into the slack community again.
Not only that but highlighting contributors further makes engaged people feel valued. And they really are. Here is how that first email looked like:
Press enter or click to view image in full size
The AMA Session and the re-cap email both contributed to increasing our weekly active users (the two peaks on the graph below) but we need more — keeping the engagement high is the #1 priority. For that reason, now that we have an active community where something new is posted every day, our main focus is getting to 30% weekly active users as we continue with the same growth rate.
More on what’s next for engagement is given under the “Where to go from here?” section below.
Capturing Inbound Traffic
The conversion rate on our website was pretty good but stale. As 90% of all other B2B websites, we had a chat window, some content downloads, demo, and a signup link. Since the Slack community hugely outperformed any other outbound efforts we wanted to go all-in on it. Get all of our website visitors to join Slack and engage with us. We’ve already seen people go from Slack to a trial much faster than with nurturing emails so this was an easier funnel than any other.
Three simple things that we did to capture inbound traffic:
- Change the copy on our Drift chat widget to ask people to join to community
- Change CTAs on the website
- Put inline CTAs at the end of the new blog posts
Needless to say that this CTA worked much better than the last ones. Here is how our main chat window performed with a CTA for Slack vs general product messaging.
Press enter or click to view image in full size
Press enter or click to view image in full size
We went from 0.6% conversations started to 2% and from 14% emails captured to 51%! That’s massive! It puts our overall website visit -> email conversion at 0.88% only from the chat window compared to 0.08% (our previous conversion).
To put it simply, we increased our “website visitors” to “email in chat” conversion by 10x!!
But of course, we were not interested in getting only emails. To see how these leads were going through our sales funnel, we had reporting setup in Salesforce. This was done by adding another option from the once we already have in the “Lead Source” attribute for all prospects.
With that, we also had “Community” accounts. If the main contact from an account was first seen in SFDC from the lead source “Slack”, we made the account be a community account as well.
This setup could make us easily see the revenue generated, the length of the sales process and the % of community accounts that ended up being customers.
Press enter or click to view image in full size
Where to go from here?
We have big plans for our Slack community. Now that we have an active community, we’ll focus on:
- Continue to Improving Engagement
- More AMAs — with proven analytics engineers working on specific solutions or projects or other experts in the field.
- Office Hours — one-hour sessions open to anyone in the community where we people can share what they are currently working, things they learned or ask other engineers for advice.
- Events — We’ve shown in the past that we are more than capable of getting people together in a room and our plan is to start with meetups held by community members. We also host a get-together for everyone once per year during AWS Re:Invent.
2. Expanding our community with data teams not working specifically with Amazon Redshift.
- We can see a lot of data modeling, SQL tricks, ETL tools, and other non-Redshift related topics being discussed on the channel so we would focus our efforts on strategically increasing the number of channels and with that adding more relevant people to the community. We’ll closely monitor the engagement levels as we grow to make sure that increasing the number of channels does not dilute other conversations being held.
3. Continue with the growth — Three things that we’ll focus on for our growth efforts are:
- Follow the outbound playbook — As shown above, we’ve already tested our outbound sequences and we are at a stage where we can easily map out the amount of time and money we need to spend to get to a certain number of qualified members. As we add more channels, we need to follow the plan and get more people in.
- Improve virality — This means encouraging more user-generated content, share testimonials from Slack members on the website, connecting with industry leaders, create referral programs, etc.
- Capture more organic traffic — By publishing learnings from the Slack community to our blog, we’ll capture more organic traffic and refer more users to the Slack group.
However, the primary purpose of the article was to show how you can market to engineers without actually marketing to them. Sure, it takes time, but Facebook ads won’t get you where you want to be targeting this niche. Account-based marketing works too but it all fails in comparison to having a real, active community. So be nice, help others out and eventually people will be open to test and use your product.
Recap of marketing/sales tools used
- Drift — Chat and Email Tool
- Outreach.io — Cold Email Tool (best in class)
- Linkedin Sales Navigator — Better Targeting and Higher Connection limits than regular LinkedIn
- Scrabin— Linkedin automation tool
- Slackin — Automation of slack invites
- Bombora — Intent Data
- DiscoverOrg — Sales Intelligence
- Autopilot — Marketing Automation
- Segment — Customer Data Platform
- Zapier — Workflow Automation
- GetRevue — Newsletter Platform
- Salesforce — Reporting and Sales Funnel Tracking
- Leadfeeder — Website Visitor Tracking Software
- FindThatLead — Prospecting Software
- Clearbit — Enrichment Tool (used for data enrichment when DiscoverOrg does not provide results)
- AirTable — Google Sheet on steroids
- GreetBot — Automated Greetings in Slack
- Printfection — Swag Management Platform