Send helpful email to new users stuck in onboarding
4 min read

Send helpful email to new users stuck in onboarding

When a user is stuck in our onboarding process, we can send them a helpful email with links to documentation, offer to guide them through the onboarding process personally, or simply to answer any concerns they might have.
Send helpful email to new users stuck in onboarding

Running a business has many moving parts. The more you can automate, the more it frees you up to address higher level and strategic problems of your business. This is a newsletter about automating aspects of your business.

Problem

Onboarding is the minimum of steps a new user has to go through on your SaaS app to get their first hit of value from your app. It's often modeled as a funnel, where there is a percent user drop off at every step. We track every cohort of users through this funnel using analytics software such as Mixpanel and Amplitude.

Onboarding can be a gauntlet for users if it's not well designed and considerate. So the first order of business is to make the onboarding process as short and simple as possible with a single call to action at every step. This is the first impression of a user of your app–the unboxing. And like any first impression, it should be great!

However, as builders of our own product, we can be blind to how or why the onboarding process is confusing to new users. It's easy to shrug and muse at the myriad of reasons why a user dropped off in the onboarding process.

We don't have to to muse. We should talk to our users.

When a user is stuck in our onboarding process, we can send them a helpful email with links to documentation, offer to guide them through the onboarding process personally, or simply to answer any concerns they might have.

Automation

This particular automation assumes you built your own SaaS app, and you know a little bit about programming or use no-code tools like Retool.

How do we know when a user is stuck in onboarding?

First, you have to identify when a user gets the first hit of value from your app. It's the place where your user get their first dopamine hit, or their `a-ha!` moment. For Wordpress, it's when someone publishes their first blog post. For Facebook, it's when they add four or more friends.

What's the moment your first users get a dopamine hit when they get their first taste of value from your app? When the user gets there, write a timestamp on their user account in a field called first_dopamine_at. If a user never got there, this field will be null. We also need another timestamp field named helped_onboarding_at to mark users we've already emailed.

Next, you can set up a running cron job or recurring background job every minute to get the set of all users that haven't had their first domapine hit. A sample cron job in Ruby on Rails might look like the following:

#!/usr/bin/ruby

require 'httparty'

desc "send helpful email to new users stuck in onboarding"
task :help_onboarding => :environment do
  # Find all users that haven't got their first hit that we haven't helped yet.
  users = User.where(first_domaine_at: null, helped_onboarding_at: null)
  
  users.each do |user|
    # Trigger Zapier Zap to email user
    response = httparty.post("https://hooks.zapier.com/hooks/catch/2388026/oanm3ix/", {
      :body => { :name => user.name, :email => user.email }.to_json,
      :headers => { "Content-Type" => "application/json" }
    })
    
    # Only mark the user as helped if the post was successful
    if response.code == 200
      user.update(helped_onboarding_at: Time.now)
    end
  end
end
NOTE! you need to replace the webhook url that you're POSTing.

This can be run by the following command in Rails.

rake help_onboarding

If you're using something like Heroku, it allows you to run cron scripts like the Rake task above.

Now, you don't have to trigger a Zap to send email. You could directly interface with a mail service  from Mailchimp to Sendgrid via their API.  

  1. It's nice to have all workflows in one place
  2. Sending an email is just an http request. Otherwise, you'll have to read API documentation for different mail services and implement it. It's time you could be doing something else.

Now in your Zapier, pick the Zapier Webhook app. Note this is where you get the webhook endpoint for your cron script to hit.

Now, you should be able to fill out the fields you need to send email. In this example, I used Mailgun, but you can use any email service that supports sending email to a single address.

Now the last important bit is what to write in the body of the email. Now is not the time to sell the user. The fact that you have to send this email at all is because your app made a bad first impression, so you're starting off trying to mend the new relationship.

This is a chance to offer up commonly misunderstood concepts or offer personal help.  You're asking for a second chance, so be helpful, clear, and to the point.

Hi Jill,

We noticed that you weren't able to complete onboarding after signing up with our app. Sorry for the confusion! Here are some support articles that might help.

- What is a blog and why would you write one?
- How to write your first post on BigBlog.com
- Should you allow comments on your blog?

If you're still having trouble, please reply to this email and I'll personally help you get you started.

Wil

That way, when users reach out, you know they're properly motivated, and you'll get to talk to them about what they're confused about and why they dropped off after signing up.

Once you get everything set up, don't stop there! You'll need to keep iterating after talking to them and measuring the dropoff with analytics to maximize the effectiveness of the email.

Photo by Edgar Castrejon on Unsplash

Enjoying these posts? Subscribe for more

Subscribe now
Already have an account? Sign in
You've successfully subscribed to Automation Cookbook.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info is updated.