Multi-checkbox properties in HubSpot are versatile tools for tracking everything from event attendance to service interest. However, collecting data is only half the battle—using it effectively is where the real value lies.
For a client with over 12,000 contacts and eight past events, I faced a challenge: how do we identify high-value attendees quickly to boost last-minute ticket sales? Here’s how I transformed multi-checkbox data into actionable insights that generated $76,095 in ticket revenue.
Why convert multi-checkbox properties?
You’re probably asking yourself, why would you even need to do this? Surely, you could just pull a list of contacts who have Events A, B, C, and D marked as attended in their property, right?
That was my first thought too—you shouldn’t need to do this. But much like the missing “Today’s Date” property, HubSpot has its quirks that keep things exciting.
The Problem
HubSpot’s multi-checkbox properties store values as text, which makes them great for collecting data but less effective for advanced segmentation. Let’s break it down:
- Scenario: You have a multi-checkbox property called “Services Interested In” with 10 possible options. A contact indicates interest in 4 of them.
- Manual Solution: For one contact, you can easily identify their interests. But what about 10,000 contacts?
- The Challenge: Building lists for all possible combinations of 4 services would require 210 different lists—just for this one segmentation!”
This limitation becomes even more problematic at scale, especially for dynamic campaigns targeting multiple interest levels or event attendance. That’s where converting this data into a numerical property becomes a game-changer.
The Requirements
With nearly 12,000 contact in their account, we worked with them to identify contacts who attended a majority of these past events and deliver them discounts on tickets via workflows and marketing emails. The result with nearly an additional $70,000 in Ticket Revenue over a 1.5 month period for a single event.
With nearly 12,000 contacts in their account and years of data accumulated, I sought out a solution that would allow us to quickly and easily pull lists of contacts who’ve attended a specific number of events in order for us to use those lists in future marketing efforts.
I needed a system that:
- Was simple to maintain
- Ran in the background
- Automatically increase the “Number of Events Attended” whenever a new event is logged in the Event Attended Property.
The Solution: Turning Multi-Checkbox Data into Numbers
With HubSpot’s Operations Hub Professional, I used custom code in a workflow to transform multi-checkbox data into numerical outputs. Here’s how I did it.
Step 1: Define/Create Your Input and Output Properties
The first step was to define the data I needed to process and where to store the results:
- Input Property
- Multiple Checkbox Property
- Name: “Event Attended” (event_attended).
- Used to track event attendance.
- Output Property
- Number Property
- Name: “Number of Events Attended” (number_of_events_attended__numeral).
- Used to store the total count of events attended.
Step 2: Build the Workflow Framework
Before writing the code, I created a workflow to test and implement it. The workflow itself is pretty straightforward. It’s a simple trigger followed by two steps. The first is where our custom code will go to generate an output, and the second is where we’ll take that output and apply it to our Numbers of Events Attended Property.
- Trigger: Contacts with the “Event Attended” property known.
- Action 1: Custom code to count selected checkboxes. (You can leave this empty for now)
- Action 2: Update the “Number of Events Attended” property with the output.
Step 3: Write and Test the Code
Since I’m not as fluent as I’d like in JavaScript, I collaborated with ChatGPT to create the custom code:
Explain the Goal: I outlined the inputs (multi-checkbox property) and outputs (numerical property) to ChatGPT, explaining what I needed and what the expected outcome was.
Iterate the Code: What followed was a bit of back and forth with ChatGPT as I was testing and refining the code. Remember to use the exact internal property name in your code. This small detail caused initial confusion during testing but was quickly resolved.
After some further refinement, we ended up with our code.
Step 4: Implement and Run the Workflow
I placed the code into the workflow, ran the workflow on a test contact, and anxiously waited for the couple of seconds it took to refresh my other screen to see if the Number of Events Attended Property had been updated.
SUCCESS! After a quick celebration with Chat, I hopped back into HubSpot and ran the workflow for all contacts.
What resulted was a quick and easy way to pull lists of contacts based on the number of events attended to run marketing campaigns offering them discounted tickets for future events.
The Results: $76,095 in Ticket Sales
This approach didn’t just save time—it transformed data into $76,095 in revenue in just two months. By segmenting high-value contacts, we unlocked new opportunities for targeted campaigns and future growth. The results speak for themselves:
- 64 Individual Tickets Sold
- $76,095 in Total Revenue
- 2-Month Campaign Period
This simple yet strategic approach turned historical data into actionable insights, driving significant ticket sales and proving the value of tailored segmentation.