Capstan Works

When Three Fields Claim the Same Truth: Fixing HubSpot Attribution by Consolidating Source Properties

Published June 13, 2026

TL;DR: Attribution in HubSpot usually fails for a boring reason, not a modeling one: the answer to “where did this contact come from” is split across three or four partially populated properties that different teams created at different times. When lead_source, original_source, and a custom how_did_you_hear_about_us field each hold a fragment, no single field is trustworthy, and any report or routing rule built on one of them is acting on a partial picture. The fix is property consolidation: inventory every field that claims to answer the same question, pick one canonical field, define its allowed values, and migrate the others into it with a documented mapping. This is a data-architecture problem with a data-architecture solution, and it is one layer of a complete foundation audit.

Attribution is a data-structure problem first

Most teams treat weak attribution as a measurement problem and reach for a new model or a new tool. The real defect is usually upstream of any model. If three fields each partially answer “how did this contact originate,” the model has no clean input to read, and a better model on a fragmented input still produces a fragmented answer.

The pattern is easy to recognize once you look for it. A portal accumulates a HubSpot default source property, then a marketing team adds lead_source for campaign tracking, then a sales team adds how_did_you_hear_about_us to a form, and over two years each field gets populated for some records and left blank for others. No field is wrong. No field is complete. The truth is smeared across all of them.

Why the smear is expensive

A split source field corrupts the one number marketing exists to defend: which channels produce revenue. When attribution data lives in three fields, a channel report built on any single field undercounts, because it only sees the records where that particular field was populated. The result is a report that looks precise and is quietly partial.

The cost is the same erosion of trust that poor data quality produces everywhere. Gartner has estimated that poor data quality costs organizations an average of $12.9 million per year (Gartner, 2021). Attribution is where that erosion is most visible to leadership, because it is the data a CMO is asked to defend in front of a board, and “the number depends on which field you read” is not a defensible answer.

Source fragmentation also degrades account-based targeting. An ICP fit or intent view that depends on knowing how accounts entered the funnel cannot segment cleanly when the entry signal is scattered, so the ABM motion inherits the same partial picture the channel report has.

The consolidation method

Consolidation is a finite, repeatable pass. The goal is to end with one canonical source field that every report, workflow, and routing rule reads, and a documented history of how the legacy fields fed it.

1. Inventory every field that answers the same question

List every property, across contacts and companies, that claims to capture origin or source. Include the HubSpot default source properties, any custom lead_source or channel field, and any free-text “how did you hear” field. For each, record its population rate, its field type, and whether anything currently reads it (a report, a list, a workflow). A field nothing reads is already a retirement candidate.

2. Choose the canonical field and define its values

Pick one field to be the single source of truth. Prefer a field with a controlled set of enumeration values over a free-text field, because free text cannot be reported on reliably. Write the allowed value list and a one-line definition of each value, so “Organic Search” and “SEO” and “Google” stop being three labels for one thing. This value dictionary is the artifact that prevents the next round of drift.

3. Map the legacy fields forward

For each legacy field, write an explicit mapping from its values into the canonical field’s values. Free-text fields require a normalization pass: cluster the variants, map each cluster to a canonical value, and route anything ambiguous to manual review rather than guessing. The mapping is documented so that a later analyst can see exactly how a record’s canonical source was derived.

4. Migrate, then retire

Populate the canonical field from the mapping, lowest-confidence records flagged for review. Once the canonical field is complete and verified, mark the legacy fields read-only or retire them, so no workflow writes to a field that no longer carries the truth. Retiring the old fields is what makes the consolidation durable; leaving them writable invites the smear to return.

This source-property work is one slice of the property-architecture layer in our HubSpot Data Foundation Audit methodology, which inventories every property by object and classifies each as active, dormant, or dead. Source fields are the most common place that classification pays off, because they are the fields teams duplicate most.

How this connects to the rest of the foundation

Source consolidation rarely stands alone. The same duplicate-record problem that splits behavioral history also splits source data across the duplicates, so deduplication and source consolidation reinforce each other, a relationship covered in our deduplication method. And because workflows frequently write to source fields, a consolidation that does not first map which automations touch each field will be overwritten within a quarter, which is the workflow-dependency problem described in workflow sprawl.

The takeaway

If your attribution answer changes depending on which field someone reads, you do not have a measurement problem, you have a property-architecture problem. Inventory every field that claims the same truth, choose one canonical field with a defined value set, map the legacy fields forward with a documented crosswalk, then retire the old fields so the truth stops smearing. Do that and your channel report becomes a number you can defend, and your account targeting finally reads from a clean entry signal.

If two reports disagree about where your pipeline came from, that is the symptom this method exists to cure. Start with a Data Foundation Audit, where source-property consolidation is part of the property-architecture layer we run before anything is built on top of it.

Sources

  1. Gartner, “Data Quality: Why It Matters and How to Achieve It” (Gartner 2021 estimate that poor data quality costs organizations an average of $12.9M per year): https://www.gartner.com/en/data-analytics/topics/data-quality
  2. HubSpot Knowledge Base, “Create and edit properties”: https://knowledge.hubspot.com/properties/create-and-edit-properties
  3. Anonymized HubSpot property-architecture audit (no client name, no portal identifiers).

← Back to all field notes

Start with the data layer.

Most HubSpot problems are data problems wearing a reporting costume. A Data Foundation Audit turns “the numbers feel off” into a prioritized, fundable backlog.

Explore the Data Foundation Audit