We are constantly optimising and updating the onboarding of our latest SaaS product, YoGrow. I’m going to run through how we manage our free sign-up process on the site.

First of all, let’s discuss the tech stack. By, that I mean the various tools, architecture and plugins we use together. I’ll miss a few out, but these are the tent-poles that hold up the core of the site:

  • WordPress
  • WooCommerce
  • WooCommerce Subscriptions
  • Gravity Forms
  • Gravity Forms User Registration
  • GetDrip

The problem with our initial process

Our initial process went as followed:

Home page form capturing email. On Submit

  • Send email subscription to sign-up list in MailChimp (using MailChimp for WordPress plugin)
  • Append email to URL
  • Direct to Checkout and bypass the cart (custom coded)
  • Auto-populate the email field of checkout with that added on home page (custom code)
  • Removed unnecessary fields at Checkout and removed the order breakdown in place of simplified message
  • At this point, the customer can then enter card details, submit an order and get a free trial. A free trial is a new account with it’s own user role.

If users did not proceed through the steps, we had a triggered abandonment email campaign with the emails we’d captured in MailChimp.

But this was not perfect. It was clunky for the user and also added levels of friction with multiple pages and the requirement of adding a credit card.

The changes we made for free trial with subscriptions

WooCommerce Subscriptions can set a free trial period but credit card details must be taken at the checkout. We wanted to get the card details after a free trial.

There are 127 votes on the WooCommerce Ideas Board about this, so I hope this article can help. View the link

Why do people want this? Well, there is much debate about this. It’s all about the distance to WOW for the user. How long till the user gets that Wow moment that makes them realise how good the service you are providing is. How long to recognise the value.

Well, with our service we believe that moment occurs with use of our service and not before. So we want to reduce the friction as much as possible until the product is used. Other products benefit from filtering out low-quality prospects with the additional friction of a card at checkout. Different business models and services require a different approach.

In any case, WooCommerce Subscriptions does not have this option out of the bag. This is how we have re-made our signup process:

HomePage form capturing email, password, repeat password

  • Create a user account with Gravity Forms User Registration
  • Some custom code to let GF use email as username
  • Set user role (with GF UR)
  • Add email to GetDrip Email Onboarding automation (with GF integration)
  • Auto-login user (custom code)
  • Free Trial countdown code

The last item here is where the magic happens. There are three parts to the free trial custom code we added. It does the following:

  • Displays a message counting down how many days left of the trial. This is fixed to the top of the page for free trial users
  • IF free trial over, redirect to payment page

On the payment page, we then have the same product we initially had with WooCommerce Subscriptions but have removed the free trial. The user can then sign up and on signup the user_role can change (using built in subs settings) to a paid user role. The free trial restrictions are then lifted.

We’re excited about this process as it simplifies our checkout, removes friction to our moment of WOW and set’s up the framework to allowing multiple payment options on our payment page. Soon we will be offering an annual payment option. We want this decision to be made after the customer finds the value in the product and not at the moment of choosing a free trial.

The code

I’ve posted a gist here with the code we have used. I’m sure we will tidy this and amend, but anyone else wanting a free trial without taking credit card for WooCommerce Subscriptions might benefit from this