HubSpot Portal Audit · Confidential

HubSpot Portal Audit · Prepared by RevOps Hub

North Star Portal 26996195 · data hygiene, lead scoring, lead progression, deal progression

A portal that has quietly stopped keeping its own score. The records are largely intact — but the stage configuration, the ownership map and the qualification funnel have all drifted far enough that the numbers coming out of HubSpot no longer describe the business going into it.

Prepared
1 September 2026
Contacts
20,544
Companies
5,278
Deals
1,046
Users
12 active of 35
Currency
GBP · EU1 · Standard

The short version

Three findings that sit above everything else

Each is large in scale, cheap to fix relative to its impact, and currently distorting a number someone in the business is reporting upward. They are ranked by how much damage they are doing right now.

£2.56m
Reported open pipeline — of which £188k is in an active stage with an active owner
0
Deals marked closed-lost in 2026, against 143 in 2025
0
Contacts that have ever reached Marketing Qualified Lead
87.9%
Open deals whose owner is no longer an active user
01
Critical

Nothing has been marked lost in 2026, so the pipeline has become a graveyard

Across the portal's history there are 422 closed-lost deals — 88 in 2023, 190 in 2024, 143 in 2025, and none at all in 2026. Nothing that failed this year has been closed out; it is all still sitting open, inflating every pipeline and conversion figure the portal produces.

264 of 331 open deals have a close date already in the past Exactly 1 open deal in the whole portal closes in the future 66 open deals have no close date at all
02
Critical

Nine-tenths of the open pipeline belongs to people who have left

291 of 331 open deals — worth £2,300,823 of the £2,557,250 — are owned by inactive HubSpot users. One former user, Andy Cope, holds 182 open deals worth £1,549,078 on his own. The same pattern runs through the database and the customer base: no reassignment appears to have happened when these people left.

10,286 contacts owned by inactive users 168 of 189 customer companies owned by inactive users 84% of all deals ever created
03
Critical

There is no lead qualification funnel at all — not a weak one, an absent one

20,510 contacts have entered the Lead lifecycle stage. Zero have ever entered Marketing Qualified Lead. One has ever entered Sales Qualified Lead. There is no lead scoring of any kind — HubSpot's predictive Contact Priority is unassigned across all 20,544 records and no custom score property exists. Marketing has no defensible way to say what it handed over; Sales has none to say what it received.

17,242 contacts with Lead Status "Unassigned" (83.9%) 27 contacts in any active working state 147 records on a second, parallel Leads object

Pipeline reality

£2.56m reported → £622k defensible → £188k actively owned

Two independent filters have to be applied before the pipeline number means anything: remove the deals sitting in stages that mean "not happening", then remove the deals whose owner has left.

Reported open pipelineWhat HubSpot shows today — 331 deals
£2,557,250
Excluding dead and legacy stages68 deals — removes Deffered, Lost 2026 and the Pre-JJS stages
£622,086
24.3% of the headline figure
…and excluding departed owners32 deals — James Hickson (24) and Kieran South (8)
£188,250
7.4% of the headline figure — this is the number that belongs in a forecast conversation

The stage configuration is where the damage originates

Polaris New Business 2026 holds 56% of all deals, and only three of its fifteen stages are configured as closed. Everything else counts as open pipeline — including stages whose own names say otherwise.

Stage still counted as OPENPipelineDealsValue
Deffered (sic)Polaris New Business120£770,732
Competitor client Pre JJSPolaris New Business66£511,549
Deffered (sic)Illuminator Subscription21£259,500
Proposal issued Pre JJSPolaris New Business23£166,452
Live engagement Pre JJSPolaris New Business21£132,272
Lost 2026 — not flagged as closed-lostPolaris New Business12£94,659
Phantom open pipeline263£1,935,164

A stage literally called "Lost 2026" is not flagged closed-lost. That is a configuration bug, not a judgement call. "Deffered" is misspelled, exists twice as two separate stages with two different IDs, and between them holds £1.03m of supposedly live pipeline.

On win rate: 293 won against 422 lost reads as 41.0%, but the denominator is missing every 2026 loss. Close out the 263 dead-stage deals and the all-time win rate falls to 30.0%. Median time to close on won deals is 54 days (average 104.5).

Data hygiene

Where the records break down

Direct counts, not inference. The standout is association integrity on deals — half of all deals, and 61% of open deals, have no contact attached. A deal with no human on it cannot be sequenced, emailed, attributed to a campaign, or handed to anyone.

CheckVolumeShare
Open deals with no forecast category set331 / 331
100%
Products with no Tax Category set49 / 49
100%
Support tickets with no owner100 / 100
100%
Support tickets with no Category or Priority set100 / 100
100%
Deals with no deal type set1,040 / 1,046
99.4%
Open deals with no next activity scheduled328 / 331
99.1%
Contacts with no phone or mobile number19,471 / 20,544
94.8%
Contacts not contacted at all during 202619,000 / 20,544
92.5%
Companies with no associated deal4,708 / 5,278
89.2%
Products with no Product Type set41 / 49
83.7%
Open deals with a close date already in the past264 / 331
79.8%
Open deals never contacted229 / 331
69.2%
Open deals with no associated contact203 / 331
61.3%
Deals with no associated contact531 / 1,046
50.8%
Contacts owned by an inactive user10,286 / 20,544
50.1%
Contacts with no job title9,417 / 20,544
45.8%
Contacts never contacted (no logged engagement, ever)9,358 / 20,544
45.6%
Contacts with no owner8,961 / 20,544
43.6%
Open deals HubSpot flags as "stalled"120 / 331
36.3%
Marketing emails with "(Clone)" in the name43 / 129
33.3%
Companies with zero associated contacts1,710 / 5,278
32.4%
Companies with no industry set1,109 / 5,278
21.0%
Open deals with no close date at all66 / 331
19.9%
Contacts with no associated company2,525 / 20,544
12.3%
Companies with no owner519 / 5,278
9.8%
Contacts with a hard email bounce on record1,106 / 20,544
5.4%
Deals with no associated company36 / 1,046
3.4%
Contacts missing a first or last name559 / 20,544
2.7%
Contacts with no email address134 / 20,544
0.7%

Not checked: record-level duplicate detection was not performed. At 20K contacts that needs HubSpot's native Manage Duplicates tool or an export-based match, neither available from a read-only query session. The 32.4% orphan-company rate hints that overlapping company records contribute, but treat the duplicate count as unknown rather than estimated.

Lead scoring & progression

The funnel has two stages missing from the middle

Contacts go from Lead straight to Opportunity or Customer. There is no measurable handover point between Marketing and Sales, no MQL→SQL conversion rate to improve, and no way to attribute a customer to the qualification work that produced them.

Lead
20,510
99.8% of all contacts
Marketing Qualified
0
stage never used
Sales Qualified
1
one record, ever
Opportunity
349
1.7% of Leads
Customer
297
1.4% of Leads
No scoring model exists. Predictive Contact Priority is "Unassigned" for 100% of the 20,544 contacts, and no custom score property sits on the contact object. Unlike Notify's portal — which at least had a purpose-built ICP score, however poorly tuned — North Star has nothing at all to prioritise its database with. New customers created per year: 39 (2023) · 230 (2024) · 27 (2025) · 1 (2026).

The same portal, four jobs

What this means for each team

The findings above land differently depending on which chair you sit in. These are the consequences specific to each function, and what each one currently cannot see.

Lens 01

Marketing

Acquisition has collapsed, most of what does arrive is not inbound, and there is no qualification event to prove any of it worked.

400
New contacts in 2026 (8 months), against 9,582 in 2024 — a 94% fall on an annualised basis
89.3%
Of the database originates from Offline Sources; 2026 inbound runs at roughly 19 contacts a month
3.97%
Hard bounce rate in Q1 2026 — roughly double the level at which mailbox providers throttle
  • Q1 2026 was a deliverability event. 178 hard bounces on 4,481 sends, 1,042 contacts suppressed, open rate halved to 18.8%, unsubscribes tripled to 1.05%. It has recovered (Q2 0.33%, Q3 0.05%), but the cause — sending to an unvalidated list — persists as 1,106 contacts carrying a hard bounce.
  • Around 12% of marketing contacts cannot be emailed. Of the 5,149 flagged as marketing contacts, 504 have a hard bounce and 103 have opted out of all email. They are still being counted and paid for.
  • The marketable flag is managed by hand. 4,311 of 5,149 (83.7%) were set to marketing status manually rather than by form submission (501) or import (337).
  • A third of the email library is clone debris. 43 of 129 marketing emails (33.3%) carry "(Clone)" in the name. One asset — Customer Lifecycle: Email 1: Polaris Log In's (Client N02) — has been re-cloned roughly weekly since late June and now exists in versions carrying up to seventeen consecutive "(Clone)" suffixes. Cloning instead of editing means there is no single current version of any recurring email, no version history on the asset actually being sent, and no way to compare performance across sends of "the same" email — every send is a different object with its own stats.
  • The website forms don't write to the CRM. They are Elementor forms collected by the tracking script, not HubSpot forms — registered under raw CSS selectors, each one duplicated. Unmapped fields never reach the contact record, so the "How did you hear about us?" and "Where are you right now?" answers are captured and discarded on every submission, despite both having a matching contact property already in the portal.
  • Segmentation is blocked by missing data. 45.8% of contacts have no job title and 21% of companies have no industry, so persona and vertical segments cannot be built from what is there.
  • The programme is small. 9,664 sends across 129 emails and 9 campaigns in the twelve months to September 2026.
Conversion path

The website enquiry form is rendering unstyled

The "Need some help?" form is displaying with browser-default styling rather than any site or brand CSS. For a business taking roughly 19 inbound contacts a month, this form is close to the whole digital acquisition path — and it currently looks broken enough to cost submissions on trust alone.

  • No CSS is reaching the form. Square 1px default input borders, default select chevrons, a violet heading that is the browser's default link colour, and a second unrelated pink on the privacy link. Two accent colours, neither of them North Star's.
  • Zero left gutter — labels and fields sit flush against the container edge — and labels collide with the field above them, with no vertical rhythm.
  • Field widths don't align. First and Last Name are half-width; Email, Brand/Company, both selects and the textarea are full-width to a different right edge, so nothing lines up.
  • The consent block is malformed. The opt-in checkbox and the privacy line render as list items — the privacy line has a bullet and no checkbox. The required asterisk lands after "privacy policy here", reading as a footnote on the link rather than a required-field marker.
  • No visible submit button in the rendered view, and the textarea shows a default drag handle.

Worse than the styling: the fields aren't connected to anything. The site forms are not HubSpot forms at all — they are Elementor forms picked up by the tracking script's non-HubSpot form collection. You can see it in the names HubSpot has given them, which are raw CSS selectors rather than form names: #NS_Website_Contact_Form .elementor-form, #NS_Website_Footer_Form .elementor-form, #NS_Website_Partners_Hub_Form .elementor-form, and an older #gform_3. Each one is also registered twice, under two slightly different selectors, so three website forms occupy six of the portal's 33 form records.

A collected form only writes to a contact record where its fields are explicitly mapped to properties. Unmapped answers are kept inside the submission payload and never reach the record — so they are invisible to lists, workflows, scoring, segmentation and every report. Nothing maps to the company object at all.

The two questions the form asks that matter most are exactly the ones being thrown away. how_did_you_hear_about_us and location both exist as contact properties in this portal — so "How did you hear about us?" and "Where are you right now?" have somewhere to land, and aren't landing there. That is the attribution data missing from a database that is 89.3% offline-sourced, being collected and discarded on every submission.

Every enquiry since the forms were connected has lost its qualification and attribution answers

Probable cause of the styling, not confirmed: the total absence of styling — rather than bad styling — almost always means the HubSpot form's own stylesheet isn't loading: the embed set to "raw HTML form", the site CSS not targeting HubSpot's .hs-form classes, or the form script being blocked. The broken list markup in the consent block points the same way — that is HubSpot's default <ul class="inputs-list"> showing through with no CSS on it. Assessed from the rendered page, not its source, so check the embed settings first; this is likely a ten-minute fix rather than a rebuild.

The highest-value fix costs nothing: define MQL and start setting it. Without a qualification event in the data there is no conversion rate to improve and no way to demonstrate that any of the above matters. Note that the form already collects "Where are you right now?" and "How did you hear about us?" — exactly the qualification and attribution data missing everywhere else in the portal, so submissions lost to the broken form are lost twice.
Lens 02

Sales

The pipeline a rep opens in the morning is four-fifths fiction, and the working set that remains mostly belongs to people who have left.

263 / 331
Open deals sitting in stages that mean parked, deferred, lost or legacy
229
Open deals that have never had a single logged contact
32
Deals in a live stage with an active owner — the genuine working set
  • Knowing which stages to ignore is tribal knowledge. A rep has to discard "Deffered", "Pre JJS" and "Lost 2026" from memory — exactly the kind of knowledge that stops working when someone leaves, which is what has happened here.
  • Andy Cope's 182 open deals include 17 in genuinely active stages worth £278,000. Those are the ones to triage first, this week.
  • Activity discipline has stopped. Only 66 open deals have been contacted at any point in 2026. 328 of 331 have no next activity scheduled, 186 have no next step written, and HubSpot's stalled flag is on 120 — including 23 of the 68 genuinely-live deals.
  • Losses are never learned from, and never followed up. 93 of the 422 closed-lost deals (22%) carry no reason at all, and the single biggest recorded reason is "Other" at 151 (35.8%) — a taxonomy whose catch-all is its largest bucket describes nothing. Capture is getting worse, not better: 1.6% of 2024 losses had no reason against 53.1% in 2025. And once a deal is lost, nothing happens to it — there is no re-engagement of any kind.
  • Reps cannot work the database even if they wanted to. 94.8% of contacts have no phone number, 61.3% of open deals have no contact attached, 43.6% of contacts have no owner, and there is no score or lead status to say which of 20,544 records to open first.
Before anyone reads performance into this: per-rep win rates are not meaningful in this portal. 84% of all deals sit with departed users and 2026 has no recorded losses, so any rep comparison says more about who inherited what than about how anyone is selling.
Lens 03

Customer Success

The customer base is real. The record of it is not — the renewal book is almost entirely invisible, and the support pipeline is being used as a shared to-do list rather than a service desk.

11
Deals in the Renewals 2026 pipeline (£63,840) against roughly 175 live engagements
168 / 189
Customer companies owned by an inactive user; 3 more have no owner at all
177 / 297
Customer contacts with no deal attached — no record of what they bought
  • Roughly 94% of the live customer base has no renewal deal, no renewal date and no renewal owner anywhere in the system.
  • If a customer emails in tomorrow, HubSpot routes them to someone who has left. Only 18 customer companies have an active owner — Kieran South (17) and Victoria Kudawoo (1).
  • "Live" is being used as a permanent resting place. Of 158 Polaris engagements marked Live, 36 closed in 2023 and 71 in 2024 — 107 have been sitting there for two years or more. Either they are still running, in which case renewals should exist against them, or they ended and nobody moved them.
  • Contact cadence is the one bright spot. All 189 customer companies have been contacted at some point and 140 during 2026; the remaining 49 form a small, workable at-risk list.
Critical

The Support pipeline has no owners and no triage data at all

There are 100 tickets in the portal — 91 created during 2026, 77 still open. Every single one of them is missing the three fields that make a ticket a ticket.

FieldTickets missing itConsequence
Owner100 / 100Nobody is accountable for a single support ticket
Category100 / 100Nine well-designed options exist on the property and none is ever used, so recurring problems can't be spotted
Priority100 / 100Nothing can be triaged as urgent

And the tickets aren't really tickets — they're a shared to-do list. All 100 have a source of Email, and the subjects are raw reply threads and internal queries rather than support requests: "RE: Applied Nutrition Renewal IDs Query", "RE: RTD Spirits Asda NAD Quote – Served Drinks", "The Curators – Asda range", "RE: Novomins on Polaris – #USU3012". Several are commercial — a quote, a renewal query, an upsell — rather than service issues at all. A shared inbox is piping every inbound email into the Support pipeline, and the team is working the resulting list as tasks, leaving the structured fields empty because those fields aren't what the list is being used for.

  • No first-response or resolution-time metric can be produced, so no service-level commitment can be evidenced.
  • No volume trend by category can be produced, so recurring product or onboarding problems stay invisible.
  • Support requests and commercial opportunities queue in the same undifferentiated list — and the commercial ones are not reaching a deal pipeline.
  • A second ticket pipeline, "Reengagement" (Monitoring → Reached Out → Moved To Deal → Lost), exists and is completely empty — scaffolding for a sales motion built on the ticket object, never used.
Not visible in this audit: the ticket records above are readable and their counts exact, but conversation content and response-time analytics are blocked by the portal's AI access settings ("Customer conversation data" is disabled) — so first-response time, resolution time and CSAT/NPS could not be measured. There are also no subscription records and no invoices.
Lens 04

Finance

HubSpot cannot currently produce a forecast, and the pipeline number that would reach a board pack is roughly four times too big.

331 / 331
Open deals with an empty forecast category — no weighting, no commit discipline
£0
Closed-won in both July and August 2026, against a 2025 average of ~£52k a month
99.4%
Deals with no deal type set — new business, renewal and upsell cannot be separated
  • Any time-phased forecast places £2.5m of pipeline in the past, because only one open deal has a close date in the future.
  • Net revenue retention, ARR and churn are uncomputable from this data. There are no subscription records, no invoices, 5 quotes and 19 line items in total — every deal is a single lump-sum amount with no product or term structure behind it.
  • Currency is clean. 1,042 GBP deals, 4 unset, no mixed-currency aggregation risk, and only 4 deals with no amount.
  • The marketing contact tier carries roughly 600 unmailable contacts inside the 5,149 being counted — a small but recurring cost with no return.
High

The product library would block any move to quoting or invoicing

49 products exist — Polaris Subscription and Set-up tiers, created in May 2023 and untouched since May 2024. The fields that make them usable for billing are empty.

FieldProducts missing itConsequence
Tax Category49 / 49 · 100%The field HubSpot uses to apply tax automatically to line items. Every quote or invoice raised from these products carries no tax treatment and must be corrected by hand
Product Type41 / 49 · 83.7%Subscription products can't be separated from one-off set-up fees
Term22 / 49 · 44.9%Recurring value can't be annualised — the split needed to compute ARR

Why this matters now rather than later: for a GBP business with UK VAT obligations, Tax Category is the one product field that cannot be left blank — if the portal is ever connected to HubSpot Payments, Stripe or an accounting sync, tax will either fail to calculate or default incorrectly. Only 19 line items exist against 1,046 deals, so the library is barely used today. That makes it cheap to fix now and expensive to fix later: the moment quoting or invoicing goes live on top of it, every gap becomes a finance correction.

The number to quote: £188,250 across 32 deals. That is the open pipeline that is both in a live stage and assigned to someone who still works here.

Trend

Every input metric fell at the same time

Closed-won revenue, contact creation, deal creation and new customers all turned down together. That uniformity is the strongest signal in the audit — and the thing most worth confirming with the team.

Closed-won revenue by close date

2026 covers eight months to 31 August

£314,847
2023
£602,945
2024
£629,559
2025
£100,167
2026 YTD

2026 by month: Jan £0 · Feb £36,367 · Mar £15,000 · Apr £0 · May £12,000 · Jun £36,800 · Jul £0 · Aug £0.

New contacts created

Deal creation followed the same curve: 303 · 402 · 288 · 53

6,623
2023
9,582
2024
3,939
2025
400
2026 YTD

Of the 400 created in 2026, 249 came from Offline Sources and 151 from any digital channel — roughly 19 inbound contacts a month.

The fixes, broken down

Changes by function

Every improvement is placed in one of three lanes: what you could do yourselves (mostly hygiene and settings — set, reassign, remove), somewhere in between (needs a data clean-up plus a decision on the target design), and where RevOps Hub can help (needs new process, scoring logic, or build work implemented). Click into any function below for the full breakdown.

28
Improvements identified across the portal
11
Do-it-yourself fixes — settings and hygiene
8
Hybrid fixes (data + decision)
9
Where RevOps Hub can lead

Each fix is tagged with the type of benefit it delivers — click any item to expand it and see the reasoning:

Cost Saving

Reduces spend, licence tier, or write-off risk

Efficiency Gains

Saves time, reduces admin, improves reporting accuracy

Revenue Generating

Grows or protects pipeline, conversion, or retained revenue

General Cleanup

Standardising properties, fixing or tidying existing data

★ marks the five priority actions. Three are where to start, one from each lane: the stage settings fix costs nothing and repairs the most reporting, the reassignment protects revenue that currently has nobody attached to it, and the MQL definition unblocks every metric that follows. The other two — the pipeline rebuild and the intent engine — are the larger builds those first three make possible, and shouldn't start before them.