Account-Based CRM · AIHR
Connecting the full customer relationship in HubSpot
At AIHR, one customer could have several company records, licenses, deals, and service projects in HubSpot. Those records weren't consistently connected, which made it difficult to see the full relationship and report on retention.
I led the project to connect them through a custom Account object, including the data model, historical cleanup, and workflows. I also added weekly checks to flag duplicates and missing links after launch.
September 2026: the core setup is live.
Why the existing records weren't enough
The data was already in HubSpot, but there was no consistent way to group everything that belonged to the same customer. A deal showed part of the relationship. A license showed another part. Parent companies and subsidiaries added another question: which records belonged together?
That made retention reporting difficult. Before the data team could calculate it at account level, they needed a reliable way to identify the customer across current and historical records.
How I approached it
Define what belongs to an Account
I started by defining what an Account represents and how the records should connect. One Company record didn't necessarily represent the full customer relationship, so duplicates and parent-child relationships needed review before the historical records could be linked.
Connect the historical data
I backfilled the Account layer across active and historical B2B customers. Keeping the older licenses connected mattered because retention reporting needs the history as well as the current contract.
Build the paths for new records
I built workflows to create or find the right Account when new licenses and professional services are added, and to link deals to it. The associated Company provides the matching point between records.
Add checks for missing links
New records keep coming in after launch. I added a weekly review to catch possible duplicates and missing associations, so exceptions can be investigated as they appear.
What's in place now
The Account object groups companies, licenses, deals, and professional services under one customer relationship. Three automated paths link new records to Accounts.
That gives the data team a consistent customer identifier for account-level retention reporting.
Keeping the data connected
Each week, I run a check that compares new Accounts with the full account base. It looks for possible duplicates and parent-company relationships using names, domains, and previously reviewed relationships.
The review also flags licenses and professional services without an Account, and signed deals where expected service records are missing. Claude helps me assess the exceptions and put the findings in context.
If the source data is incomplete or the candidate list exceeds the expected range, the run stops for investigation. I review the findings before making changes in HubSpot. The check itself doesn't merge records or change associations.
Technologies used
Stack
Related services
How I can help you with this
HubSpot automation
Workflows that handle the busywork so your team can focus on selling.
HubSpot consultancy
Sparring partner for your operational, tactical, and strategic HubSpot questions.
Custom object development
Data structures that match how your business actually works.
Hard to see the full customer picture in HubSpot?
Tell me how your customer records are set up and what you're trying to report on. I can help you work out where the gaps are and what needs to change.