Association labels are HubSpot’s most under-thought feature. Teams ship 14 labels on Contact-to-Deal in week one, then nobody knows whether “Decision Maker” should also imply “Champion.” A year later, the labels are noise. Here’s how to design them so they stay useful.
Start with three labels per association, never more
For Contact-to-Deal, use Economic Buyer, Champion, User. For Company-to-Company, use Parent, Subsidiary, Reseller. Three is the cognitive limit a sales rep will respect at the speed they actually work.
Make labels mutually exclusive where possible
If a contact can be both a Champion and a Decision Maker, your reports will double-count. Define an enforcement rule: “Champion and Economic Buyer cannot coexist on the same contact-deal pair.” Document it in a workflow that flips one off when the other is set.
Use the API to enforce, not the UI
Reps will not consistently apply labels through the right-rail UI. Instead, write a custom code action that infers labels from existing properties:
// Pseudo: in custom code workflow action
const role = contact.properties.jobtitle.toLowerCase();
if (/cfo|vp finance|controller/.test(role)) {
return { associationLabel: 'Economic Buyer' };
}
if (/manager|director/.test(role) && contact.engagement_score > 50) {
return { associationLabel: 'Champion' };
}
Inferred labels stay consistent. Manual labels rot.
Label the Company-to-Deal axis too
Most teams label Contact-to-Deal and forget the Company side. For multi-entity accounts (parent + 4 subsidiaries), labeling which company unit owns the deal prevents revenue double-counting in your forecast.
Reserve one label for risk
Add a Blocker label on Contact-to-Deal. Reps love marking who’s slowing the deal. Surface it on the deal record’s smart card as a red flag count. This single label drives more rep adoption than the other twelve combined.
Audit quarterly, prune ruthlessly
Run a report each quarter: count of deals using each label. Any label used on under 5% of deals gets retired. Survivor bias is the goal.
What to do this week
Cut your association labels down to three per object pair. Add one custom code action that infers Economic Buyer from job title. Re-baseline reporting in 30 days.