Marketing 103: Event Checkin

Harsha Srikara
acmutd
Published in
11 min readMay 25, 2022

How I designed a system to measure event attendance for hundreds of users

The Association for Computing Machinery UT Dallas Chapter hosts hundreds of events every year. As the largest student organization on campus, our team puts on a extremely diverse set of events. These range from industry talks by our sponsors, workshops on various technical topics, formal presentations by our teams that work on semester long projects and more! Our larger events like kickoff and popular industry talks usually have hundreds of attendees eager to engage with the organization. Members gain many professional opportunities like internships, learning outside the classroom and the ability to network through attending events.

ACM event attendees.

Event Checkin Part 1 | The Backstory

In the first few years since ACM’s inception most events were put on by the same team. A much smaller organization with more niche goals allowed for a dedicated team of students to regularly organize almost all events → hackathons, workshops, industry talks and more. This ensured consistency in planning events. Content creation (making slides, preparing workshop material), marketing (creating flyers, sending promotional emails), logistical execution (reserving rooms, technical setup) and more had a centralized process. Similarly, checking event attendance too had a well defined process. Student organization officers would reserve card scanners and use it scan the University ID (Comet Card) for all attendees. It was very common when attending an event to spot an officer or two at the door scanning in members.

As the organization continued to grow over the years, the aforementioned system began showing cracks and failed to effectively scale. Part of the challenge was that our events grew more popular and as attendance increased we needed a proportionally larger team handling check-ins. One of the last events that used a manual review process where students had to show their University ID card to checkin was at HackUTD in Fall 2019. It took upwards of two hours for over 10 officers to check-in nearly 700 students. Manual check-in simply was no longer an effective solution for our organization. Furthermore, as we continued to host more diverse events, different internal teams began to form that specialized in specific types of content delivery. Although some standard process was shared, not all teams felt the need to check-in students. Some teams felt that the overhead to conduct this activity was too large and there wasn’t a sufficient return on investment to assign officers to reserve equipment and be on-hand to check-in members during an event.

Manual check-in with comet card at HackUTD VI.

Event Checkin Part 2 | The Need

Why is event check-in important? What do we do with that information? What happens if we don’t do it?

As a student organization our primary directive is to create meaningful value to students in the form of delivering opportunities. To do this our team invests significant effort into designing technical and learning content, contacting and setting up events with external organizations and more. However, for us to be able to deliver the best experience to students and work efficiently we need data on what types of events students are interested in, the projected attendance, and even the preferred times that students are able to attend. It makes little sense for our team to spend weeks organizing an event if there is no demand for it.

ACM Fall 2021 Kickoff

Checking event attendance allows us to collect the following information to better plan events.

  • Calculate total attendance for an event. This allows us to reserve rooms of the appropriate size & if applicable order sufficient food for similar future events.
  • Verify attendance for specific individuals easily. Students are often required to attend / volunteer at events for a class or organization & recording attendance allows us to check and confirm a student’s presence at an ACM event.
  • Perform event reporting. At the end of each semester & each academic-year we collect statistics from all our events for reporting purposes. This includes documenting it for the yearbook, submitting it to UTD when necessary and more.

A final benefit of designing an event check-in system is to be able to setup higher order programs within the organization as a benefit to our members. The data collected would allow us to create more refined membership programs and design incentive-based marketing strategies. More information about how the event check-in system is integrated into our membership program is covered in Section 7.

Event Checkin Part 3 | Pain Points

To identify the design requirements for a new system we need to first list the pain points and challenges faced by the older manual process. Additionally we need to scope out the context that this system would operate in to ensure the successful scalable operation of the event checkin system. The most common challenges faced were as follows:

  • We needed to bring in equipment (card scanners) that had to be reserved in advance. This introduced logistical challenges for events that were smaller or planned in the short term.
  • We needed to have officers assigned for each event solely for checking in students. The larger the event the more students would be required.
  • The checkin process was sequential and took up a long period of time. If we had 2 officers / 2 card scanners then only two students could be checked in at any given point in time. This would result in long lines or backlogs.
  • Event attendance records were only accessible to officers. Attendees had no way to confirm that their attendance was successfully recorded without emailing the ACM team.
Photo by Arisa Chattasa on Unsplash

Up to Fall 2019, sporadic events hosted by ACM used to have check-ins. However, the frequency of events being hosted fast outstripped the organization’s ability to continue with a manual process for recording event attendees. Additionally, with the onset of the COVID-19 pandemic in Spring 2020, the check-in process was halted entirely since there was no process for recording participation in virtual events.

Event Checkin Part 4 | Design Requirements

Over summer & fall 2020, we began brainstorming different ways to design a new system for handling event attendance. Our first goal was to define a concrete set of requirements that would ensure this new system could be used easily throughout multiple semesters. We settled on these core functional goals for the MVP:

  • Support checking in students for both in-person and virtual events.
  • Not require any custom physical devices (card scanners) for an event
  • Allow members to initiate the check-in process (and thus support an indefinite number of concurrent checkins)
  • Allow officers to create events at short notice and get people checked in
  • Members should be able to verify their attendance for an event in a self-serve manner
  • Member should be able to check-in quickly and be asked a minimum number of questions

A system design that allows for members to initiate the check-in means that its important for the process to be as effortless as possible. This is because if members find the process too cumbersome or slow they may not check-in to an event at all.

In addition to these functional goals, as with any good system design, we also needed to adhere to some strong non-functional goals. These goals do not pertain to the direct features of a new service but rather the environment that it operates in. These include the system being easy to use, being available 24/7 (with virtual events the times can often be later than in-person events), and using minimal resources (cost and development effort).

Development efforts for a check-in system began over Winter 2020 as one of the MVP features for the release of the ACM Portal during the Spring 2021 kickoff. The ACM Portal is a web service designed to house the most commonly used tools for members & officers to engage with the student organization. This includes setting up their profile, checking into events, and applying for various programs offered by ACM. Throughout the Spring 2021 semester the ACM Portal along with the event check-in system was used independently by various teams in the student organization. Out goal was to gauge its effectiveness before formalizing it as a standardized attendance collection technique for upcoming semesters.

Event Checkin Part 5 | How it works

Creating an event is a quick and straightforward process for officers. Start by navigating to https://portal.acmutd.co/event. This opens up a typeform that serves as an entry to accessing the event creation service.

Event Creation Typeform secured at https://portal.acmutd.co/event

As seen above, this typeform is already context-aware about the officer accessing the resource → harsha.srikara@acmutd.co (me). This is done through protecting the page via Cloudflare Access and ensuring that only authenticated officers can access this form. We take several measures to ensure the security of resources at ACM and more information about it can be found in my article about the Vanity Link Generator.

Adding name of event

This typeform asks a couple of necessary questions to add event tracking for the portal. This includes the name of the event, the date of the event, the url to be created for the event, and finally whether the event is open to all ACM members or not.

Adding event date

Although the date is not used when checking into events, it serves as an important field when performing end-of-semester and end-of-year reporting. By storing the event date as a timestamp in our database we are able to easily filter out the set of events between different date ranges. This allows us to efficiently calculate metrics for event attendance and student engagement over the course of just a week, a complete month, a full semester or even an entire year.

Adding event url path

The event check-in feature makes use of a handy feature with React Router known as nested routes. Instead of changing the code each time we wanted to create a new path for a checkin link, we make use of wildcard routes. Thus, when a user navigates to any endpoint that begins with https://portal.acmutd.co/checkin/<endpoint> the application checks Cloud Firestore to see if there’s an event with a matching URL path. If a match is found then the user is able to checkin to the event.

Adding public event status

The final question asks whether the event is open to all members. Not all events created via this service are open for everyone or used for membership eligibility. Some events are officer-only town halls, meetings, demos, and other miscellaneous use-cases. When performing end-of-year/semester reporting, this field allows us to rapidly filter out the events that are not relevant and only use public events for calculating metrics.

Once all the fields have been filled out and submitted, the data is saved to Cloud Firestore & retrieved when members attempt to check in to an event.

Confirmation Email for creating an event

Completing the form to create an event results in a confirmation email from Sendgrid as well as a confirmation slack message. More information about how we manage workflows for effective email and slack integration are covered in my article about the ACM Application System.

Event Checkin Part 6 | Let’s Checkin

Checking into an event is really simple. When we host an event, towards the end we will share a QR code that redirects to the checkin link we just created or just directly post the link in chat for a virtual event. Since the portal has persistent sign in (think Facebook or LinkedIn where you aren’t required to sign in every time you open the website), users are automatically signed in and do not need to manually add any information about who they are when checking in.

Event checkin code snippet

On the event checkin page, a React UseEffect (code that executes in the background) runs and makes an api call the backend to check the user in. You’ll notice that the api call only takes in two pieces of information → the url path (eg. /checkin/medium) and the authenticated user’s token. The backend extracts the user’s identity directly from their authorization token preventing any form of malicious checkin activity. It is impossible for any user (even ACM officers) to check someone into an event without gaining access to their login credentials.

To check the user in the backend updates the user’s profile document with the event details and the event document with the user’s details in Cloud Firestore. This allows us to easily find the list of all events that a member has attended as well as quickly find out the list of all attendees for an event without any additional computation. To check into the event we created for this article go to https://portal.acmutd.co/checkin/medium and give it a try!

Confirmation Page.

Congrats! You’ve just checked into an ACM Event! Members with a completed profile on the ACM Portal can review the events that they have successfully checked into by opening https://portal.acmutd.co/profile. This running log of all events makes it convenient for members to easily verify their participation.

ACM Portal Profile Page with Event Log

Event Checkin Part 7 | ACM Membership

After a successful stint over the Spring 2021 semester, this event checkin system emerged as a leading way to lay the foundation for ACM’s Membership Program. By being able to track students’ event attendance over the course of a semester it allowed us to create a higher order membership program.

Earlier iterations of the ACM Membership Program involved members paying dues to get access to member shirts and other opportunities. However, it was extremely challenging to keep a log of who was an ACM member and offer them access to first-come-first-serve opportunities.

Through the ACM Portal, it was a new and easy-to-use source of information to quickly filter students who had been active in attending ACM events, applying to ACM roles & engaging with the student organization. This led to the revised definition of an ACM member → join one of ACM’s programs (Projects, Research, Education) or attend 5 events each semester. See our article on becoming an ACM member to learn more about joining as well the perks and exclusive opportunities available to you!

ACM Membership Program

Since its completion, the ACM Event Check-in system has been used at 100+ events, checked in 1000+ members and recorded attendance thousands of times (as of Spring 2022). If you’re attending an ACM Event make sure to keep an eye out for a checkin link or QR code! If you’re interested in learning more about other infrastructure within ACM, check out my articles on the Vanity Link Generator and the ACM Application System!

ACM Fall 2021 Wrapup.

--

--