The problem
This is a case study for a recent client project and was part of a bigger integration project, where the client wanted to integrate a range of tools with their email marketing system, Acoustic.
One of those tools is Zoom, which is what they used for their online webinars.
Not only did they need to keep track of registrations, they also wanted to keep track of participants (those that actually attended the webinar).
Keeping track of both registrations and participants allows them to:
- Send a reminder to people on the email list who have not yet registered. Those that have registered are not sent these emails
- Send a thank you and follow up emails to those that registered and participated in the event.
- Send a follow up email to those that registered but did not participate in the event.
- Report on the attendance date (the number of participants vs registered)
Tracking both registrations and participations allows all of these different emails to be sent to the relevant segments.
The solution
I recommended to the client that they use Make as the primary tool for integrating the tools together and automating various workflows. Zoom has an integration with Make already.
Acoustic doesn’t have an integration with Make, so I leveraged the Acoustic API (see below for details) in Make. And from there, I was able to push registrations and participants from Zoom Webinar to Acoustic.
Systems integrated
- Acoustic
- Drupal
- Make
The details
The trigger in the Make scenario is Watch Webinars.
There are multiple events you can use to trigger the Make scenario, such as when the webinar starts, when it ends, when the registration is created, when the participant joins and when the participant leaves.
For this scenario, I’m using
- Registration Created
- Participant Joined
There is one scenario for each trigger.
Registration Created
This Make scenario is responsible for pushing the contact information to the email marketing system Acoustic. There is no direct Acoustic integration with Make. So I’ve used Make’s HTTP Module to make an API call to add the contact to the Acoustic database.
There are 4 Acoustic API calls in total
- Get the API token
- Add the contact to the main database
- Add the contact to a special activity table
- Add the contact to another special table
I’m not going to go into the 2 special tables in this post. The main point is, the data is pushed to Acoustic via the Acoustic API, using Make’s HTTP module.
The data is also going through the Make Data store. This is because Zoom returns short codes for the country for each contact. The client has internally agreed names for each country, and when the contact data is pushed to Acoustic, it needs to use that. So the data store maps the short code to the internally agreed name and then uses that when calling the Acoustic API.
Participant Joined
This is a simpler scenario. It is triggered when a participant joins the webinar. We have a special table in Acoustic that tracks when someone registers and joins, so it is pushed to that table.
Wrapping up
With two different Make scenarios, we are able to keep tracking of when someone registers for and turns up to each Zoom webinar. These two data points gives the client the necessary information to segment their list and send the relevant information. Contacts don’t get annoyed with emails that are not relevant to them and are kept in the loop with comms that are important to them.