Open, source-available — the new KeygenStar us on GitHub arrow_right_alt

Your 14-Day Free Trial Ain't Gonna Cut It

Friday, May 3rd 2024

I've been working on Keygen for coming up on 8 years now (May 22nd, to be exact). In that time, it's an understatement to say that I've learned a lot. One of the things I've learned is that a lot of founders, myself included, ignore some pretty crucial business metrics. One of those metrics that we'll be talking about today is time-to-convert.

When I first started Keygen, I did what everybody probably does and set up a 14-day free trial. What I quickly found is that it's very hard for a potential customer to integrate a software licensing API into their entire stack within a 14 days timeframe.

So I started offering free trial extensions. I'd push this on my pricing page, in onboarding emails, in follow up emails, etc. I wanted to make potentional customers aware that they had more time.

What I found over the next couple years was that the majority of converting customers had asked for a free trial extension. And out those that did and those that didn't, my conversion rate was higher when they did ask for one.

Was there a reason why this was the case? Possibly!

When I extended a trial, I would require the potential customer to put a card on file before I extended their trial. So we go from free trial without a card, to free trial with a card. Much better.

You may be thinking — what does this have to do with time-to-convert?

We'll get there.

Anyways — after discovering that free trial extensions increase conversion rate, I started personally sending emails to potentional customers that were nearing their trial's end to offer a trial extension. This was a pretty big success.

So much of a success, actually, that I stopped being so strict about requiring a card be put on file — mainly out of laziness — because it was such an annoying back-and-forth step to do before extending a potential customer's trial.

Unintuitively to what I learned prior, this didn't hurt conversion rate (so that potential reason for a higher conversion rate was moot).

I chugged along manually extending trials for a couple more years.

Then I got fed up with limited metrics from Baremetrics and replaced it with a Rake task. I no longer use that Rake task (it didn't scale as my Stripe customer count grew), but through that, I learned about my time-to-convert, which is a crucial business metric that remains unknown to many, many founders (myself included at the time).

What is time-to-convert? It's the time it takes from a customer signing up to a customer paying you. Pretty simple.

(For brevity, I'll refer to this metric as TTC.)

So why was this such a big deal?

Well, because my 14-day free trial didn't line up with the time it takes a customer to realize value from Keygen — to get to that fork in the road where they can decide "is this worth my money?"

I gave them 14 days to get to that fork.

But my p50 TTC is 41 days. My p90, 130 days; p95, 198; p99, 290.

If you want to calculate yours using Stripe Sigma, try this query:

SELECT
format('%d days', approx_percentile(time_to_convert, 0.5)) AS time_to_convert_p50,
format('%d days', approx_percentile(time_to_convert, 0.9)) AS time_to_convert_p90,
format('%d days', approx_percentile(time_to_convert, 0.95)) AS time_to_convert_p95,
format('%d days', approx_percentile(time_to_convert, 0.99)) AS time_to_convert_p99
FROM (
SELECT
DATE_DIFF('day', MIN(customers.created), MIN(charges.created)) AS time_to_convert,
customers.id
FROM
customers
INNER JOIN charges ON charges.customer_id = customers.id
WHERE
customers.created BETWEEN DATE_ADD('year', -1, CURRENT_DATE) AND CURRENT_DATE
AND charges.paid = TRUE
AND charges.amount > 0
GROUP BY
customers.id
)

As I mentioned, I realized that what I was really doing was asking people to sign up now and complete a proof-of-concept integration in 14 days. This includes reading documentation, onboarding, and planning and executing a proof-of-concept (PoC).

But my median TTC is 41 days!

That just doesn't work.

Understanding and integrating a new API can be a lot. On top of other projects, it can end up being impossible to do in 14 days, from first discovery to being integrated (or at least with a PoC in-hand).

What I was really asking potential customers to do was wait.

Wait until they're ready to start understanding the API.

Wait until they're ready to go through onboarding.

Wait until the PoC is planned.

Wait until dev is freed up.

Wait. Wait. Wait.

What ends up happening is that people get busy and they end up seeing that 14 day deadline, determine that they're not ready yet, so they bounce until they are ready, but then they never come back.

I decided that I needed to remove that friction. I wanted to capture these leads as soon as they decide Keygen may be the solution for them. So ultimately, I can start nurturing these leads.

So I did what every bootstrapper tells you to never do…

I added an unlimited trial, a.k.a. a free tier.

What happened next?

Overall sign ups increased, of course, as it always does with a free tier. But by segmenting out users that stay on the free tier, I found paid sign ups also increased, with conversion rate staying steady, but now with no manual work. I say that's a win-win.

So, what's your TTC?

Until next time.