Ever have a love-hate relationship with a product?
If you’re a product manager, designer, or UX-conscious engineer, you know how using products that don’t live up to their full potential can drive you crazy.
Today, I want to talk about a product that best personifies that feeling for me: ConvertKit.
Why I love ConvertKit
First and foremost, I want to emphasize I like a lot about ConvertKit, and I’ve been satisfied with them since switching from Mailchimp a couple years ago.
Mailchimp used to be the *gold standard* for UX. I loved their product and would often point people to their workflows as examples of good UX. I often could hire people with no experience and set them loose and they’d be able to figure out how to do everything they needed to easily.
Unfortunately, a couple years ago, it seems Mailchimp’s team decided that they needed to fix what wasn’t broken, so as that got worse, and some of their brand decisions also didn’t sit well with with me, I made the switch to ConvertKit.
Their offer to migrate our data was a HUGE selling point and we probably never would have switched without it.
Overall, their performance has been adequate and their support team has been excellent at filling in many of the gaps in the product. I also admire Nathan’s founding story and love some of the stories of what he does at the company, like doing podcast interviews of each new hire to introduce them to the team.
What I hate about ConvertKit
Now that my team and I are settled in a couple years removed from switching to ConvertKit, and we’re a pretty sophisticated user, there’s quite a few UX things that drive me crazy.
This post is about how ConvertKit could go from good to great, which is how you turn quiet users into raving evangelists.
It’s also how you significantly reduce the workload of your support team, who in many of the cases I’m going to share have to make up for the gaps in the product.
(Note: Wish your product could go from good to great? I’m a product coach and consultant who has helped many teams build the habits that create great products.)
10 Things I Hate About ConvertKit
When you’re using a product, you are trying to accomplish specific tasks. When they are easy and smooth, you often don’t notice and get on with your day. Sometimes, they do something clever and delightful, which then becomes memorable. It’s why I’ve started a thread of Little Big Details to call them out when I see them.
The following 10 things are a mix of big frustrations that have gotten in the way of key tasks my team wants to do, and those kinds of little big details that are the difference between a good enough product and a GREAT one.
And because I want this to be a constructive conversation, I try to present solutions where possible.
Let’s dive in.
1) Reactivating unsubscribes is a tedious chore that could easily be productized
When you have a large list with tens or hundreds of thousands of subscribers, and you have a sophisticated workflow that involves many automations, sequences, and types of emails you send, there are going to be times where someone hits unsubscribe and changes their mind.
And because ConvertKit’s architecture is built around “1 list to rule them all” with many tags and segmentations to manage it, that means that an unsubscribe from one thing also unsubscribes them from everything else associated with our company. Sometimes people didn’t want that.
While looking up the answer to the question of, “Did subscriber X get the email they say is missing?” is a great experience in ConvertKit, fixing an unsubscribe is not.
Currently the workflow to get a subscriber reactivated is this:
- Click to open up Intercom to ask support to help
- Click through 2-3 prompts where Intercom tries to guess if they can automate answering your question
- Finally get to chat with a support person
- Tell them what the issue is
- Provide a screenshot of an email proving the person wants to be resubscribed
- Chat with the support person for any clarifications they need
- Wait about 20 minutes to a few hours
- Get the person resubscribed or deal with another round of questions with another person on the support team
The problem with this is two-fold:
- It’s tedious as a user. Half of those steps feel extraneous and that they could be streamlined to make my life as a customer easier.
- ConvertKit’s support team is burdened with managing the ticket and manually managing this process.
Now, I understand with spam laws you need to be really sure that someone wants to be resubscribed, and it happens often enough, it’s an option in Intercom. However, it would be better to just give me a form to fill out.
You could even put a button on the individual user’s profile or the Subscriber’s section to take me to the form, so it doesn’t require Intercom yet.
Then, when you click “Resubscribe” you can pop up a form that:
- Makes clear the requirements to reactivate a subscriber
- Asks for the same details the support team has to manually ask (the user’s email, a field to explain the situation, and a way to attach an image or other evidence)
- Confirms the request has been received and provide an estimate for updates
This could then create a simple system in a very basic admin panel where you can queue up a list for someone on the support team to batch process these. Over time, you can then iterate on it to make their lives easier by both improving and streamlining this process, and adding other customer issues to it as well.
I’ve helped spec out these at multiple companies and they always are built faster than many people projected and save more time than most expected.
Having your support team cover for gaps in your product is a very expensive way to compensate for product issues and missing features. Fixing problems support identifies and making them more efficient at supporting customers are high leverage activities for product teams.
You’ll see in many of today’s items, support at ConvertKit is currently left to cover for exactly these kinds of issues.
2) Import users doesn’t tell me what I need to know
Want to send your support team on a wild goose chase wasting hours of time to support a customer? This is how.
A simple query from engineering would save HOURS.
So now imagine you are importing an important list for a key customer that expects everyone to receive a certain email. You have everything configured in ConvertKit and the spreadsheet looked right to you when you checked it.
Yet, when you imported it, you expected 1,000 emails to be imported, and the confirmation email tells you 998 were.
Frustratingly, when I import a list, I get an email (like the one pictured above) saying how many were imported.
Yet what I don’t get are:
- How many people did I try to import?
- How many failed?
- Who specifically failed?
- What errors, if any, you have detected?
Those last 2 are really important. How else will you know who didn’t work.
Mailchimp used to do this exceptionally well, so that you could immediately diagnose an issue and fix it. Notice in the email it confirms exactly what ConvertKit does, and it also tells me about a failure, with a suggestion why, and a link to more details.
Typos happen. People are already unsubscribed (see 1!) and more. Letting me know which emails failed, and if possible, why, makes it easy to fix.
Rather than needing to start a support ticket, I can fix this issue myself relatively quickly.
But without the details MailChimp provides, do you really think I’m going to guess and check line by line myself? Unlikely.
Telling me how many did not successfully import and who failed at least let’s me try to fix it myself before contacting support. If you also have error messages that are customer readable (like Mailchimp mentioning syntax) you’d save customers TONS of time and mostly eliminate support needing to spend tons of time investigating.
As just one example, recently, I had a ticket run for almost a full week over 1 customer email not importing properly. It was handed off at least 3 times across support before we finally figured out the issue. That was frustrating for me, and costly for the ConvertKit Support team who repeatedly had to start over as they handed off the ticket.
3) #littlebigdetails Make the import flow better
There a bunch of ways to improve the import process. The elements are already there with today’s interface:
This is already an efficient pop-up, but when you are a power user and have dozens of each category, it gets unwieldy and mistakes are easy to make.
To improve this view, I would add:
1. Quick search in each section.
This would make my life sooo much easier and faster to import, so I don’t have to scroll through long lists of categories. Best of all, this functionality already exists.
When I add a selected user to a sequence, ConvertKit does have search in that view (pictured below). Why not implement the same in import, too?
2. Show what I picked in the collapsed view.
When you are importing a list, you pick out any forms to assign the new subscribers to, sequences they should start receiving, and tags to add. This is core to making your orchestrations in ConvertKit do what you need it to; this is how you segment your audience, trigger the right emails, and manage your master list effectively.
As you set your forms, sequences, and tags, you expand and collapse them one at a time. Ideally, when I collapse one of those lists, I want ConvertKit to show me which ones I selected so I can quickly review everything before hitting submit.
When you are doing an import, it can be a stressful moment, because a mistake will have people get the wrong email (or potentially many wrong emails). Having the clear sanity check (like ConvertKit has when you’re about to send a Broadcast) would help, and this is a simple way to accomplish that.
3. Add a working spinner to the page.
Sometimes I have to click twice on the “Import Subscribers” button, or it’s not clear if it’s working. Adding a spinner (or progress bar) would let me know it worked and to be patient while it works.
Note: Research shows people are MUCH more patient with a spinner or other loading signal; the rule of thumb I’ve found is that customers are willing to wait 2-3 seconds at most on their own, then that grows to 10-15 seconds with a spinner. Add some messaging to read during the spinner and they’ll wait as much as 45 seconds.
Each of these items is a nice win, that in total takes the import process from okay to exceptional.
These are also the kinds of things that make great quick wins to mix in along with bigger projects. One of these is likely a single point ticket in your project management tool.
Best of all, few things boost the morale of a tired engineering team like feeling like they can ship some things measured in hours or days instead of weeks or months, especially if they also get to hear from happy customers that love the updates they made.
4) Give more thoughtful ways to manage tags
My team and I have made hundreds of tags at this point. This is only growing, because ConvertKit’s support and account management teams have encouraged us to make more tags to further help us segment, target, and understand our subscribers.
As it is, these tags are in a massive list that you endlessly scroll in the sidebar of the Subscribers page. The tags are listed in alphabetical order with the number of subscribers there are, and that’s it.
Given the many purposes of tags, the big win would be making it easier to view them for various reasons.
Organize poll results and other jobs for tags
For example, if you have me do a poll where I’m measuring clicks of various options in the email we send (a clever suggestion from your account management team), allow me to view those results as a special view in the Broadcast results area, instead of having to do a CMD+F in my browser to find it:
Then, for viewing the rest of the tags info in the Subscribers tab, consider the jobs that customers want to get done with their tags.
The goal should be to make it easier to do each of those jobs based on how frequent those jobs are needed across the ConvertKit user base (surveys and understanding the segmentation of your user base are great for figuring this out).
Create tags when in the flow to tag subscribers
It would also be a big help to be able to create a new tag in the flow of looking to add a tag. Since ConvertKit has a great search here to try and find the right existing tag, you’re less likely to miss one, but then you may also want to create one right there.
For example, I recently had a broadcast that went to what was a combination of a variety of groups. When I look at the broadcast results, I’d love to be able to tag everyone in that group, and not have to navigate to Subscribers, scroll all the way to the bottom of my list of 160+ tags, and click + Create a Tag, then go back to the broadcast and tag them.
Like much of this list, it’s all about understanding customer workflows and removing friction from the tasks customers are trying to complete.
5) #DesignCrimes Fix the blue on blue stack bar charts
The product team that shipped this missed the mark. Who can make sense of this?!?!?
Let’s look at the issues here with what is supposed to be a breakdown of how our 7 landing pages and forms that drive our subscribers are performing:
- The bars are all the same color
- There are only 2 shades, despite many more than 2 forms
- There’s no legend to tell what each piece of a bar is (only hover tells you one piece at a time)
- Sometimes the same color is displayed twice in a row
While I understand if you have a lot of forms you can’t have 500 colors, but you could at least have 8 (ie- ROYGBIV plus black/gray) and then potentially add patterns or shades to the bars, which in particular would help with accessibility (i.e.- colorblind people).
Add those additional colors with a legend or color code and you’d significantly improve the experience.
And to truly make this a WOW, let me:
- Check and uncheck some of the forms to more easily compare some, but not all of my forms
- Instead of stacking the bar chart, put them side by side so I can more easily tell which bars are clearly the best performing
Helping your customers be smarter is a key part of the process of making a good product, especially in the field of marketing. If your customers can’t understand how their forms and giveaways are performing, nor track the progress of experiments, it’s leaving a lot of value out of the product.
6) Add labels to the Unsubscribes bar chart
Another place to make email marketers smarter is the unsubscribes page. It’s nice that Convertkit added the survey to find out why people unsubscribed, but then the answers are hidden:
There’s *plenty* of room below those bars (which are standard answers ConvertKit set) so I can immediately analyze it instead of having to hover on each one.
I would love to be a fly on the wall to understand this compromise that led to a view like this considering:
- The answers are hard coded. Every customer sees the same 6 options.
- The chart is thus displayed the same for each customer
- All of the options are 8 words or less so could fit in a similar font below each bar.
I quickly made the answers using “Inspect Element” in my browser in and this how they look:
I would take this over the hover as is, but I think a great front end engineer would happily make the couple of longer answers wrap to a second line and center under their appropriate bar.
You may also want to increase the font of those labels for accessibility purposes; a middle aged marketer with bi or tri-focals is going to have a hard time with that small of a font, and there’s plenty of room below the bars to go with a bigger font.
7) Make form analysis 100X better
This is the “Reports” tab for one of the many ways we get subscribers to Lighthouse:
As you can see, we get a lot of traffic to our blog. Since this CTA was shown to virtually every visitor, we have a low conversion rate, but still got a bunch of conversions from it.
Now, the problem with this is: What do I do with this? It’s not particularly actionable nor helpful:
- It lacks enough granularity: Rounding to the fraction of a percent means it’s hard to tell if a change did anything for such a form display. It would help to provide at least 2 decimal places, especially when dealing with large numbers of visitors or a < 1% conversion rate.
- No chart nor graph: I can’t track any trends over time. What if I ran a copy experiment? No trend over time means I can’t see if an experiment is winning, nor if a form’s performance is declining.
- No way to note experiments: Even having a text-based list below a chart with what we changed would give us the context we need (which right now is awkwardly noted in Basecamp and a Google Doc). However, the best would be Google Analytics style annotations to a chart:
Beyond the list of Visitors and Conversions, the other thing you’ll notice is the list of “Top Referrers” on the page.
Unfortunately, this basically says “Search Engines” over and over, which isn’t actionable. It would be much more useful if it told me what page people were on when they subscribed to it. Then, I’d know which blog posts are really converting.
Especially for some of our custom forms that are for specific giveaways, it would be nice to be able to see if certain pages are doing particularly well or poor. Then we can act on the info it’s providing around conversion rates to recognize any copy tweaks or experiments we should do as well as understand what’s working best.
All of this is about making being a performance marketer smarter, better, and work faster.
The alternative is to do hacky things like my team will track experiments in Basecamp, note the conversion rate, and then check back in a month and see if the displayed cumulative conversion rate went up or down. All of that could and should be done inside ConvertKit.
8) Give me a way to organize sequences! How about some folders?!?
We have 65 sequences at Lighthouse (and counting). This is because we use ConvertKit for a variety of things like:
- Drip series for each of our giveaways to grow subscribers
- A welcome series for every new subscriber to our blog
- A welcome series for every new trial of our 1 on 1 meeting software
- A sequence for each of our 8 leadership courses we sell
- Dozens of variants on our course sequences when customers pay to have various customization made to them.
As you might imagine, it’s quite unwieldy to have so many sequences. Currently, the only options to organize the view on the Sequences page are sorting in alphabetical order, chronological order, or a variety of options I’ve never found a use for:
Now, this is not a sexy feature, but letting me create folders (or something like them) would be tremendously helpful. I could group things by topics and purpose, as well as archive sequences that are of no use anymore other than as an old record.
Importantly, this also helps avoid mistakes. Naming conventions are super important when you get long lists, and if you can organize things into folders, you can make it safer by putting things in a set folder for someone.
With extra organization like archiving and folders, your team is much less likely to accidentally choose something named similarly that isn’t what they should be working on.
9) 3 Quick UX wins for ConvertKit sequences
As you can see from the previous item, my team and I use sequences *a lot*. Because of that, we see a lot of the issues that come up in the UX of sequences.
Here’s 3 simple fixes that would remove points of friction and frustration.
1. Let me scroll in a sequence to switch between steps without having to go to the very bottom of the content.
In a sequence, you have two parts: The text in the email, and the list of all the steps in your sequence in a sidebar. If you have a long email (like our courses) then to scroll and switch from Email 1 to say email 8, 10, or 12 in a sequence, you have to scroll all the way to the bottom of that email, and only then do the additional emails in the sequence become visible and thus clickable.
The simple answer here is to separate scrolling between the two elements.
2. Let me more easily re-send a sequence to a customer when they request it.
Other than re-subscribing people that had issues or accidentally unsubscribed, the number one thing we deal with is people can’t find an email in a sequence, so we need to resend it to them.
The ConvertKit support team company line is that we should copy and paste the entire message and subject line to make a broadcast to send to each person. That’s an incredibly tedious process to send a couple of people an email, especially when links often break and the formatting doesn’t come through in the process.
Now, I can send a “Test Email” easily, but you limit those. I understand this is to protect against spammers, but you can use logic on that, such as only letting me send to people already in the sequence, or subscribed to our general list.
3. When I look at an individual user, and I check their sequence page, add a button to add them to a sequence!
One of the best things you can do in a product is let me do the things I want to do where it makes sense to do them. Supporting our customers often means looking up a specific user to see if they received an email.
When I look up subscriber, it’s great to have all the info on the user available on the subscriber’s profile, like we pictured before:
All I’d like to do is add to the Sequences tab a button for adding this subscriber to another Sequence. This let’s me complete a support activity for a customer where I am. As it stands, I need to take another 3-4 steps to complete the same action.
Adding small fixes and improvements in your product are great ways to boost morale for your engineering team and delight customers. Those are 3 that would make a big difference for my team and I when it comes to using sequences.
10) On sequences, tell me who is on what step.
The #1 thing I miss from MailChimp is that in any sequence I can get a pop up of a list to see:
- Who is in the queue to get a sequence step
- When they group will get emailed that next step
In Mailchimp, it’s part of the details on a step:
Clicking on the “Queue” then pops up a list of who is in the group to get the email associated with this line in a sequence:
This is big for 2 reasons:
- It’s a helpful sanity check to make sure you have your logic correct for a step in the sequence. It can be nerve-wracking to not know for sure it’s right.
- Any changes you just made are confirmed by seeing if the way you tweaked the logic now changed the existing members of a given step’s queue.
- If a customer has a question or issue, you can confirm they’re properly in a sequence by literally checking the step and seeing for sure that they’re at the step you expect. You can then confidently tell them when they’ll get that next email instead of guessing or having to ask support to check.
In both cases, I currently have to message ConvertKit support and often it gets passed around and escalated before I get a response. This is pretty annoying if I’m trying to close out a customer ticket on my side, and is an expensive task for their support team.
Why might ConvertKit not have fixed these things?
Now, this is quite the list. It’s hard to expect any company to be perfect, but you can see there’s a mix of big and small things missing from the experience in ConvertKit.
The question then becomes why might ConvertKit not have built or fixed these things?
Here’s a few thoughts as to why…
1) They have more important things to focus on
One of my favorite frameworks I’ve ever learned about is “Olsen’s Hierarchy of Needs.” In a simple, easy to understand image, it explains how you should prioritize product development:
This was created by Dan Olsen, who was the VP of Product at Friendster. This was a predecessor to Facebook and MySpace that was very early in the social network game.
Unfortunately, Olsen created this out of some painful lessons learned. Scaling, product speed, and functionality issues ultimately doomed Friendster.
I have no idea what the situation may be internally at ConvertKit, but if there are core functionality and scalability issues that they’re putting the majority of their engineers on, then that is 100% the right decision.
Making sure emails send when they’re supposed to and arrive where they’re sent is more important than any of the things I’ve listed above.
However, a number of these are what I would expect can be quick wins and quick fixes. Those items are perfect to have your engineers do as a break from, or in between, major tech debt projects.
2) They commit the cardinal sin of featuring voting.
Feature voting is a terrible way to get product feedback, make prioritization decisions, and learn from customers. I’ve seen it fail so many times I’ve written a 2,000+ word essay on why you never want to use a feature voting system here.
Not surprisingly, spending even a minute on the ConvertKit feature voting site, I see a number of the common problems:
- Spam: Two different consultancies have posted themselves multiple times for reasons I don’t understand. They’re showing on the first page repeatedly, which has nothing to do with feature requests or product feedback….
- People feeling unheard: Here’s someone talking about having a problem for *2 years*. And the response basically said, “Sorry, not yet” with no effort to help them with a workaround.
- The system is bloated: It’s not just for feature requests, actually. There are 17 categories of things in the “community”, making it incredibly noisy. It’s unreasonable for any customer to expect they’ll truly be heard in all that noise.
And those reasons, are in addition to what typically causes feature voting systems to fail:
- Collecting features without understanding the real underlying problems causing the customer to request something.
- Distracting people with all the noise of other requests causing them to forget to submit their feedback.
- Yet another log in and account to create just to send feedback. Every bit of friction will lose some people.
- A lack of context makes it impossible to tell what is a “must have” vs. “nice to have” request.
And more I wrote about here.
The ConvertKit community site may be great for feeling like they’re listening to and creating a community for their customers, but from a product development perspective, it’s a false idol.
Any time spent by the product team there, and the damage done to not really listening to customers prevents them from making the best, customer and data informed decisions they could.
3) They don’t seem to talk to a lot of customers
You’d be surprised how many product managers talk to few, if any, customers. You really are in the top 10-20% of all PMs if you make an effort to do so with much regularity.
I can’t say for certain what the habits are of every PM and designer at ConvertKit. However, I can say my experience as a customer for 2+ years is not good:
- I’ve never received a survey from their product or design team. I did recently get one from marketing, but none of it included any product questions. It was all demographics.
- I’ve never received an invitation to a customer development interview, user testing, or even to be added to a list they may draw from for those.
- I’ve never seen an email, pop up in Intercom, nor any other format where the product team was trying to create direct communication with customers.
- I’ve never received a follow up message from a designer nor product manager to ask any questions about feedback that the support team has promised they’ve logged or passed on to product.
Now, it’s possible I’m just unsubscribed from some of those things, and didn’t realize it. Or something about our use case and business type disqualifies us from being a fit for customer interviews.
Or maybe I’m supposed to do something at the community page that I don’t know. However, if that is the case, then the support team should be better trained to tell me about that, because I’ve asked them before and not been told that.
Regardless of how they do it, the key is that there are opportunities to engage your customers at every step of the way, from prioritization to developing and scoping a feature, to pre and post launch testing.
Many of the issues I covered today could have been fixed by getting closer to the customer during each of those steps.
And that’s the beauty of making talking to customers a key part of your product development process and culture. You can create all of these benefits:
- Make sure you build the right features at the right time: When you talk to your customers, you learn if the next feature is actually solving an important problem for them. Prioritization becomes “what’s best for the customer?” instead of internal battles of opinion.
- Fixing issues before you build them: Interviewing customers can also include getting feedback on mockups, clickable prototypes, and other early designs to make sure you’re on the right track and fix things before costly rewrites are required.
- Iterating from good to GREAT: You learn about the little big details that matter to customers and the keys to making them super happy when you take the time to speak to them regularly.
Through all of this, you learn how to maximize the time and efforts of your design and engineering teams. Many of the problems and suggestions I’ve made today could have been caught when the features were last iterated on or initially built, if they knew to incorporate them.
Talking to customers is hard. Building a customer driven company is even harder.
As an individual PM, having a strong set of habits to talk to customers and gather actionable data on what to build is a very difficult job.
Yet, it’s understandable why it doesn’t happen; it’s also a deep set of skills to build.
This is why so many PMs and companies don’t do a good job of it; many PMs don’t want to do the work, and many others don’t know how.
If you want to learn how to do it, check out some of these other posts that can help you on your journey to become a customer driven product manager:
- Learn how to structure and make the most of your customer interviews.
- Get a variety of tactics from my presentation on “How to Build a Customer Driven Company”
- Discover how to use the 5 Why’s to truly understand a customer request.
- Learn How to master stakeholder management to build better products and win together.
- See the viral 100 Lessons & Spicy Takes on being a Product Manager I’ve learned in 10+ years in product.
And if you want hands on help or coaching, sign up for a free call to discuss how I can help you and your organization here.