Automating your Customer Funnel: Offering a Trial Discount

June 20, 2016

In the second blog post in our series about automating your Customer Funnel, 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.


Trial Discount Process

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.


Stripe to Drip Integration 2

 

 

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.


Trial Follow Up Campaign in Drip

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.


Trial Follow up Automation Rule


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".


Trial Ending Automation Rule


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.


first email


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.


second email


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.


  1. Create a new Zap triggered by a Drip Campaign Subscription.
  2. Add a filter step as per below:

filter


Add a javascript step to create a timestamp for a bit more than 48 hours from now:

Screen Shot 2016-06-07 at 4.20.55 PM


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. 


zapier to stripe


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.


webhook setup


Then in Zapier, I specify the details of the message I want to send out to Slack.


zapier 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:


Card Details Entered Automation Rule


That's it! I hope this was helpful. Please comment to provide feedback and share your thoughts.