How I Built a Virtual Conference on Hubspot | Maia Singleterry | HubSpot Developer Day 2020

Maia Singleterry built a virtual conference platform using HubSpot CMS for the Reach 2020 event. She walks through the technical approach, the problems she hit, and how she solved them.
Hi everyone. My E is Singletary here and this is how I built a virtual conference on top of HubSpot. A bit about me right quick. I have been building websites for around 12 years. I've been on the marketing side for about eight years. I started building around 2015 on and off inside HubSpot and about two and a half years ago I joined G2 as the marketing team's first developer. So now I pretty much live in HubSpot every day. So without further ado, let's dive in. I'm here to talk about Reach 2020. Reach is a virtual conference we built completely within the HubSpot CMS. We had about 3,000 registrations and about one and a half thousand people logged in on the day of the event on September 15th to view the conference. It wasn't exactly a smooth road to get here. Behind the scenes, the creative team was really kind of building the plane as we flew it to meet the demands of our sales, marketing and company at large. To fully understand how we got here, you have to know a little bit of the backstory. Last year G2 launched its first ever in person conference called Reach. At the time, G2 was fresh off a rebrand, so there was a big desire to make a huge show and a huge show it was. Reach 2019 was big, flashy and bright and spared no expense. It was excellent for our brand, but we worried about topping it in the next year. So in early 2020 we decided we were going to take Reach Digital. We went into research mode to see how other people were doing virtual conferences. All of this was still early 2020, so we thought we were going to be doing something somewhat different and dare I even say, innovative. But then March happened, the pandemic happened and well, you know, every conference is now virtual. So I think this intensified the pressure on our creative team to think of a way to spin the virtual conference and really kind of make it our own unique thing. We started looking at software to help us get this done and we also wanted to keep that high touch experiential feeling that we established with the first event. So here are some of the things that we wanted. We wanted the ability to have sessions be pre recorded and have them available after the event. We wanted to make sure that viewers could connect with speakers. We wanted speakers to be able to share this session seamlessly on social media. We wanted to have content inside the conference, be personalized to the viewer and invoke a feeling of co creation. The official tagline was this is your conference and this was meant to reflect that we weren't just going to make up a random agenda of what we thought people wanted to hear. We were going to let them tell us and crowdsource the content as a part of the registration process. So no matter what platform we were going to go with, we knew we wanted to use our own custom registration page to build it, to really tell the story and build it on HubSpot. Of course, we wanted to make sure that all the information we were collecting would integrate into our CRM and we needed to be able to measure the ROI of the event. So those were all of our requirements. So finally, after what felt like months of evaluations and contract negotiations, we were ready to go on a platform. The one we landed on. Checked most of the boxes and you know, I thought it was actually pretty cool, right? They made the conference experience translate to virtual. But there were some compromises. Well, first we couldn't upload videos directly to the platform. They really encouraged live sessions and in order to display pre recorded content, we had to upload sessions to YouTube first and then embed them from there. These. There was no direct integration to HubSpot, though we could get around this by using Zapier to flow data in. Not a terrible solution, but not really ideal either. Inside the platform, there were limited ways to apply our own branding, and emails would have to come from the platform rather than our own domain to register and access the event. So once more, once we got inside, after everything's been signed, we get inside the actual event site and we're looking around and everything looks complicated. Yeah, way too complicated. We probably spent hours with their onboarding team just trying to figure out how to use it. So around August, about four to six weeks out from reach, we realized that this was not going to work. So this brings us to the next phase. We ditched this platform and double down on HubSpot. We begin to look at what we built with the registration page and wondered based on. Based on our needs, which from a platform standard aren't really that much. The question became, instead of trying to figure out ways to get data from the event back into HubSpot, can we instead start with HubSpot? HubSpot already gives us video hosting data will already be connected with our CRM. No special integrations will be needed. We can seamlessly track the flow of pipeline with no extra effort. Since everything we do on HubSpot is already engineered to give us this information on Salesforce, there will be less friction on the day of the event for signups because Again, everything is going to live on reach.g2.com this seemed like the best option and oh look, HubSpot just came out with a membership feature. It's a sign. So here are the features that I use to build Reach. All of the Reach content is generated from OnePage Template and uses HubDB to dynamically create the speaker pages. So it actually works very much like a blog template that generates content based on the conditional logic of one HTML doc. The first section displays the content for each individual speaker session page and within that you can target the specific row of columns you would like to display like the speaker's name, their video session and a bio. The second session displays the main listing page for all the speakers. This also has a function to sort speaker speakers by topic and lets you search for specific speaker by name. For personalization and smart content we use personalization tokens that are built into HubSpot like contact first name and our own custom created contact properties like BDR first name. So you can see how if I'm already a G2 customer and I'm browsing around in Reach, there's a call to action that will invite me to connect directly with my individual rep. And this section is based on smart content so what you see here would be different if you've never had content with G2 before. Everyone gets personalized experience. Our sales team and product marketers really love this feature. One of our other goals was to let speakers know who was interested in their content. We could have used CTAs with over 100 speakers. It felt like way too much tedium and a lot to track. So what I ended up doing was I used HubSpot's custom event tracker. I set up a really simple customer event custom event that would track whenever someone clicked Connect me with to track that I used the event I just set up as a trigger to start a new workflow. When the workflow was triggered, it would post a zapier webhook which would then collect the contact properties for the active page viewer and we could then pull in the name of the contact, what page they were on, what button was clicked, and their email all in real time. We then alerted the speaker that they had a connection request and who it was from in order for all of this to work. There was one more thing that we had to figure out though. Since we didn't start off using the HubSpot membership add on, there was a slight disconnect to how we were going to get registrants into the day of the event we had already emailed these people based on what we thought thought the login process was going to look like based on that other platform. So we tried to figure out a way to avoid confusion for the people already registered, while also allowing an easy way for people to access the event on the day of. Again, there is a concern that people would be confused. They might say hey, didn't I already registered? Why am I doing this again? Content had to be gated because we were relying on so much personalization, but we didn't want to require anyone to set up an account because they felt that it would be too much of a disconnect based on what we had already advertised. So it wasn't really until the 11th hour that I thought about email gating the password prompt page. And this is how I did that. When you use a password access prompt in HubSpot, in some ways it behaves like a membership site where once you access the page with the correct password, a cookie will remember that you have accessed it and not ask you again. Unless you clear your cookies or view the page incognito, the user isn't creating an account. Since we were already using HubDB to load the entire site, only one page needed to be password gated. So I modified the password prompt page with the same form that we used for Reach registrations. If you had filled out the form already and hadn't cleared your cookies, all of your info would be Pre populated into HubSpot. A callback on form submit would then hide the top heading and provide you with a password that you would then enter into the prompt and voila, access to Reach is granted. This was really a great solution for pre registering and for new day of registrations. Team was very happy. So Reach day is finally here and the response is great. It felt really really seamless. People are sharing on social, the speakers are happy. No frustrated users trying to access Reach but can't get in and nothing seems to be breaking. So a couple of results and takeaways. We had about 57 hours of video content from over 150 speakers. We had 3,000 registrations and 1,500 plus people accessed the event on the day of. We had about 300 new contacts. People who didn't previously register and were not in our CRM prior to this date had their first contact with us through Reach. We saved thousands of dollars. Our leadership team loved the experience. Ultimately we were able to save over 10k by building this out on HubSpot rather than retaining services of a third party tool and at the end of the day, we ended up with an evergreen asset that can be improved upon and shared on the fly. So that is how I built Reach 2020. If you have any questions, I'm available all the time in the developer's lab. Thank you for listening and have a great day.










