Note: This is old content from GarrettMickley.com. I am no longer pursuing a digital marketing career, but I didn’t want the content to go to waste, so I’m relocating it here. I hope the Dev.to community finds it useful.
0. Table of Contents
1. What is email marketing?
2. Why email marketing works for developers.
3. Choosing an email newsletter provider.
4. Your welcome email.
5. Setting up automations.
6. Getting people to sign up for your newsletter.
7. What to send in your brand new email newsletter.
8. When to send out your newsletter.
9. Legal stuff.
10. You’re ready to get started!
Email marketing is, for a developer, using email to get people to use your software. It doesn't matter if the software is brand new or just has an update. This is the best way to stay in touch with people who are using your software and want to know when you release a new one (or just an update).
Everyone complains that they get way too many emails every day, but email marketing is still the best way to reach your current users.
If you're making software, you can use email marketing to build trust and authority while warming up new and potential users to check out your software.
If you just want to code for another company, it's a great way to get leaders interested in hiring you.
The most important part of email marketing is that you're already in their mailbox. That's the proverbial "foot in the door". Unlike Facebook, Twitter, or other social media platforms, you don't have to worry about email going away.
Not that those particular social networks are going anywhere soon, but...would you buy stock in MySpace right now? How about Friendster? Sometimes sites lose popularity or go out of business.
Your email list will never go out of business. Unless they unsubscribe or close their email account altogether, you will always have your foot in that door.
When someone visits your website, they're not committing to anything. They're just a passerby, seeing what there is to see. A tourist.
They're reading your content, and hopefully enjoying it, but they're only a back button press away from never seeing your website ever again. That's one decision, one click, less than one second that you could lose a potential user.
This is something we want to avoid as much as possible. We want them to use our software, and they won't make a purchase (or hire) until they trust us.
They have to trust that the software will be worth the money. The users have to trust that their problems will be solved with our products.
Our site visitors won't trust us until we've proven we know how to make great software. For most people, that's going to take more than just one visit to one page on your website. We want them coming back.
Email is the best way to get them to come back.
Once you're in their inbox, there's a lot of opportunities to get them to come back to your website and use your software.
If you're looking to get clients (or companies) to hire you to build software for them, I recommend you provide content more on the educational side. This will build trust.
If you're selling software, send them some free content. Teasers or maybe some background info on the development. You have an excellent opportunity here to provide content beyond the software you've already created.
I generally don't recommend offering discounts, but if that's something you want to do in your business, email is the way to get that information to repeat customers, or people who were just on the fence and want to give your software a shot.
There are a lot of different email marketing providers out there so it can be very intimidating to pick one when you first start taking a look at them all. This is particularly true when you don't really know anything about email marketing.
You don't want to just run with your regular email service, like Gmail, and CC or BCC everyone. That's going to cause a lot of headaches.
Running a newsletter manually may also be not allowed by the email service provider.
While we're talking about it, it's also a bad idea to use a Gmail as a professional email. Get a website and get a firstname.lastname@example.org email address. Or use something like Protonmail or Tutanota for security reasons.
My main piece of advice here is that you get what you pay for, most of the time.
Personally, I use and recommend ConvertKit (affiliate link). It's not free, but it is an affordable investment if you're serious about making software and getting it into the hands of users.
ConvertKit is great because* it's super easy to use and has really great automation features*.
I'm a huge fan of automation because I don't like to have to do things more than once. It's also useful for setting up automatic income (which I will teach you how to do later).
Who doesn't want to make money while they sleep? Smart email marketing with automation can get you there quicker than you may think.
One of my favorite features is Sequences, which I used to create a cool welcome email sequence that actually generates some revenue. With some tweaks, it'll make even more revenue in the near future.
ConvertKit is my recommendation for any dev who takes their software business seriously. Whether you're looking to get hired to build software, or you want to sell your own software, this is the service I use and recommend.
For a free alternative, I used to use MailChimp. MailChimp is free, but I find it difficult to use and not user-friendly at all.
For someone new to email marketing or digital marketing, you might find it even more difficult to figure out. I know this because it's the first service I used.
It won't be worth your headaches getting starting and trying to figure everything out.
But, since there are so many headaches...I'll get you started by giving you the template I use for my initial welcome email.
The welcome email is the first email that someone receives after signing up. It's extremely important because it's where you get to make a good first-email-impression.
Obviously, you've already made some sort of first-impression with the subscriber because they've already decided they trust you enough to give you their email address. Now, you need to make another first impression with your emails so that they don't regret it and unsubscribe.
Losing subscribers is no fun.
I've set up a template you can follow with explanations of each step:
- Start with welcoming them to the email list, and reminding them why they signed up. Sometimes people forget.
- If you offered some sort of bonus for signing up, like a free demo of your software, give them a link to access it.
- Tell them a little about yourself. Why you're qualified to be sending them newsletters, software you've built in the past, and any features (magazines, podcasts, etc) you've been in.
- What they can expect from future newsletters. Talk about what kind of content you send and how frequently (hint: you should be sending valuable content at least once a week).
- Tell them about other places they can follow you such as Dev.to, Github, Facebook, Twitter, etc.
- Ask them a question. You'll need to make sure whatever email service you're using allows replies. If you're teaching something through your blog and newsletter (which you should be), this is a good time to ask people what they're struggling with so you can get ideas for new content to write (or, if it's something you've already written, reply back to them with a link!).
Using that template will get you started with a good welcome email. You can always tweak it as time goes by.
Then, you need to set up your email service to send the welcome email automatically. I set my welcome email to come an hour after they sign up.
I have a firm belief that if you have to do something more than once, you should automate it. Luckily, your email newsletter service most likely offers some level of automation.
For example, ConvertKit has two different types of automation: the ”Sequences" section and the "Automations" section.
I do find it a bit confusing that one is actually called "Automations" and the other is not, but both are forms of automation and you'll see how in a minute.
Sequences are a series of emails that are automatically sent out at predetermined amounts of time. For example, my drip newsletter sequence has many emails that are spread out with a week between each email.
I have an automatic weekly newsletter. It's basically set and forget.
I've also used sequence to create free email courses.
The first email goes out immediately after someone subscribes to receive the email course. After that, ConvertKit sends each lesson one day apart from the last email.
In ConvertKit, email sequences can be set to be anywhere from hours, to days, to weeks apart. This is handy depending on what you need.
For one of my old email courses, one email asked a question where the user could select one of three options. If they didn't select an option, they wouldn't receive the next email. It was required to continue the course.
I set up reminders at a week, a month, and six months if they didn't click one of the options to continue the course.
The Automations section has a lot of features that I will someday write a whole blog post about itself. These features include tagging subscribers, integrating other platforms and services, and more.
For the sake of this already pretty long post, I'm only going to discuss tagging subscribers because that's something I have found great use for.
Tagging subscribers helps you identify which subscribers are interested in what aspects of your business and newsletter.
For example, suppose my website and newsletter generally cover two topics: building a software business, and my personal software. I also offer coding services, and in the future will offer ways to purchase products. In my welcome email, I could ask the subscriber:
Do you want to receive news about:
- Learning to build a software business
- My software and other projects
And then I set a link on each one that takes them to a separate thank you page with more information about that subject.
I use Convertkit’s automation to tag which subscribers click on which.
When I'm sending out emails about building a software business, I will segment those emails to only go to those who clicked on that option ("Both!" doesn't get a link and is just the default; no need to tag those people).
That way, subscribers aren't getting emails that are irrelevant to their interests, and they're less likely to unsubscribe in the future.
Here's the hard part: getting people to sign up for your email list.
It's a foot in the door of their private life. Email inboxes are sacred and aren't just shared all willy-nilly by most people.
However, there are people out there with hundreds of thousands, even millions, of email subscribers. How do they get them? There's a few techniques marketers use that are tried and true.
First: just ask.
It's that simple. Open up your phone and flip through the contacts list. Anyone you know on there you think would be interested, ask them. Just shoot them a text that says something like:
“Hey, I'm starting a newsletter for my website where I share my coding projects, and I thought you might be interested. Can I add you to the list?"
If they say no, thank them and don't bug them about it. If they say yes, respond with something like:
“Awesome! Excited for you to see what I've been working on. What email is best for you?"
Repeat the process with Facebook friends, Twitter followers, and anywhere else you can think of. Anywhere that you have contacts who you think might be interested, just ask them.
Don't waste time on people you know wouldn't be interested.
The next thing to do is to get all the people who are visiting your site to sign up.
Your email newsletter service should offer some easy copy and paste sign up forms that you can just drop into the code on your website.
Lots of marketers recommend you have a signup in the side-bar (if you have one), one in the header (if you can do it without it obstructing the rest of your header), and one at the bottom of every blog post and page.
I prefer to skip the header signup to keep everything a bit cleaner at the top. Instead, I'll often put a signup higher up in the blog post, if it makes sense to. I don't try to cram one in somewhere that it doesn't fit, either physically or contextually.
If you're on Wordpress and using ConvertKit, you can actually do this really easily with their Wordpress plugin, which is exactly what I use.
- You'll need to go to Wordpress and install and activate the ConvertKit plugin,
- then go to you ConvertKit account and get your API key and API Secret key.
- Then, in Wordpress under Settings, you'll find the ConvertKit plugin.
- Go there and put in your two keys.
- Click "Save Changes" and it will refresh with a dropdown of your current forms.
- You can then select which one you want to be the default.
In Wordpress, under Appearance, go to Widgets and you can drag and drop the ConvertKit widget into whatever sidebar you want it in.
To have it in the bottom of a post, you can select that option in each individual post, at the bottom of the page below the post text box.
It will automatically have the form you set as default, but you can easily change it to another one, or none at all.
This also works with ConvertKit landing pages.
You've followed all the instructions above. You signed up for ConvertKit. You set up a welcome email. You've even set up some tags to segment your list.
But what do you send?
Updates! Newsletters! Projects you're working on!
Mostly, just things that are relevant to what you're working on, that your subscribers would want to see. Keep in mind their preferred content you've tagged them to receive.
If you're using your blog to teach people what you know, which you should be, then definitely send that information out in your emails as well.
One thing to make sure of is that you don't constantly bombard your subscribers with advertisements of your software and/or other products. That's spam, and it's bad.
Definitely do promote yourself, but don't over-do it.
You need to be sending out newsletters at least once a week. This keeps you on people's minds and increases your chances of landing new sales.
Studies have shown that the more emails you send, the better your clickthrough rates. It's important to make sure you don't spam people, though. That's a quick way to lose subscribers.
Marketers have been studying time of day and day of week to send out emails and it varies wildly.
CoSchedule compared 10 different studies and found that Tuesday is the best day to send email, and if you send two emails a week, Thursday is the best day for your second email.
Wednesday was also a popular day.
As for time of day, they found that 10 A.M. and 11 A.M. are great, as well as anywhere between 8 P.M. and Midnight.
I usually send out my newsletter on Tuesdays, but the time is different each week.
Of course, this all depends on your audience.
Your subscribers may operate at a different time.
For example, if you’re a gamedev: Being that your audience is mostly video game players and/or people learning from you how to make video games, they could operate at non-normal business hours (such as college students who stay up all night playing your games).
But, another industry like data analysis could have an audience who are mostly day-job people and thus open the most emails between the hours of 9 AM and 5 PM.
The best thing to do is to* try different days and times to figure out what your audience prefers*.
In the USA, according to anti-spam laws called the CAN-SPAM Act, you have to have a valid physical mailing address in your email newsletters. This address doesn't have to be your home or office. It can be a P.O. Box.
It does have to be an address attributed to you where you can be contacted. You can't just pick a random gas station address of of Google Maps.
If you're using ConvertKit, they'll provide you a free address you can use.
I recommend you don't use your home address for safety reasons, unless you've already put your home address openly on the internet. Generally, that's not a good idea at all, so if you can take that down and set up an office or P.O. Box, that'll be a much safer way to do things.
But also, don't use a fake address. One single email in violation of the CAN-SPAM Act can cost you as much as $16,000.
You also need to have an unsubscribe button in the email so that users can easily remove themselves from your list.
There are lots of clever tricks (commonly called dark patterns) some marketers use to confuse people who try to unsubscribe.
The best policy is to make it easy. The people who want to unsubscribe aren't your target audience, anyway, or else they wouldn't want to unsubscribe.
That's what you need to know to get started with email marketing your software and coding skills.
Get out there and start collecting newsletter subscribers!