How I built a custom flexible referral system

Profiles on building Feb 06, 2020

Slater Mclean, Product Manager @ GSVlabs

GSVlabs offers an online resource portal called Passport to 1,000+ startups around the world. Through Passport, founders get curated resources, networking and mentorship opportunities, and a lot of perks from service providers like AWS, Segment, Airtable, and more.

Last March, we started getting emails from current customers looking to refer their friends and colleagues to Passport. We knew referrals could be a powerful acquisition channel for us, but we had limited resources to develop a program.

As a product manager, I undertook the challenge of building a lightweight, scalable referral system that integrated into our existing system. Here’s how we did it.

Step 1: Determining whether to build or buy

I saw three options to get this referral program off the ground. I could:

  1. Requisition dev resources and build the software from scratch
  2. Invest in a purpose-built SaaS referral management tool
  3. Build a “no code” solution using other web utilities (like Airtable, Zapier, and various APIs)

Option 1 was quickly off the table. GSVlabs has an awesome dev team, but at the current volume of referral requests, we couldn’t justify the ROI of a home-brewed tool.

Option 2 showed initial promise. I did demos with three of the top off-the-rack referral SaaS solutions: Referalcandy, Talon, and Smile. The tools were slick and the pricing was reasonable for even our modest-sized initiative. Unfortunately, things broke down when it came to functionality. GSVlabs has a ton of different product offerings, and these off-the-rack tools couldn’t handle the complexity of multiple tiers for multiple products. It also turned out that our payment software didn’t play nice with these tools. We were forced to pass.

This left Option 3 — crafting our own product out of a combination of others. This option was certainly the least expensive in dollar terms. It also left us with the most flexibility to experiment and course-correct. The most obvious risk was robustness: could we stitch together a system that was truly automated and truly scalable? The only way to find out was to try.

Step 2: Designing and building the referral system

We decided early on to build the foundation of our system on two excellent, highly flexible tools: Airtable and Zapier.

Before building anything, however, we needed to know what we were building — we needed a system design spec.

GSVlabs’ current referral process was initiated by an existing GSVlabs customer emailing our support team. This created a tedious back-and-forth as we collected all the information we needed, followed by a bunch of manual steps.

We decided the new “starting gate” for the process would just be a form. We could have used Google Forms or Typeform, but it was easy enough for our dev team to just host a custom form on our website.

Once a customer submitted the referral form, six things needed to happen:

  1. Verification that the referring company was a legitimate GSVlabs customer
  2. Generation of a unique promo code
  3. Notification to the referred org that they could apply to GSVlabs and receive a discount using the promo code
  4. Monitoring to detect when (or if) the referred org actually signed up using the promo code
  5. Payment to the referring company, in cash
  6. Reconciliation of both the payment and the discount in Airtable.

With this lengthy list of specs in hand, we started to build.

First, I created a form hosted behind the sign-in gateway for Passport. This required some custom dev work. Our Eng team had previously built out an internal form builder. I was able to quickly spin up a new GSVlabs branded form. This solved verification, because only current Passport customers could access the form.

We set up a Zap that automatically created a unique code for a user when they purchased Passport for the first time. The code exists in Airtable.

Once a Passport customer fills out the referral form it was easy to send an autogenerated email to the referred companies attaching the unique code. For the email, we designed the template in Mailchimp. We then pasted the HTML code generated by Mailchimp into Zapier. Using a Gmail account and Zapier we automated the emails sent to the referred companies. We also connected Zapier to the Airtable base in order to pull in the unique code.

When the email is sent to the referred company they click on the form link, add their details, and hit submit. All of that information is added or updated in our Airtable database that also stores all the Passport purchase information. Using a formula, Airtable then matches any new customers with the unique referral codes to see if the new Passport customer was referred.

The payout is still done manually using Paypal. So is the accounting sync with our books. Unfortunately we are unable to fully automate this, but using Airtable we can make this a simple manual process.

Building out this functionality took about a week, and the end result gave us what we needed: a way to ensure that referrals — a surprisingly complex process — happened consistently every time.

Step 3: Improving the system

Every referral is a high-intent warm intro — enormously valuable in the world of marketing. Now that our referral system is in place, we are monitoring it for ways to improve.

For example, we’ve recently been focused on improving our conversion rates: how do we get every referred company to make the leap and sign up? Having a flexible system in place with Airtable and Zapier has allowed us to easily experiment with drip campaigns, different messaging, and other incentives.

Final thoughts

Having been through this process once, I can offer some advice for those looking to bootstrap their own no-code referral process.

Clearly chart your core requirements. We started this process by clearly mapping the functionally we needed. This saved us a lot of time when it came to building. The unfortunate nature of assembling workflows with iPaaS tools is that sometimes, things don’t work the way you think they will. When this happens, it’s easy to lose sight of your original goal. Having your goals clearly written out as a touchstone can help keep you focused.

Build quickly, improve forever. It took only a few weeks to scope, design, and build our initial referral program. When we launched, it wasn’t perfect, or even fully automated. But putting the system into use showed us in clear terms what shortcomings were acceptable and which we truly needed to fix. It’s tempting to tweak and perfect your system forever, but usually its better to just ship it and see what breaks.

Tools and timelines

Tools we used

  • Confluence and for describing each process in detail
  • Gliffy for drawing out the process
  • Zapier for automation between tools, and email send
  • Airtable for the underlying data
  • Accuity for payment and subscription
  • Mailchimp for template design and generating HTML
  • Gmail accounts to connect to Zapier
  • Paypal for sending payments

Our timeline

  • Making the build vs. buy decision — Two weeks to write up requirements, research existing services, schedule and attend demos.
  • Design and build — About a week to assemble a working MVP.
  • Testing and improvement —  Ongoing. We started making adjustments after letting the system run for 4 weeks.

If you’re interested in learning more about GSVlabs’ referral system, you can contact Slater at slater@gsvlabs.com.