There was a time—not long ago—when my HubSpot contact records were a tidy little shrine to the singular MQL event. One form fill. One demo request. One glorious moment where someone raised their digital hand, and boom—MQL fields lit up like a Christmas tree.
We had:
- MQL Date (when it happened)
- MQL Type (what kind: demo, poll, chat, etc.)
- MQL Source (where it came from)
- MQL Details (conversion page, campaign flavor, vibe check)
If a deal popped up within 90 days? I piped that data in too. It was scrappy. It was decent. It was… constantly overwriting itself.
Spoiler: That sucks.
Picture this: someone requests a demo via the live chat in May. Then they request a demo in July. Great! But wait—now our MQL fields just rewrote history. The contact is now “demo” with a July date, and everyone’s memory of May? Poof. Gone. Now sales is confused, marketing is furious, and I’m somewhere in a corner whispering “there has to be a better way” into my coffee.
We tried patching it. I created a First MQL Date field. We considered just living with the chaos. But eventually, we realized it was time to do the thing we’d been avoiding:
Custom. Freakin’. Objects.
Enter: my favorite reckless decision. I didn’t overthink it. I didn’t use the sandbox (don’t be like me). I just… did it. And suddenly, we could create a record for every single MQL action. Not just the latest one.
Now? We have a living, breathing history of engagement. I can pull in:
- What tech the account was using at the time
- Their lead score in that moment
- Sector, role, revenue
- Literally whatever else I want
It was messy at first. HubSpot asked me things like “what’s your primary property?” and I just stared back blankly, because I skipped the manual like a true gremlin. Eventually I learned:
- Primary Property = the big bold thing you see on the left (e.g., company name)
- Secondary Properties = all the extra spice (domain, job title, etc.)
- Association Labels = the relationship context (like “primary company” on a contact)


Now that I (kind of) knew what I was doing, I built it. A workflow to auto-create a new MQL record for each conversion, carry over the context, and attach it to the contact and company. I even snuck in the account owner and sector info for fun.
At first, I only associated MQL records to contacts. But then the lightbulb went off. What if we used this to track every conversion across the funnel and mapped it to companies, deals and events (more on this saga to come)? What if we mapped all our old MQL fields AND MORE into this shiny new format and finally stopped arguing about who changed the date field last?
Iteration 1 complete.
And just like that, our ops team went from overwriting MQLs to capturing full conversion stories—with receipts.


Leave a comment