A Case Study: Building a Webinar Registration System with Gravity Forms (and Zapier)
By Gravity Forms Published July 8, 2020It’s no surprise that the use of webinars has increased dramatically over the last few months. In this case study, we’ll show you how one company has used Gravity Forms to build a webinar registration system right within its WordPress website.
During this article, we discuss the features of the form, and the numerous integrations used, including Zapier and GoToWebinar. These integrations not only enable the company to sign up customers to their webinars, but also to email out automatic links to the webinars and then send the data collected to other applications. Let’s find out more…
The Webinar Registration Form: A Background
Andrew Rowland, founder of the marketing and technology agency Riverine Inc., is a long-term Gravity Forms fan and uses the plugin on nearly all of his clients’ sites. This webinar registration system case study that he has shared with us represents one of his most complex form integrations – and an interesting one at that!
Andrew worked with Mortgage Capital Trading (MCT), creating a webinar registration form for their website. MCT use GoToWebinar to run their webinars, and wanted to integrate it with an advanced form builder so they could register participants for their webinars and then manage the data they collected. Gravity Forms was an obvious choice!
To do this, the registration form integrates with the Gravity Forms Zapier Add-On. Through Zapier, the form could then be further integrated with GoToWebinar, as well as a number of MCT’s other existing solutions including Salesforce, MailChimp, and Google Sheets.
Here’s an overview of the different elements used and their roles within the webinar registration process…
- Gravity Forms – Used on the MCT website to capture webinar registrations.
- GoToWebinar – Used to manage webinar sign-ups and events.
- Salesforce – Used by MCT as their CRM for managing email lists.
- MailChimp – Used to send the Salesforce contacts marketing emails.
- Google Sheets – Used to share a list of registrants with MCT staff in real-time.
- Zapier – Used to tie all of the above elements together and ensure a smooth registration process.
So let’s now look in more depth at how the form was created, and specifically how Zapier has been used to guarantee its success…
Webinar Registration Form Features
There are a number of key features that the registration form used that are worth noting…
- The same form is used for every webinar event – the shortcode has been customized to pre-populate a hidden field for ‘WebinarID’. This way, the one form can register users for multiple webinars simultaneously.
- The form uses a number of visible form fields in conjunction with dynamic field population via query-string, so that information for the form can be pre-populated. Below is an example of an invite link from Mailchimp which is used to prepopulate all form fields:
- After a successful form submission, a webinar invite is emailed. The link includes the contact’s data to pre-populate the existing fields, in addition to a hidden field that includes their ‘ContactID’ from Salesforce.
Zapier Integration
When a user completes the form, it sends the data to two different Zaps…
- Zap 1 is for all form submissions where the hidden field for ContactID is pre-populated (indicating a registration from a known contact).
- Zap 2 is for form submissions where the hidden field for ContactID is not pre-populated (so it is treated as a new lead and goes into the sales process – see below for more details).
Webinar Registration Form Workflow
Let’s now look at the form’s workflow in detail…
- New Form Submission
- Post data to Zap 1 (used on all forms on the website)
- Check if ContactID is included in the form data
- IF so, STOP
- If not, then this is a new contact we need to add to Salesforce
- Run some custom JS to clean up and normalize the form inputs before we send to Salesforce
- Find or create an account in Salesforce using the submitted form data for “Company name”
- Find or create a contact in Salesforce using the submitted form data for “Email”
- Check if ContactID is included in the form data
Screenshot of Zap 1 Set-up
- Post data to Zap 2
- Create a webinar registrant in GoToWebinar
- Create a spreadsheet row in Google Sheets
- Wait for 60 seconds to let Zap number 1 create a new contact in Salesforce so we can then find it in next step
- Find a contact in Salesforce and see if it matches the ContactID present on the form submission
- If not a match, STOP and generate an email saying that someone used another contact’s personalized link to register and needs manual review to get added to Salesforce.
- If a match, CONTINUE
- Set the title of the note to a max length to prevent it from going over Salesforce API request length limit
- Add a note to the contact in Salesforce which says they are registered for the webinar and include all the details from the form.
Screenshot of Zap 2 Set-up
As you can see, Zapier forms the backbone of this complex form process, and enables a number of integrations to work together to register customers for webinars as well as collect, process, and manage users’ data.
Final Thoughts
We hope this case study was useful and will inspire you to use Zapier to create your own customized solutions for your business or projects. For more details on how you can use Zapier to enhance your forms, check out these articles…
Any questions on using the Gravity Forms Zapier Add-On or getting started with Zapier v4 Beta? If so, please ask away in the comments below…
Andrew Rowland is founder of Riverine, Inc., a boutique marketing & technology consultancy focused on helping start-ups and SMBs develop & execute data-driven strategies for growth. Specialties include Information Architecture, Business Process Design, and Marketing / Sales Funnel Optimization & Automation.
LinkedIn: https://www.linkedin.com/in/andrewtrowland/
Website: https://marketingconsulting.co/
If you want to keep up-to-date with what’s happening on the blog sign up for the Gravity Forms newsletter!