Automating your Customer Funnel: Offering a Trial Discount
In the post, I'll show you how to set up and leverage some key tools to enable automated messages during your Customer's Trial period and more specifically, how to offer a unique and time sensitive discount code to each Customer.
The set of tools we have used for this sequence is Stripe, Drip, Zapier and Slack.
When someone signs up for a trial of ZootRock, our app creates a subscription in Stripe, the Payment and Subscription management system. That is the beginning trigger for this sequence of events.
To make sure that Stripe sends these kinds of events to Drip, we need to create an Integration to Stripe from within Drip. Follow the instructions on the Stripe Integration page in Drip.
We use Drip to manage our customer emails, so we have created several campaigns to be triggered for various scenarios. The first campaign we have set up in Drip is called "Trial Follow Up". In this Campaign we have a sequence of 5 emails that are sent to new users each few days within their trial.
So now we need to subscribe the user to this campaign when they have signed up. We do this with an Automation Rule in Drip.
As the customer's trial nears its end, Stripe will trigger another event, called "Trial will end". We capture this event in an automation rule in Drip, and subscribe the customer to another Campaign, called "Trial Ending".
This campaign has 2 emails in it. The first email reminds the customer that their trial is almost over and to make sure to add their billing details. The variables specified in the email are captured against the customer from an automation rule not shown here that sets these properties when a customer subscription in stripe is created or updated.
Then 2 days later, we send a second email, this one provides a time sensitive offer with a discount code they can enter within the next 48 hours.
The code is specific to each user and will expire in 48 hours. How do we do this, you ask?
We leverage webhooks from within Zapier to create a unique code within Stripe. Here's how to do it.
Create a new Zap triggered by a Drip Campaign Subscription.
Add a filter step as per below:
Add a javascript step to create a timestamp for a bit more than 48 hours from now:
Add a POST webhook step to send a webhook to your Stripe system to create the unique coupon. In the Data section, you'll notice I have set the coupon duration to once, I have set the redeem_by property to the value I created in the prior step, and then I set the coupon id to a standard format that includes the User Id.
Now, it would be great to know when someone uses a discount code. I created a new zap that catches a webhook from Slack.
Firstly, I need to make sure to create a webhook to zapier from within Stripe, selecting the customer discount events.
Then in Zapier, I specify the details of the message I want to send out to Slack.
We're almost done! The final thing we want to make sure to take care of is to remove any Customers from the Trial Ending Campaign in Drip once we know they've updated their card details in our app.
I create an Automation Rule in Drip, as follows:
That's it! I hope this was helpful. Please comment to provide feedback and share your thoughts.