Earlier this month I talked about some of the lessons I’ve learned as a three year blogger and one of those points talked about why my email open rate (to subscribers) was only about 30%. I went through a phase where I bribed people to sign up for my list with giveaways. You know, they sign up for my email list in exchange for a giveaway entry.
So, naturally, each time I hosted a giveaway tons of people signed up with dummy email accounts (accounts they never actually check). So they never read my blog post emails and it skews my stats.
Brittany made a great comment in response to this. She said:
Re: your email subscribers…do you ever scrub your list? A few times a year, I clear out subscribers that haven’t opened any emails in the past 90 days. It helps with deliverability and open rate A LOT and has kept me out of the paid tiers for services priced on the number of subscribers.
What a great idea! …And yet, also kind of terrifying.
First I had to code something to find my “inactive” subscribers.
I use my own, custom code email subscription plugin. Since it’s my plugin, I don’t have fancy built-in features already. Everything I want to do, I have to code myself. But that’s also the beauty of it. It means that I’m only limited by my own abilities.
My subscribers are stored and managed in WordPress (via my plugin). My plugin also figures out when an email needs to be sent, who it should be sent to, and what the contents of the email are. But the actual email itself is delivered by Mandrill. Mandrill is also kind enough to add tracking to the emails, to figure out which people open and click inside each email. Plus, you can export this sending data from Mandrill into a CSV file.
So, I exported those tracking statistics from the last 30 days from Mandrill. This gave me a CSV file containing data from all outgoing emails in the last 30 days. Each row had: the email address an email went to, how many times that person opened that specific email, and how many times that person clicked in that specific email. Then, rinse and repeat for each subscriber and each email they received in the last 30 days. The file was 2.63 MB and about 20,000 rows.
This is where the coding came into play.
I had to decipher a CSV file with 20,000 rows!
I had to code a way to decipher this CSV data. Because there’s no way in hell I’m going through it manually and tallying up the open counts for each email address. I coded a script that:
- Allowed me to upload the CSV file.
- Went through each row of the file and added the email to an array, along with the number of times they opened that email.
- If an email already existed in the array, it added the open count to the count that was already stored.
So, in the end, I had an array of email addresses, along with the number of times each person opened my emails in the last 30 days. It was kind of cool because I took this opportunity to figure out who had opened my emails the most. My dad was in the top 5 (hi dad!).
The next step was to modify that array so that it ONLY contained people who had opened zero emails. So I stripped out all emails unless they had the number “0” associated with them (for 0 opens).
And once I had my final array of people who had opened 0 emails, I outputted the list so I could manually review it. I wanted to see who I was removing!
Finally, I wrote another script that went through each email address in my final array and unsubscribed them from my system.
I lost 260 people
Seeing your number of subscribers go down SUCKS. You suddenly feel like you’re less successful. But you know what? It’s just a number. And I love numbers, but you know what I love more? Real numbers.
Is someone REALLY a subscriber if they’re on your list but never open your emails?
Hell fucking no!
I got rid of the people who weren’t reading anything anyway. And if they’re not reading my emails, why should I keep sending them?
My open rate went from 32% to 62%
Those are my before and after stats. All I can say is that it’s nice sending emails to people who actually read them. It was a scary move to delete 260 people from my list, but I now have a higher quality list with a more accurate subscriber number.