A A
ARTIS Systems
Automated Reliable Tech Integrated Solutions
HubSpot CRM Audit Report
Prepared for ████████████████████ · March 2026
Total Records 2,818
Objects Audited 4 (+ Schema)
Fields Reviewed 198
Total Findings 50
Critical Findings 13
✅ All Objects
✅ Contacts — 1,241 records
✅ Companies — 387 records
✅ Deals — 876 records
✅ Tickets — 314 records
📊 Portal Health Score
Contacts
87
/100
B+
✓ Strong: Email fill rate 93%. Low duplicate rate — 38 confirmed pairs across 1,241 records. Lifecycle Stage distribution reasonable with 64% of records at MQL or beyond.
✗ Issues: 312 contacts owned by deactivated user ████████ with no automation running. 163 records from a Feb 9, 2025 bulk import contain placeholder Last Name values currently in active outreach. 341 contacts have non-standard phone formats — 17 broken (not dialable). 96 contacts missing Lifecycle Stage entirely.
Companies
95
/100
A
✓ Strong: Domain fill rate 90%. Industry classification at 87%. Only 16 companies with zero Contact associations. Association health is the strongest of any object in this portal.
✗ Issues: 24 companies with duplicate domain names. Employee count stored as free text in 118 records. City fill rate at 56% — borderline for geo-based segmentation. 19 custom properties with no description.
Deals
49
/100
Critical Failure
✓ Strong: Pipeline naming is clean and consistent. Stage names follow a clear progression. 84% of deals have at least one Contact association.
✗ Critical: 526 deals (60%) are missing Amount — forecasting is structurally broken. 0% Close Reason fill across all 398 closed deals — 22+ months of win/loss data absent. 214 open deals (44.8% of open pipeline) are past their Close Date with no stage update. 94 deals assigned to deactivated rep ████████. Rep ████████ Amount fill rate is 6% against a group average of 67%.
Tickets
46
/100
Critical Failure
✓ Strong: Pipeline assignment is 100% complete. Ticket status values are consistent across all 314 records.
✗ Critical: Category fill rate 0% across all 314 tickets — support routing and trend analysis are impossible. 74% of tickets (233 records) have no associated Contact. Source field empty on 76% of records (240 records). 142 open tickets with no activity in 30+ days. 38 tickets assigned to deactivated agent ████████.
Overall Portal
72
C−
Weighted average across 2,818 records. Deals (Critical Failure — 49) and Tickets (Critical Failure — 46) are the primary drag on the overall score, despite representing just 42% of total record volume. Contacts and Companies are healthy but cannot offset pipeline-level failures of this severity. The Deals object is particularly consequential: 60% missing Amount means the majority of deal pipeline is invisible to forecasting. Both Deals and Tickets reflect a pattern of configuration without operationalization — the objects were set up but the required-field enforcement and workflow coverage were never activated. This portal cannot support reliable revenue forecasting or support reporting in its current state.
50
Total Findings
16 Deals · 14 Contacts
13 Tickets · 7 Companies
13
Critical
5 Deals Critical
4 Tickets Critical
4 Contacts Critical
23
Warnings
8 Deals · 6 Tickets
6 Contacts · 3 Companies
14
Suggestions
3 Deals · 3 Tickets
4 Contacts · 4 Companies
526
Deals Missing Amount
60% of all 876 deals
$1.8M+ pipeline blind spot
Forecasting structurally broken
ℹ️ How scores are calculated: Scores are calculated using a deterministic penalty formula applied to actual record data. Each issue type is weighted based on its historical impact on business outcomes. Some issues that appear distinct often share a single root cause — each is scored independently, which means a single governance gap can produce compounding deductions. The score reflects cumulative data quality impact, not the count of distinct root causes. Overall portal score is a weighted average by record count.
Executive Summary

This audit reviewed 2,818 records across Contacts (1,241), Companies (387), Deals (876), and Tickets (314), and identified 50 findings across all four objects. The overall portal score of 72/100 (C−) reflects a portal with a solid foundation in Contacts and Companies that is being undermined by severe structural failures in the revenue pipeline and support operations.

Deals (49 — Critical Failure) is the most severely impacted object. 526 deals (60%) are missing an Amount value, creating a pipeline blind spot of over $1.8M. Zero Close Reason fill across all 398 closed deals means 22+ months of win/loss intelligence has never been captured. One rep, ████████, shows an Amount fill rate of 6% against a group average of 67% — a statistical anomaly reviewed in the Data Inconsistencies & Anomalies section.

Tickets (46 — Critical Failure) reflects a support pipeline that was activated but never operationalized. Category fill rate is 0% across all 314 tickets, Source is empty on 76% of records, and 74% of tickets have no associated Contact. The data exists but is structurally unusable for any routing, trending, or reporting purpose.

These failures are not random. The Organizational Failure Attribution (OFA) section below maps each root cause to the responsible role and provides targeted remediation recommendations.

💰 Pipeline Revenue Impact Analysis
All figures are estimates. Methodology is shown beneath each calculation. Actual recoverable revenue depends on deal quality, rep execution, and remediation pace.
Known Pipeline Value
$1,820,000
350 deals with Amount confirmed · avg $5,200 per deal
Confirmed Closed Won Revenue
$748,800
144 closed won deals with Amount confirmed · avg $5,200
Observed Close Rate
36%
144 closed won / 398 total closed deals
Projected Full Pipeline
$4,551,200
876 total deals × $5,200 avg deal value (est.)
No-Show Re-engagement Opportunity
$21,000
112 no-shows × 10% re-engage rate × $5,200 × 36% close rate
Est. Revenue Left on Table
$984,700
526 missing deals × $5,200 avg × 36% close rate
Total Recoverable Revenue Estimate
$1,005,700
Missing pipeline ($984,700) + no-show re-engagement ($21,000)
60%
of pipeline flying blind
Avg deal value of $5,200 based on 350 deals with confirmed Amount values. Close rate of 36% based on 144 closed won / 398 total closed deals. 10% no-show re-engagement rate applied conservatively. All figures are directional estimates — not suitable for board-level reporting without direct validation.
⏳ Cost of Inaction
New Incomplete Deals This Week
5
estimated deals entering pipeline this week without Amount
Weekly Pipeline Blindness Growth
$26,000
5 new incomplete deals × $5,200 avg deal value
Weekly Missed Revenue Estimate
$9,360
5 weekly deals × $5,200 × 36% close rate
If Nothing Changes
$93,600
estimated revenue impact over the 10 weeks it takes to remediate this portal
Estimated remediation timeline
10 weeks
🗓 Recommended re-audit: June 1, 2026
Based on Priority Queue items at 10 hrs/week remediation pace
Weekly new incomplete deal rate based on 876 total deals / ~104 weeks (2-year portal age) × 60% missing Amount rate. Fix timeline from Priority Queue cumulative effort at 10 hrs/week. Figures are directional.
🏢 Organizational Failure Attribution (OFA)
Every data problem has a human root cause. The findings below trace each failure back to the responsible role or process. CONFIRMED findings are unambiguous from the data. INFERRED findings are educated conclusions — validate with team leads before acting. Suspected fraud, gaming, or intentional misrepresentation is reported in the Data Inconsistencies & Anomalies section.
CONFIRMED — unambiguous from data, attribution is direct  |  INFERRED — educated conclusion, validate before acting
CONFIRMED
312 Contacts on Deactivated User ████████ — Broken Offboarding CONFIRMED
████████ was deactivated but still owns 312 Contact records. No sequences, tasks, or enrollment automations are firing on these records. They are generating zero revenue activity. Responsible: Leadership / Operations. CRM record reassignment was not part of the offboarding checklist. Recommended fix: CRM → Contacts → Filter by Owner → ████████ → Select All → Reassign to an active rep or unassigned queue.
94 Deals on Deactivated Rep ████████ — Broken Offboarding CONFIRMED
████████ was deactivated but still owns 94 open Deal records. No automation is firing on these deals. They are excluded from rep performance tracking and revenue forecasting entirely. Responsible: Leadership / Operations. Same offboarding gap as the Contact issue above — both stem from the absence of a CRM step in the offboarding checklist. Recommended fix: CRM → Deals → Filter by Owner → ████████ → Select All → Reassign. Review each deal before bulk reassignment — some may warrant archival.
38 Tickets on Deactivated Agent ████████ — Broken Offboarding CONFIRMED
████████ was deactivated but still owns 38 open Ticket records. No escalation, response, or SLA tracking is running on these tickets. Responsible: Support Lead / Operations. Same root cause as the Contact and Deal offboarding failures above — a single offboarding checklist gap produced three separate object-level failures. Recommended fix: CRM → Tickets → Filter by Owner → ████████ → Select All → Reassign. Review each ticket — many may already be resolvable and should be closed, not reassigned.
60% Deals Missing Amount — Required Field Never Enforced CONFIRMED
526 of 876 deals (60%) have no Amount value. This is a configuration failure — Amount was never set as required at deal creation. The platform did not prevent deal creation without a value, so reps never filled it. Responsible: HubSpot Admin / RevOps. Recommended fix: Settings → Deals → Properties → Amount → mark as required. This prevents new gaps immediately. Historical records require a bulk data effort — open pipeline first, then closed.
0% Close Reason Fill — 398 Closed Deals, 22+ Months of Win/Loss Data Absent CONFIRMED
Every closed deal across 22+ months has no Close Reason recorded. Close Reason was never configured as required on stage transitions. This is a permanent loss — historical win/loss intelligence cannot be recovered. Responsible: HubSpot Admin / RevOps. Recommended fix: Settings → Deals → Pipelines → edit stage transition requirements for Closed Won and Closed Lost → require Close Reason. All future closures will capture this immediately.
0% Ticket Category Fill — Support Workflow Configured but Never Operationalized CONFIRMED
314 tickets across all pipelines have zero Category classification. The Ticket object was activated but the Category taxonomy was never defined and the field was never made required. Support routing, issue trending, and SLA segmentation are all impossible without this field. Responsible: HubSpot Admin / Support Lead. Recommended fix: Define your Category taxonomy first (e.g., Billing, Technical, Onboarding, General, Bug) — then enforce as required at ticket creation in pipeline settings. Historical tickets will need a manual or bulk update pass.
163 Contacts with Placeholder Last Names in Active Outreach Lists CONFIRMED
A bulk import on February 9, 2025 introduced 163 Contact records with Last Name values of Unknown, N/A, ., or -. These records are confirmed to be in active outreach lists based on their Lifecycle Stage values. Any email using a Last Name personalization token is generating broken or absent salutations for this cohort. Responsible: Operations / Data Importer. Recommended fix: Filter by Create Date = February 9, 2025 → bulk review Last Name values → correct or remove. Block from campaigns until resolved.
INFERRED
Stale Pipeline Accumulating — No Stage Exit Criteria or Review Cadence INFERRED
214 open deals (44.8% of open pipeline — 214 of 478 open deals) are past their Close Date with no stage update. This pattern is consistent with an absence of enforced stage exit criteria and no regular pipeline review cadence. Responsible: HubSpot Admin / RevOps + Sales Leadership. Recommended fix: Configure stage exit requirements. Establish a bi-weekly pipeline review cadence. Consider an automated workflow that flags deals to their owner and manager when a deal is 7 days past Close Date with no activity.
19 Custom Properties Undescribed — Property Created Without Governance INFERRED
19 custom properties across Companies and Contacts were created without descriptions. The pattern — fields added on demand without documentation — is consistent with an absence of a property governance process. When the admin who created these fields is no longer available, their purpose becomes unknown. Responsible: HubSpot Admin. Recommended fix: Document every undescribed property with a description of what it captures, how it populates, and who owns it. Archive fields with 0% fill for 90+ days. Establish a property request process to prevent future sprawl.
Integration Writing Non-Standard Phone Format — Output Never Validated INFERRED
Phone number format inconsistencies across 341 Contact records originate from a sync integration (████████) writing in E.164 format (+1XXXXXXXXXX) while manual entries use local format. The data suggests the integration was configured and the output was never audited post-setup. Responsible: Integration Owner. Recommended fix: Audit the integration's field mapping. Standardize phone format at the integration level, or use a HubSpot workflow to normalize post-sync. Fix the integration source — not just the records — or the issue will recur.
74% Tickets Missing Contact Association — Intake Channel Not Linked to CRM Records INFERRED
233 of 314 tickets (74%) have no associated Contact. This is consistent with a support intake channel that creates tickets independently without checking for an existing CRM record. Responsible: Support Lead / HubSpot Admin. Recommended fix: Review ticket creation workflows and intake channels. Configure ticket creation to auto-associate with existing Contacts by email where possible. For channels that cannot auto-associate, build a manual association step into the support standard operating procedure.
Data Inconsistencies & Anomalies
Statistical anomalies and data patterns that may indicate intentional misuse, gaming of metrics, or deliberate misrepresentation. These findings require validation with leadership before any action is taken. They are flagged here because the data alone is not sufficient to draw a conclusion — but the patterns are significant enough that they cannot be ignored.
Rep ████████ Amount Fill Rate 6% vs Group Average 67% — Statistical Anomaly ANOMALY
Rep ████████ has an Amount fill rate of 6% (4 of 67 owned deals) while the group average is 67% — a variance of 61 percentage points. This is a statistically significant outlier that cannot be explained by deal volume alone. One possible explanation is selective omission — intentionally creating deals without amounts to avoid quota tracking or pipeline visibility. Other explanations include a deal type that genuinely confirms amounts late, or a systematic data entry habit that differs from the rest of the team. Do not act on this finding without direct validation from the rep's manager. If confirmed behavioral, requiring Amount at deal creation (Priority Queue #1) will enforce compliance immediately and prevent recurrence.
28 Deals Advanced Through 3+ Stages With No Amount Ever Entered — Possible Stage Progression Gaming ANOMALY
28 deals have moved through 3 or more pipeline stages without a single Amount value ever being entered. These records show deliberate forward movement through the pipeline with zero revenue data attached at any point. This pattern is consistent with stage progression gaming — advancing deals to inflate activity metrics or demonstrate deal velocity without qualifying actual revenue. It is also consistent with deal types where amounts are legitimately confirmed late. Do not act without reviewing these 28 deals with RevOps and sales leadership. If confirmed behavioral, enforcing Amount as required at deal creation eliminates the ability to advance a deal without a value going forward.
Fix This First — Priority Queue
Up to 10 quick, high-impact fixes ranked by operational impact, revenue consequence, and reporting accuracy. Everything else is in the Action Items workboard below.
#1
CriticalDeals
Require Amount as a Mandatory Field at Deal Creation
526 of 876 deals (60%) have no Amount value — forecasting is structurally broken. This is a single settings change that stops new incomplete deals from entering the pipeline immediately. It does not fix historical records, but it stops the bleeding from today forward. Settings → Deals → Properties → Amount → mark as required.
💥 Revenue ImpactRequire Properties KB
#2
CriticalDeals
Require Close Reason on Closed Won and Closed Lost Stage Transitions
0% Close Reason fill across 398 closed deals — 22+ months of win/loss data has never been captured. This is one configuration change that unlocks structured win/loss reporting immediately. Settings → Deals → Pipelines → stage transition requirements → require Close Reason on both Closed Won and Closed Lost.
📊 Reporting ImpactStage Requirements KB
#3
CriticalContactsDealsTickets
Bulk Reassign All 444 Records from Deactivated Users ████████, ████████, and ████████
444 records — 312 Contacts, 94 Deals, and 38 Tickets — are owned by deactivated users. Zero automation is running on any of them. Bulk reassignment across all three objects restores operational coverage immediately and takes under an hour. All three failures share the same root cause: no CRM step in the offboarding checklist.
💥 Operational ImpactReassign Records KB
#4
CriticalTickets
Define Ticket Category Taxonomy and Enforce at Creation
314 tickets, 0% Category fill. Without Category, no support trend analysis, no escalation routing, and no SLA segmentation are possible. Define the taxonomy first — your categories (e.g. Billing, Technical, Onboarding, General) — then enforce the field as required at ticket creation. Historical tickets need a manual review pass for open ones.
📊 Operations ImpactTickets KB
#5
CriticalContacts
Quarantine and Correct 163 Contacts with Placeholder Last Names Before Next Send
163 contacts from the February 9, 2025 import have placeholder Last Name values and are currently in active outreach lists. Any email using a Last Name token is generating broken salutations for this cohort right now. Filter by Create Date → Feb 9, 2025 → correct Last Name values → resume. This is a quick fix with immediate deliverability impact.
📊 Deliverability ImpactBulk Edit KB
#6
WarningContacts
Merge 38 Confirmed Duplicate Contact Pairs
38 Contact pairs share identical email addresses — confirmed duplicates that will produce double-sends, split activity history, and conflicting Lifecycle Stage values. Run HubSpot's native deduplication tool. Review each pair before merging — the record with more activity history should be the primary. Do not bulk-merge without individual review.
📊 Data IntegrityMerge Contacts KB
#7
WarningDeals
Bulk Amount Backfill on Open Pipeline — 526 Missing Deals
526 open and closed deals have no Amount value. Revenue calculations and forecasting cannot be meaningful without this data. Prioritize open pipeline first: sort open deals by Last Activity Date → contact deal owner for each → enter Amount. For closed deals: work backwards from CRM notes and emails where available. This is a multi-session effort but directionally critical.
💥 Revenue ImpactBulk Edit Deals KB
#8
WarningTickets
Review and Close or Reassign 142 Open Tickets with No Activity in 30+ Days
142 Tickets remain open with no recorded activity in 30+ days. These are inflating your open ticket count and obscuring actual support workload. Review each: resolved tickets that were never marked closed should be closed now. Genuinely stale tickets should be escalated or reassigned. Do not bulk-close without reviewing — some may still be active customer issues.
📊 Operations ImpactTickets KB
#9
WarningDeals
Review and Update 214 Stale Open Deals Past Close Date
214 open deals (44.8% of open pipeline) are past their Close Date with no stage update. These are distorting pipeline velocity, stage duration averages, and forecasting accuracy. Run a dedicated pipeline review: update Close Date on active deals, move stalled deals to a formal lost stage, archive deals with no activity in 90+ days. Configure a workflow that auto-flags deals 7 days past Close Date.
📋 Forecasting ImpactPipeline Settings KB
#10
WarningContacts
Correct Ticket-Contact Association Gap — 233 Tickets with No Associated Contact
233 of 314 tickets (74%) have no associated Contact. Support history, account-level visibility, and any automation triggered by ticket activity on a Contact record are all broken for this cohort. Configure ticket intake channels to auto-associate by email where possible. For existing unassociated tickets, run a manual association pass prioritizing open tickets first.
📋 Operations ImpactAssociate Tickets KB
🗓 Based on Priority Queue items at a 10 hrs/week remediation pace, ARTIS Systems recommends a re-audit on June 1, 2026. A re-audit will confirm fixes are complete, recalculate health scores across all four objects, and identify any new issues introduced during remediation.
Action Items
All remaining findings organized by workstream. A thorough completion of all items below, across all tabs, should produce a 90+ score in each object on re-audit.
Merge Duplicates
Assignee: Ops Lead
Contacts
WarningContacts 38 confirmed duplicate Contact pairs — identical email addresses
38 pairs of Contact records share identical email addresses. These are true duplicates that will cause double-sends, split activity history, and conflicting Lifecycle Stage values. Run HubSpot's native deduplication tool. Review each pair before merging — the record with more activity history should be the primary. Do not bulk-merge without individual review.
38 record pairs · Link to Relevant Knowledge Base Ops Lead
SuggestionContacts Feb 9, 2025 import cohort — dedup review before next outreach
163 records from a single import event. Before including this cohort in any campaign, run deduplication against existing records. Bulk imports frequently create duplicates where a contact already existed with a slightly different email format or name spelling. Also correct placeholder Last Name values before any outreach.
163 records · Link to Relevant Knowledge Base Ops Lead
Companies
WarningCompanies 24 companies with duplicate domain names
24 Company records share domain names with another existing Company record. These split deal associations and inflate account count. Review each pair and merge — the record with more associated contacts and deal history should be the primary.
24 record pairs · Link to Relevant Knowledge Base Ops Lead
Fix Data Types
Assignee: Developer
Companies
WarningCompanies Employee count stored as free text in 118 records
118 Company records have employee count values stored as free text: "50-200", "~1000", ">500", "about 250". These cannot be used in numeric filters, segmentation, or firmographic reporting. Standardize to the native Number of Employees field. Consider a separate Employee Range dropdown for bucket-level segmentation.
118 records · Link to Relevant Knowledge Base Developer
Contacts
WarningContacts 3 enumeration properties with only 1 selectable option
Three dropdown properties — ████████, ████████, and ████████ — are configured as dropdown fields but each has only a single selectable option. A dropdown with one option is functionally a boolean with extra steps. Either add meaningful options or convert to a checkbox or boolean field type.
3 properties · Link to Relevant Knowledge Base Developer
Document
Assignee: Admin
Warning 19 custom properties across Contacts and Companies have no description
19 custom properties were created without descriptions. When the admin who created them is no longer available, their purpose becomes unknown — leading to duplicate creation, misuse, and silent reporting failures. Add a description to every undescribed property explaining what it captures, how it populates (manual, workflow, or integration), and who owns it.
19 properties · Link to Relevant Knowledge Base Admin
Suggestion 2 active deal pipelines missing stage descriptions and exit criteria
Two of the active deal pipelines have stage description fields that are blank. Without documented exit criteria, reps have no shared definition of what qualifies a deal to advance — leading to inconsistent stage use, unreliable pipeline velocity data, and stale pipeline accumulation. Document each stage: what it means, what must be true before advancing, and what fields must be filled.
2 pipelines · Link to Relevant Knowledge Base Admin
Suggestion Ticket pipeline stages missing descriptions — 1 pipeline affected
The Ticket pipeline has stage descriptions that are blank. Support agents have no documented definition of what each stage represents or when to advance a ticket. This contributes to the 142 stale tickets sitting in indeterminate states. Document each stage including resolution criteria and escalation triggers.
WarningTickets Ticket type and priority fields entirely empty — no classification beyond Category
Beyond the 0% Category fill rate, Ticket Priority and Type fields are also completely empty across all 314 records. Without these fields, SLA prioritization, escalation routing, and support capacity planning are impossible. Define the values for each field, enforce them at ticket creation alongside Category, and document the expected use of each classification in your support SOP.
314 records · Link to Relevant Knowledge Base Admin / Support Lead
SuggestionDeals Document property governance process — establish a request-before-create rule for new fields
19 custom properties exist with no description — a direct result of on-demand field creation without governance. Establish a property request process: any new custom property must be documented (purpose, owner, how it populates) before it is created. This prevents future sprawl and ensures the Description field is always filled at the point of creation rather than retroactively.
Standardize
Assignee: Developer + Admin
Contacts — Phone Numbers
WarningContacts 341 contacts with non-standard phone formats — 17 broken (not dialable)
COSMETIC — 324 records: Dashes, parentheses, dot separators, inconsistent +1 prefix. Dialable but inconsistent. Examples: (555) 867-5309 vs 555.867.5309. Standardize via a HubSpot workflow that normalizes phone format on Contact update.

BROKEN — 17 records: Fewer than 10 digits after stripping all non-numeric characters. These contacts are unreachable by phone. Flag for manual review — reach out via email to confirm correct number before updating.
341 total (324 cosmetic + 17 broken) · Link to Relevant Knowledge Base Developer + Admin
Contacts — Name Fields
CriticalContacts 163 contacts with placeholder Last Name values — active outreach cohort
163 records from the February 9, 2025 import have Last Name values of Unknown, N/A, ., or -. These are confirmed to be in active outreach lists. Personalization tokens using Last Name are generating broken salutations for this entire cohort right now. Filter by Create Date = Feb 9, 2025 → correct or remove placeholder values → resume sends.
163 records · Link to Relevant Knowledge Base Admin
SuggestionContacts 82 contacts with ALL CAPS name entries
82 Contact records have all-uppercase name values (e.g. JOHN SMITH, JANE DOE). These originate from a form or import source that did not normalize case. Personalization tokens will render these as uppercase in emails. Standardize to title case via a workflow using the Capitalize function or a bulk edit operation.
Contacts — Lifecycle Stage
WarningContacts 96 contacts missing Lifecycle Stage entirely
96 Contact records have no Lifecycle Stage value. These records are excluded from lifecycle-based segmentation, reporting, and automation triggers. Set a default Lifecycle Stage via a workflow for records with no value (Subscriber or Lead if no other qualifying data). Also update any Closed Won contacts still showing as Lead — these should immediately be set to Customer.
Tickets — Source Field
WarningTickets Source field empty on 240 tickets (76%)
240 of 314 ticket records have no Source value. Without Source, it is impossible to understand which channels are generating support volume, where to focus capacity, or how to segment SLA targets. Enforce Source as required at ticket creation. For historical tickets, batch-update Source where the intake channel is known (e.g. all tickets created by a specific form can be bulk-updated to that Source value).
240 records · Link to Relevant Knowledge Base Admin
Deals — Required Fields
CriticalDeals Amount field not required at deal creation — 526 deals missing Amount (60%)
Amount was never set as required at deal creation, allowing reps to create deals without a revenue value. 526 of 876 deals (60%) have no Amount — forecasting is structurally broken. This is a configuration fix, not a rep behavior problem. Settings → Deals → Properties → Amount → mark as required. Historical records require a bulk backfill effort — prioritize open pipeline first.
526 records · Link to Relevant Knowledge Base Admin / RevOps
CriticalDeals Close Reason not required on stage transitions — 0% fill across 398 closed deals
Close Reason was never configured as required on Closed Won or Closed Lost stage transitions. Every closed deal across 22+ months has no Close Reason recorded. Win/loss intelligence is entirely absent. Settings → Deals → Pipelines → stage transition requirements → require Close Reason on Closed Won and Closed Lost. Historical data cannot be recovered but all future closures will capture this immediately.
398 closed deals · Link to Relevant Knowledge Base Admin / RevOps
WarningDeals Deals missing Contact association — 16% of pipeline unlinked
Approximately 16% of Deal records have no associated Contact. These deals are excluded from Contact-level activity tracking, lifecycle stage progression, and any automation that triggers off Contact-Deal associations. Review open unlinked deals and associate with the correct Contact. Enforce Contact association as required at deal creation to prevent new gaps.
WarningDeals Deals missing Company association — account-level reporting incomplete
A portion of Deal records have no associated Company. Account-based revenue reporting, company-level pipeline views, and any automation that references Company data on Deals will be incomplete without these associations. Review and associate missing Company records. Consider enforcing Company association as required at deal creation.
WarningDeals Deal name quality issues — placeholder and auto-generated names in pipeline
A subset of Deal records contain auto-generated or placeholder names (e.g. "New Deal", "Deal - Company Name", timestamps as names). These make pipeline review, reporting, and rep accountability significantly harder. Establish a naming convention and bulk-update records that don't conform. Consider enforcing Deal Name format via required field guidance in onboarding.
Link to Relevant Knowledge Base Admin / Sales Leadership
Tickets — Required Fields
CriticalTickets Category field not required — 0% fill across all 314 tickets
Ticket Category was never defined or enforced. 314 tickets with zero classification — support issue trending, escalation routing, and SLA segmentation are all impossible. Define your Category taxonomy first (e.g. Billing, Technical, Onboarding, General, Bug), then enforce as required at ticket creation in pipeline settings. Historical tickets need a manual or bulk update pass — prioritize open tickets first.
314 records · Link to Relevant Knowledge Base Admin / Support Lead
CriticalTickets 74% of tickets have no associated Contact — 233 records unlinked
233 of 314 tickets (74%) have no associated Contact. Support history is invisible at the Contact level, account-level ticket views are broken, and any automation triggered by ticket activity on a Contact record is failing for this entire cohort. Configure ticket intake channels to auto-associate by email where possible. For existing unassociated tickets, run a manual association pass on open tickets first.
233 records · Link to Relevant Knowledge Base Admin / Support Lead
Contacts — Phone Coverage
WarningContacts Phone number fill rate at 60% — low for a sales-motion organization
493 of 1,241 Contact records (40%) have no phone number. For a sales-motion org, this significantly limits outreach coverage. Prioritize phone enrichment for your highest-value segments using HubSpot Insights or a third-party enrichment tool. Review import processes and form configurations — phone should be a required or strongly encouraged field at the point of capture.
493 records missing phone · Link to Relevant Knowledge Base Admin / RevOps
Contacts — Name Field Quality
WarningContacts Titles in name fields — professional titles mixed into First Name or Last Name
A subset of Contact records have professional titles (e.g. "Dr.", "PhD", "CEO") stored inside First Name or Last Name fields rather than the Job Title field. This breaks personalization tokens and makes name-based segmentation unreliable. Run a filter for common title prefixes and suffixes in name fields and move values to the appropriate property via bulk edit.
Companies — Industry
WarningCompanies Industry fill rate at 87% — 50 Companies missing classification
50 Company records have no Industry value. Industry is foundational for firmographic segmentation, ICP analysis, and account-based targeting. Enrich missing values using HubSpot's native Company Insights or a third-party enrichment tool. For accounts where auto-enrichment fails, assign Industry manually during account review cycles.
50 records · Link to Relevant Knowledge Base Admin / RevOps
Companies — Domain
WarningCompanies Domain fill rate at 90% — 39 Companies missing domain
39 Company records have no Company Domain Name. Domain is the primary deduplication key for Companies in HubSpot — records without a domain cannot be auto-matched, enriched, or properly associated. Review each missing-domain company and add the correct website domain. Consider making domain required at Company creation.
Companies — Missing Deal Association
WarningCompanies Companies with no associated Deals — account revenue visibility missing
A portion of active Company records have no Deal associations. These companies appear to have no revenue activity in the CRM. Before acting, verify whether these companies have Contacts with associated Deals that were never rolled up to the Company level. If so, add the Company-Deal association. If the Company is genuinely inactive, consider archiving.
218 of 387 Company records (56%) have a City value. If geo-based segmentation, territory assignment, or regional reporting is part of your strategy, this fill rate needs to improve before those use cases are reliable. Prioritize enrichment for your top accounts first using HubSpot's native enrichment or a third-party data tool.
169 records missing city · Link to Relevant Knowledge Base Admin
Deals — Rep Performance Variance
WarningDeals Rep ████████ Amount fill rate 6% vs group average 67% — statistical outlier
Rep ████████ has an Amount fill rate of 6% (4 of 67 owned deals) while the group average is 67% — a variance of 61 percentage points. This anomaly is flagged in the Data Inconsistencies & Anomalies section. Do not act without validation from sales leadership. If confirmed behavioral rather than a legitimate deal flow difference, requiring Amount at creation (Priority Queue #1) will enforce compliance going forward.
67 deals owned by this rep · Link to Relevant Knowledge Base Sales Leadership
Tickets — Contact Association Automation
SuggestionTickets Build auto-association workflow — link tickets to Contacts by email at creation
74% of tickets currently have no Contact association. Build a workflow that auto-associates new tickets with existing Contact records by matching the submitter's email address. This resolves the root cause of new unassociated tickets going forward and significantly improves support history visibility at the Contact level.
Contacts — Lifecycle Stage Automation
SuggestionContacts Build Lifecycle Stage progression workflow — auto-advance to Customer on deal close
Closed Won deal contacts are still showing Lifecycle Stage: Lead, indicating that Lifecycle Stage is not being automatically updated when a deal closes. Build a workflow that sets Contact Lifecycle Stage to Customer when an associated Deal reaches Closed Won. This resolves the cross-object sync failure and ensures Contact data reflects actual revenue status going forward.
Deals — Pipeline Hygiene Automation
SuggestionDeals Configure stage exit alert workflow — auto-flag deals 7 days past Close Date
214 open deals are currently past their Close Date with no update. Build a workflow that automatically notifies the deal owner and their manager when a deal is 7 days past its Close Date with no stage activity. This creates accountability without requiring manual pipeline reviews to catch every stale record.
Companies — Enrichment
SuggestionCompanies Run HubSpot Insights enrichment on Companies missing Industry, City, and Domain
Multiple Company fields have low fill rates that can be partially resolved through HubSpot's native enrichment tool without manual data entry. Run Insights on all Company records and review proposed values before accepting. Enrichment typically resolves 40–60% of missing firmographic fields for known companies.
Contacts — Deduplication Prevention
SuggestionContacts Enable HubSpot's duplicate management tool to catch future duplicates proactively
38 confirmed duplicate Contact pairs currently exist. After merging existing duplicates, enable HubSpot's built-in Duplicate Management tool to surface new potential duplicates on an ongoing basis. Review the duplicate queue monthly and add a deduplication check to any future import or form integration process before records enter the CRM.
Archive & Reassign
Assignee: Admin
CriticalContactsDealsTickets 444 records across 3 objects assigned to deactivated users — reassign immediately
312 Contacts owned by ████████, 94 Deals owned by ████████, and 38 Tickets owned by ████████ — all deactivated. No sequences, tasks, automations, or SLA tracking running on any of these records. All three failures share the same root cause: CRM record reassignment was never included in the offboarding checklist.

Contacts: CRM → Contacts → Filter by Owner → ████████ → Select All → Reassign. Do not archive — reassign only.
Deals: CRM → Deals → Filter by Owner → ████████ → Select All → Reassign. Review each deal — some may warrant archival over reassignment.
Tickets: CRM → Tickets → Filter by Owner → ████████ → Select All → Reassign. Review each — many may already be resolved and should be closed rather than reassigned.
444 records total (312 Contacts + 94 Deals + 38 Tickets) · Link to Relevant Knowledge Base Admin
WarningTickets 142 open tickets with no activity in 30+ days
142 Tickets remain open with no Last Activity Date recorded in the past 30+ days. Review each: resolved tickets that were never marked closed should be closed now. Genuinely stale tickets should be reassigned or escalated. ⚠️ Do not bulk-close without reviewing — some may still be active customer issues waiting on a response.
142 records · Link to Relevant Knowledge Base Admin
WarningDeals 214 open deals past Close Date — stale pipeline review required
214 open deals (44.8% of open pipeline — 214 of 478 open deals) are past their Close Date with no stage update. These are distorting pipeline velocity metrics and stage duration averages. Run a dedicated pipeline review: update Close Date on active deals, move stalled deals to a formal lost stage, archive deals with no activity in 90+ days. ⚠️ Do not archive without reviewing — some may be legitimately delayed.
214 records · Link to Relevant Knowledge Base Admin + Sales Leadership
WarningDeals 28 deals advanced through 3+ stages with no Amount ever entered
28 deals have progressed through 3 or more pipeline stages without ever having an Amount value entered. These records are being actively moved through the pipeline with zero revenue data attached at any point. This pattern can indicate stage progression gaming — deals advanced to show activity without qualifying revenue potential. Validate with RevOps and sales leadership before acting. If confirmed behavioral, requiring Amount at deal creation (see Priority Queue #1) will prevent recurrence immediately.
28 records · Link to Relevant Knowledge Base Admin + Sales Leadership
WarningDeals Stage stagnation — deals with no activity in 30+ days still in active stages
A subset of open deals have had no Last Modified Date activity in 30+ days despite remaining in active pipeline stages. These are operationally stale — no notes, no tasks, no stage changes. Review and either update with current status or move to a formal stalled/lost stage. Configure a workflow that auto-flags deals with no activity past a defined threshold to their owner.
Link to Relevant Knowledge Base Admin + Sales Leadership
Suggestion 8 custom properties with 0% fill rate for 90+ days — archive candidates
8 custom properties across Contacts and Companies have had zero data entered in 90+ days and show 0% fill. These are strong archive candidates. Confirm with the admin who created them that they are no longer needed before archiving. ⚠️ Never delete — archive only. Deleted properties cannot be recovered and will break any existing reports or workflows that reference them.
8 properties · Link to Relevant Knowledge Base Admin
SuggestionCompanies 16 companies with zero Contact associations — review and associate or archive
16 Company records have no associated Contacts. These inflate account count and produce inaccurate account-based reporting. For each: search for existing Contacts that should be associated and link them, or archive if the company is not being actively pursued. ⚠️ Do not delete — archive only.
Integration Audit
Assignee: Integration Owner
WarningContacts Integration ████████ writing phone numbers in E.164 format — 341 contacts affected
The sync integration ████████ writes phone values in E.164 format (+15558675309) while manual entries use local format ((555) 867-5309). Two formats on the same field create reporting inconsistencies and affect dialers. Audit the integration's field mapping. Standardize the output format at the integration level, or use a HubSpot workflow to normalize post-sync. Fix the source — not just the records — or the issue will recur with every sync cycle.
341 records · Link to Relevant Knowledge Base Integration Owner
Not Detected Integrations creating records with missing required fields
No integration-sourced records were identified with systematically missing required fields in the current export. This placeholder is retained so that any future integration activity is immediately visible on re-audit.
Not Detected Contact Sync fields creating dual source of truth on Deals
No integration-sourced fields were identified creating conflicting values on Deal records in the current export. Placeholder retained for re-audit visibility.
Not Detected Social handle fields synced without validation
No social handle sync patterns creating validation issues were detected in the current export. Placeholder retained for re-audit visibility.
📋 Audit Recap
What We Found
2,818 records audited across 4 objects. 50 total findings — 13 Critical, 23 Warnings, 14 Suggestions. Overall portal score: 72/100 (C−). Deals and Tickets both in Critical Failure. 444 records assigned to deactivated users across three objects — all sharing the same offboarding gap as root cause. Two statistical anomalies flagged in the Data Inconsistencies & Anomalies section — a rep showing a dramatically below-average Amount fill rate and 28 deals advanced through multiple stages with no revenue data ever entered. Both require validation with leadership before action.
What It's Costing
$1,005,700 in recoverable revenue identified based on 526 missing deal Amounts at $5,200 avg deal value and 36% close rate. $9,360/week in missed revenue at current deal creation pace. $93,600 cumulative cost if nothing changes over the 10-week fix timeline. 22+ months of win/loss intelligence entirely absent due to 0% Close Reason fill — a compounding strategic cost not captured in any revenue estimate.
What Needs to Happen First
1. Require Amount at deal creation and Close Reason on stage transitions — two configuration changes, immediate impact. 2. Bulk reassign 444 records from three deactivated users across Contacts, Deals, and Tickets. 3. Define and enforce Ticket Category taxonomy. 4. Quarantine and correct the February 9, 2025 import cohort before next send. Re-audit recommended: June 1, 2026.
What the Organization Needs Long-Term
A formal offboarding checklist that includes CRM record reassignment across all objects as a mandatory step. Required field enforcement at deal and ticket creation — enforced at the platform level, not through manager oversight. A monthly pipeline hygiene review cadence. An admin-owned property governance process with quarterly audit cycles. Integration output validation protocol — every new integration should be audited 30 days post-setup before it is considered stable.
⚠️ Two statistical anomalies were detected in this portal — Rep ████████'s Amount fill rate and 28 deals advanced without Amount. See the Data Inconsistencies & Anomalies section for details. Do not act without validation from sales leadership and RevOps.
All 4 objects fully audited. No objects excluded.
Share this report with your HubSpot agency to begin remediation
ARTIS Systems audits. Your agency fixes. That's the model.