
Is Your HubSpot Data Clean Enough to Use AI On?
One of the most common points of friction when organizations try to implement AI features inside HubSpot is discovering, mid-build, that the data is not in the shape they assumed it was. Fields that should be populated are blank. Records that should be associated are not. Data entered by staff members over several years follows different conventions depending on who entered it and when.
This is not a reason to avoid AI features. It is a reason to assess your data before you build, rather than after.
The good news is that the bar for data readiness is not perfection. It is consistency and accessibility. A dataset that is 80% complete and consistently structured will support a useful scoring system. A dataset that is 100% complete but formatted inconsistently will produce unreliable output. Understanding the difference between those two problems — and knowing which one you have — is the starting point.
What the Data Agent Actually Needs
HubSpot’s data agent works by pulling information from contact records and associated records, feeding that information into a prompt, and producing an output. The quality of that output depends directly on the quality of the information going in.
There are three things the data agent needs from your data to work reliably.
The first is accessibility. The data needs to exist in a place the data agent can reach. Information stored in a contact property is accessible. Information stored in a PDF attached to a note, or in the text of an email conversation, or in a spreadsheet outside HubSpot, is not — at least not without additional configuration. Before building a scoring system, map out where each relevant data point actually lives and confirm it is in a structured field the data agent can pull from.
The second is consistency. The data agent reads field values and interprets them. If giving history is recorded as dollar amounts in some records and as giving tier labels in others, the prompt cannot treat them the same way. If event attendance is tracked as a checkbox in some records and as a list membership in others, the aggregated view will not reflect it uniformly. Inconsistency in how data was entered creates inconsistency in how the data agent can use it.
The third is association. For a fundraising use case, much of the relevant data lives not on the contact record itself but on associated records — giving records, event records, family relationship associations. Those associations need to exist in HubSpot and be properly configured before Data Studio can pull them into the aggregated view the data agent draws from. What is HubSpot’s data agent and what can it actually do? covers how the data agent accesses associated record data in more detail.
How to Assess Your Data Before You Build
A data readiness assessment does not need to be a lengthy project. For most organizations, a focused review of the fields and objects that matter most for the intended use case is enough to identify where the problems are.
Start with the data points you plan to include in the scoring logic. For donor scoring, that typically means giving history, event attendance, family relationships, and communication preferences. For each of those, ask three questions: Is this data in HubSpot? Is it in a structured field the data agent can access? Is it entered consistently across records?
The answers will fall into one of three categories. Some data will be clean and ready to use. Some will need cleanup — standardizing formats, filling gaps, correcting inconsistencies — before it can be used reliably. Some will not be in HubSpot at all and will need to be imported or tracked going forward.
Knowing which category each data point falls into lets you make a realistic decision about what to include in the initial scoring prompt and what to add in a later iteration. How to build a donor scoring system inside HubSpot covers how to make those scoping decisions when building the prompt.
Common Data Problems in Fundraising CRMs
In the work FSM has done with fundraising organizations, a few data problems come up consistently. Knowing what to look for makes the assessment faster.
Giving history entered by multiple staff members over multiple years often has formatting inconsistencies. Gift amounts might be recorded as numbers in some records and as ranges or tier labels in others. Gift dates might be stored in different formats. Currency fields might include or exclude symbols depending on when the record was entered. These inconsistencies are usually fixable, but they need to be identified and standardized before the data agent runs.
Event attendance is frequently tracked in a way that is useful for human review but not easily accessible to an automated system. A list membership approach — where attending a specific event means being added to a specific list — works for manual filtering but does not aggregate cleanly into a scoring view. Depending on how attendance has been tracked historically, this may require a consolidation step before it can be included in the data agent’s input.
Family and household relationships are often the most inconsistently structured data in a fundraising CRM. Some organizations track these as associated contacts. Others use custom properties. Others rely on notes and tags that are not machine-readable. Before including relationship context in a scoring prompt, confirm that those relationships are represented in a structured, associated format that Data Studio can pull from.
Opt-out and suppression data is critical to get right. If a contact has asked not to be solicited and that preference is recorded in a way the scoring system cannot reliably read, that contact may receive a high-priority designation and end up in an outreach list they should not be on. Confirm that suppression signals are stored in a consistent, accessible field and build them explicitly into the scoring logic. Why fundraising teams lose ground when donor prioritization is manual covers the operational consequences of these gaps.
When Good Enough Is Actually Good Enough
There is a version of data perfectionism that stalls implementation indefinitely. Every assessment surfaces gaps. Every gap feels like a reason to wait until the data is cleaner. The result is that nothing gets built because the data is never quite ready.
The practical alternative is to build on what is reliable and be explicit about what the system cannot yet account for. A scoring prompt that uses three strong, consistently populated data points will produce useful output even if two other relevant data points are not clean enough to include yet. The team knows what the score is based on. They can apply their own judgment for the cases where the missing data would have made a difference.
Over time, as data quality improves, the scoring logic can be updated to include additional signals. A scoring system built on partial data that runs and produces value is a better outcome than a perfect scoring system that never gets off the ground because the data preparation phase never ends.
The question to ask is not whether your data is perfect. It is whether the data you have is good enough to produce output that is more useful than what the team has right now. For most organizations with a mature CRM and several years of donor data, the answer is yes. Your CRM has the data — so why can’t your team act on it? looks at this from the other direction — why usable data often goes unused even when it exists.
Getting Started
If you are planning to build a donor scoring system in HubSpot and are not sure whether your data is ready, the practical starting point is a field-by-field review of the data points you intend to use.
Map each data point to a specific HubSpot field or object. Check a sample of records to assess consistency. Confirm that associated records are properly linked. Identify the gaps and categorize them as fixable now, fixable over time, or requiring a new data collection process.
That assessment will give you a clear picture of what you can build today and what will need to wait. In most cases, it will also reveal that more of the data is usable than initially assumed — it just needs some cleanup and standardization before the data agent can work with it reliably.
Your donor database is full of answers — here is how to find them covers the full picture of what a donor prioritization system built on clean, accessible data looks like. And if you want to hear how FSM approached this for a university fundraising team working with 100,000-plus records, the AI in Action episode on donor data and HubSpot’s data agent covers the data work that preceded the build.
Listen to the full podcast episode here.