Our second update covered the launch of our free weekly developer tools newsletter on Product Hunt, the website build, and some of the initial experiments we conducted with paid marketing.
This is our third post which will go into what happened in March.
Focus for March
I wrote last month:
Now that the website infrastructure is in place (static site framework and automatically generating the "latest newsletter" page), we need to build a confirmation reminder tool. We have noticed that around 10% of subscribers need reminding to confirm their email address, otherwise they don't complete the double-opt in and we can't email them.
March will also involve a lot of refinements to the marketing campaigns as we figure out where the best place to spend our budget is.
So how did we do?
We ended February with around 1,500 subscribers, many of whom came from our successful Product Hunt launch. Our plan for March was to focus on continuing to write a useful newsletter, website refinements, paid marketing experiments, and building our first web tool for launch in April. We didn't expect to have any major traffic spikes.
However, we're ending March 2021 having almost doubled our subscriber numbers! This growth in subscribers was helped significantly by hitting the front page of Hacker News with our developer Q&A with the CEO of rsync.net. Over the space of 24 hours, the Q&A saw 42,000 unique visitors, of which 31,000 came from Hacker News.
On publication of the Q&A, rsync.net emailed it out to their customers and said that the CEO was answering questions in the HN thread, which subsequently received 654 votes and 334 comments. This was a perfect example of all the right factors coming together. rsync.net is a highly technical product that has been around for 20 years, is well known and liked in the tech community, and the CEO is active in the HN comments.
We saw over 500 new subscribers just from this interview. This showed that readers were interested in clicking around to see what we were doing, and not just bouncing after reading. A 1% conversion rate is good for visitors who didn't originally come to the site to subscribe! Traffic has trailed off from the major spike, but it has settled in higher than it was before.
Our other Q&As also performed well, with several receiving thousands of unique visitors after being featured in This Week in Rust. We only ask for interviews from the people behind the tools that pass our independent review criteria. Having published 11 of our 14 Q&As in March by going through the backlog of tools we'd previously featured, we're now setting a cadence of one interview a week.
We only want to send emails to people who want them, so double opt-in is important. However, we were seeing an average of 10% of intial subscribers not completing the opt-in process. Mailchimp's default functionality means those unconfirmed subscribers are hidden: you can't find them in the UI and there is no "remind" functionality. They can only be found via their API.
Initially I thought I would need to build a tool to poll the API and send out emails, also hosting a confirmation page. As this is a critical step in our signup flow, that would mean building redundancy, reliability, monitoring, deployment, etc. All things I wanted to avoid at this early stage.
My co-founder, Max, suggested that we might be able to use Mailchimp's automation functionality instead. Wary of suddenly sending loads of emails, I set up a separate Mailchimp test account to experiment building some automation workflows. This is what we decided on:
- When a new subscriber inputs their email address, they are immediately subscribed (Mailchimp's double opt-in disabled) but are tagged as "unconfirmed". A custom confirmation email is sent.
- If they click the button to confirm, remove the "unconfirmed" tag and tag them "confirmed".
- If they don't confirm within 24 hours, send a reminder email and tag them "reminded".
- If they don't confirm within 7 days, unsubscribe them.
By default, Mailchimp considers all list members as "subscribers". But with this setup, we would instead use the tagging functionality to distinguise between confirmed and unconfirmed members, only ever send our weekly email to list members tagged "confirmed".
Mailchimp's Customer Journey feature is designed for this type of multi-step flow, but it turned out to be very slow at triggering. As soon as a new subscriber enters their email, we want them to receive the confirmation within a minute or two. The Customer Journey automations were taking up to 30 minutes to fire. That's too slow. It's important to get the confirmation whilst someone is still paying attention, otherwise you might lose them.
Luckily, Mailchimp's older Classic Automations trigger much faster - within a few minutes. So we have the initial tag + confirmation flow set up as a Classic Automation, and the reminder flow implemented as a Customer Journey.
We don't track opens but the click action is what triggers the "confirmed" tag. This has nicely automated a key part of our flow. It allows us to see all the unconfirmed subscribers in Mailchimp, including the referrer so we can see if a particular marketing campaign is generating emails but not confirmations. Those metrics go into our decision-making about which marketing campaigns to tweak, or end. It's been interesting to see the different confirmation rates by campaign, something which we'll be writing about in the future.
Focus for April
The remainder of March has been building our first web tool for launch in April.
The website design has seen a few tweaks as well. These will continue in April. In setting release deadlines there are always things that you don't get to on the first iteration, so we're going to spend some time coming back to those.
So far Console has been all about our email newsletter. in April we will launch a web tool to build on and complement what we send out each week.