Logo of Growth Geyser
HubSpot Consulting & RevOps

HubSpot Consultant

Most people who call us already own HubSpot. It was set up years ago, often by someone who has left, and nobody currently in the building can say what half of it does. That is the work: not turning HubSpot on, but finding out what it is actually doing and making it match how you really sell.

HubSpot iconHubSpotConsultants
Inherited-portal audits, RevOps and integration work on HubSpot.

We audit inherited portals, rebuild the parts that have drifted out of use, and engineer the integrations that sit at the edges of the platform. We start by getting full value from the tier you already pay for, and when more is genuinely needed we cost it out as a decision rather than an assumption.

What we do as your dedicated HubSpot consultants

Some of this is configuration. A lot of it is engineering, because the interesting problems in a mature portal are usually at the seams between HubSpot and everything else.

Portal audit and workflow chain mapping

We map every property one workflow writes and another workflow watches, before touching anything. In one portal that meant cataloging 120 workflows and producing a standing pre-flight checklist for any future change.

Lifecycle and pipeline architecture

Stages that mean something, and the exits nobody builds. Including the demotion path HubSpot does not give you, so cancelled customers stop looking like customers.

Identity resolution

A defined waterfall: email domain, custom domain field, billing ID, existing association, in order, with free-provider exclusion and a hard rule that a step matches only on exactly one result. This is what stops duplicate contacts and wrong-company associations.

Integration engineering

Middleware on Heroku, queued webhooks, retries and dead-letter handling, environment-scoped credentials, deploy and rollback runbooks. For when Zapier is not enough and the native integration does not exist.

Billing and revenue sync

Revenue re-summed from confirmed paid invoices on every event rather than incremented, so a missed webhook repairs itself on the next payment instead of leaving a record permanently wrong.

Reporting you can actually act on

Cross-object reporting in HubSpot is possible but constrained, and past a certain point the property-sync work costs more than the report is worth. We will tell you where that line sits for your questions, and pipe the data to Looker Studio when that is the cheaper answer.

Attribution logging outside HubSpot

Every decision an integration makes written to a queryable store with a structured event taxonomy, because HubSpot's own history will not tell you why a record looks the way it does six weeks later.

Bulk record surgery, with a safety procedure

Dry run, client spot-check list, delete 100, confirm, then the rest. On a recent project that procedure removed 21,000 junk company records across two rounds with zero errors, and repaired another 12,326 that had unusable region data.

Migrations, planned properly

Onto HubSpot from ActiveCampaign, Mailchimp or a vertical CRM, with the field mapping decided before anything moves and the sending-reputation work planned in rather than discovered afterwards.

Custom objects, or the equivalent

Genuine custom objects where the portal is Enterprise. Ticket objects with companion properties where it is Professional, so the tier you are on is a design input rather than a blocker.

Who we do it for

The industries that come up most often in our own HubSpot client base:

Freight, logistics and fulfillmentManufacturing and industrialE-commerce with an external cartB2B SaaS and free-trial productsProfessional services and agenciesFinancial services and fund administrationHealthcare and telecom

What we actually find inside inherited HubSpot portals

This is a self-diagnosis list, not a service menu. If you recognize three or more of these, you already know you need help and the rest of this page is just evidence that we have seen it before.

Nobody knows what the workflows doDozens of them, built by people who have left, and no one is willing to switch any of them off.
Cancelled customers still show as CustomersLifecycle stage promotes on a won deal and does nothing on the way out, so the label never comes back down.
The bill went up and nobody can explain whyMarketing contact counts drift, tiers get added, and the renewal arrives at a number nobody forecast.
Reporting cannot answer the question you actually haveThe data is in there. Getting it onto one report turns out to be the hard part.
Deals and contacts disagreeTwo records for the same person, or a company associated to a thousand contacts that have nothing to do with it.
An integration stopped working and it took a while to noticeNothing failed loudly. The data stopped arriving, the dashboards kept rendering, and no one was looking at the one place it showed.
Form notifications go to nobodyThe form works, the workflow is enabled, and the person who was supposed to be alerted has never received one.
You suspect you are underusing what you pay forPaid features never switched on, seats unassigned, and no clear view of whether the next tier would actually earn its cost.
Only sales and marketing ever adopted itService, ops and finance are still in spreadsheets, so HubSpot holds a partial picture and everyone half-trusts it.
Somebody migrated in and deliverability collapsedThe list came across, the sending reputation did not, and open rates fell off a cliff.

In their own words, from real calls. Attributed by industry only.

HubSpot is a Ferrari and we drive it like a Chevy. Nobody's ever really set it up to function the way that it needs to function.
Founder, B2B software
Apart from sales and marketing, no one's really used it.
Operations lead, financial services
It's a mess in there.
Marketing manager, B2B services
They've invested in it. Like, tell us how we should be using it.
Director, staffing

Recognize three or more of these?Thirty minutes, free, and you will get a straight answer on what is actually wrong in your portal.

Book Your Free Discovery Call

Get more from the HubSpot you already own, and upgrade when the numbers say so

HubSpot is the strongest CRM we work in. Its reporting is better than anything comparable, its object model is genuinely relational, and when marketing, sales and service need to share one system it is usually the right answer. Most of our work is building it properly.

Most portals we open are also using a fraction of what they are already paying for. Features sit switched off, seats go unassigned, and tools that came with the tier were never set up. Before anyone talks about buying more, our first job is to get full value from what is already on your invoice.

Find what you are already paying for

We inventory the Hubs, tiers, seats and add-ons on your account against what is actually configured and in use. It is common to find a paid capability nobody knew was included.

Make the current tier do the work

A great deal of what people upgrade for can be built where you already are. We have shipped a fourteen-property validation model on the ticket object precisely so a client did not need Enterprise for it.

Cost-benefit the upgrade properly

When more really is needed, we price it as a decision: what the tier or add-on costs annually, what it removes in workaround effort, and what it unlocks that you would actually use. Sometimes a single add-on solves it instead of a tier jump.

Match the scope to the goal

Sometimes a narrow, well-defined problem is best solved directly rather than with a platform change. Knowing which situation you are in is worth establishing at the start, and it makes the case much clearer when the bigger build genuinely is the right move.

What a cost-benefit analysis looks like

A masonry and construction contractor came to us planning to move their whole CRM onto HubSpot. The specific problem they wanted solved was marketing attribution. We ran the numbers and wrote back:

If attribution is the only thing driving a move to HubSpot, that means solving attribution with a dedicated, purpose-built tool rather than migrating the entire CRM to get it.

We had already priced those tools, at roughly $50 to $450 a month depending on how deeply they needed to tie into deal-level revenue data. The same analysis was just as clear about the other side of the ledger: if lead scoring, lead qualification and sales-workflow automation were genuinely on the table too, then HubSpot was the right platform and worth the investment. The recommendation followed the math, not a preference.

We work across HubSpot, ActiveCampaign, Attio and Pipedrive, so there is no reason for us to steer the answer. That is what makes the analysis worth having.

The pattern behind almost every problem we are called into

In a mature portal, the problems are easy to miss

This is the single most useful thing to understand about a HubSpot portal once it has a few years and a few hundred automations in it. Automation that is working and automation that is doing nothing look very similar at a glance. A workflow sits enabled and never fires. An integration stops returning data while the dashboards keep rendering. The signals are usually there, in a log, a report or an empty enrollment count, but they are not where anyone is looking day to day. This is true of any large automated system, and finding them is exactly what an audit is for.

Enabled is not the same as running

A workflow can be switched on, correctly built, and inert because its trigger watches a field nothing ever writes to. We found one after auditing 125 workflows, 20 zaps and a middleware app. Another client's pipeline looked healthy; the last deal to enter it had been in June 2022.

Sent is not the same as delivered

Form notifications need the recipient to be a licensed, logged-in user, which is easy to miss when staff change. Confirmation emails can sit behind two separate automation surfaces, each invisible from the other. Documents get generated and never arrive.

Connected is not the same as flowing

An integration can stop returning data without anything obvious surfacing in HubSpot, and a missed webhook leaves a record wrong until something repairs it. Property history rarely explains why a record looks the way it does six weeks later, which is why we log integration decisions to a queryable store from day one.

HubSpot behavior that catches teams out

None of these are bugs. They are design decisions, tier boundaries or documented behaviors, and knowing them is most of what separates a portal that works from one that half works. Every item below cost a real project real time before we knew it, and several have a support ticket behind them.

Invisible

Three lifecycle automations live in Settings, not the workflow tool

New contact becomes Lead. Deal associated becomes Opportunity. Deal won becomes Customer. No workflow audit will ever surface them, because they are not workflows. Any script that creates a deal in a Won stage promotes those contacts to Customer instantly, which is how a data backfill can send onboarding email to people who cancelled years ago.

One-way

Lifecycle stage promotes but never demotes

HubSpot fires when a deal is won and does nothing when it is lost or reopened. In one portal we found 1,251 contacts who had paid, cancelled, and were still labeled Customer, some for over a year. Exactly one contact out of 2,419 had ever been set to Inactive Customer by any automated system. Something has to write the exit, and in most portals nothing does.

Easy to miss

An enabled workflow can be completely inert

We audited 125 workflows, 20 zaps and a middleware application to find a cancellation workflow that had never once fired. It was built perfectly. Its trigger watched a company field that nothing in the entire stack ever wrote to. The interface shows an active workflow either way. Confirmed as a pattern across three separate clients.

Billing

Marketing contact status is read-only over the API, and the bill is annual

You cannot demote a contact to non-marketing through the API. It has to be done with a workflow or during a CSV import. The downgrade also takes effect at your renewal date rather than immediately, because marketing contacts are priced annually. Worth knowing before a bulk import, because the difference shows up on next year's invoice.

Attribution

Original source is not yours to set

The market treats this field as gospel for attribution. HubSpot reprocesses and overwrites it, and there is no way to lock it. Any attribution model built on the assumption that original source is stable is building on sand, which is one reason we usually recommend logging attribution decisions outside HubSpot.

Easy to miss

Your form notification may not be reaching anyone

HubSpot will not deliver a form notification to someone who is not a licensed, logged-in user. The form works, the workflow is enabled, and the person expecting the alert never gets one. Nothing about it stands out until somebody asks why they were never told. Seen independently at two clients.

Data risk

One corrupted domain can associate a thousand contacts to the wrong company

HubSpot skips automatic association for free providers like gmail.com. A company record whose domain had been corrupted to gmail.comil.com was not on that exception list, so every Gmail contact in the portal began associating to it. Support staff were opening the wrong account and acting on it.

Mapping

One unmapped dropdown option can block four automations

A landing-page form used employee-count ranges that did not match the HubSpot property, so nothing was written at all. That single field stalled call routing, the follow-up email, the book-time sequence and the extended sequence. This is the clearest illustration we have of why field mapping is real work rather than a checkbox.

Tier

Custom objects are Enterprise only

On Professional you solve object-shaped problems with the ticket object plus companion properties. We have shipped a fourteen-property validation model on tickets precisely because the tier would not allow the clean answer. We also run genuine custom objects for clients who are on Enterprise, so the question is which portal you have, not which we prefer.

Duplication

Two automation surfaces can fire on the same ticket stage

Classic Workflows and a ticket pipeline's own object-automation panel are separate systems that do not show each other. We found both wired to the same stage IDs, built by different people, both switched off, with the client wondering why no confirmation email ever went out. Switching both on would have double-sent to every customer.

Data risk

Cleanup workflows can clear fields other systems depend on

A workflow whose stated job was clearing lead status for new customers also cleared an integration-owned field sixty seconds later. Every promotion to Customer was wiping data another system relied on, and because both systems were behaving as configured, neither reported a problem.

Editing risk

Long nurtures become unsafe to edit

One trial nurture ran roughly eighty chained actions across six weeks. Disabling it mid-flight orphans everyone currently enrolled. And because enrollment keyed on a lead-status string, a single integration writing that string by accident would enrol live paying customers into a six-week prospect campaign.

Undocumented

Association type IDs are magic numbers you discover by querying

3, 5, 16, 202, 279, 339, 508. Three API versions with different calling patterns. You find the right one by interrogating the API, not by reading documentation, which matters the moment anyone builds an integration that has to associate records correctly.

Integration

Your billing system reissues customer IDs

Chargebee gives the same person a new customer ID when they re-subscribe. In one dataset, 255 email addresses had two or more. If your integration keys deals on the billing ID, every returning customer becomes a duplicate deal and your revenue reporting double-counts without anything looking wrong.

Editors

The preview is not proof

HubSpot has several HTML surfaces that behave differently, and markup built for one carries wrapper divs and conditional comments that are meaningless in another. A persistent layout bug was only found by pulling the actual sent HTML out of the inbox. Both table cells carried padding the editor never displayed.

If several of these just explained something you have been chasing for monthswe can tell you which ones are live in your portal. That is what the first call is for.

Book Your Free Discovery Call

How to start

Every engagement begins the same way

  1. A free discovery call. We work out what is actually wrong and whether we are the right people to fix it.
  2. Access to your portal. Nothing useful can be said about a HubSpot portal from the outside. This is always the first real ask.
  3. Either a Deep Dive or straight into the work. If nobody can say what the portal is doing, the Deep Dive maps it and produces a prioritized plan. If you already know what you need built, skip it and buy a block of hours.

Full pricing for the Deep Dive, hour blocks, and ongoing Aftercare is on the pricing page. There are no contracts and no minimum terms on any of it.

Nothing is committed on the first call. It is thirty minutes with a senior principal, not a junior and not a salesperson. You will get an honest read on whether your portal needs an audit first, whether you can skip straight to the work, and what you could be getting from the tier you already pay for.

Before you start

HubSpot consulting FAQs

What is HubSpot?+

HubSpot is a customer platform combining a CRM with marketing, sales, service, content and operations tools, sold as separate Hubs at Starter, Professional and Enterprise tiers. Its data model is relational: contacts, companies, deals and tickets are distinct objects that associate with each other, which is what separates it from list-based email platforms. Its strengths are breadth and reporting: it is the strongest CRM we work in. Two things are worth understanding before you buy or expand. It is priced as a platform rather than as a single tool, so it earns its cost when several teams genuinely share it. And capability is organized by tier and add-on, so it is worth confirming which specific one covers the feature you have in mind rather than assuming the top tier is required.

How do we know HubSpot is the right platform for us?+

That is what the first call is for, and the honest answer depends on how much of your business needs to live in one system. HubSpot is the strongest CRM we work in and it earns its cost when marketing, sales and service genuinely need to share a platform, when reporting matters, and when you want automation across the whole funnel. It is a larger commitment than a single-problem tool. We once recommended a client solve marketing attribution with a purpose-built tool at $50 to $450 a month rather than migrate their whole CRM to get it, while telling them plainly that HubSpot would be the right call if lead scoring, qualification and sales-workflow automation were also on the table. We work across several platforms, so we have no reason to steer you toward one.

Do we need Enterprise, or can you build what we need on Professional?+

Often Professional is enough, and the answer is worth working out properly rather than assuming. The main thing Enterprise unlocks that cannot be worked around is custom objects. On Professional we solve object-shaped problems with the ticket object plus companion properties, and we have shipped a fourteen-property validation model that way. Other capabilities sit behind specific add-ons rather than the top tier: webhooks and custom code steps come with Operations Hub, and sequences need a Sales seat. We will price the options against what they remove in workaround effort, so the upgrade is a decision with numbers behind it. Sometimes that decision is yes.

Why do cancelled customers still show as Customers in our HubSpot?+

Because HubSpot's lifecycle automation only runs one way. It promotes a contact to Customer when a deal is won, and does nothing at all when the deal is lost, refunded or the subscription cancels. Something has to write the exit, and in most portals nothing does. In one portal we found 1,251 contacts who had paid, cancelled, and were still labeled Customer, some for more than a year, with exactly one contact out of 2,419 ever set to Inactive Customer by any automated system. There is a further trap: those lifecycle rules live in Settings rather than in the workflow tool, so an audit of your workflows will not find them.

Can a HubSpot workflow email the wrong people without anyone changing a workflow?+

Yes, and we have traced it end to end. A single line in a data backfill script placed cancelled customers into a Won deal stage. That tripped the built-in deal-won lifecycle automation, which promoted 5,326 contacts to Customer, which enrolled them in an onboarding survey workflow, which emailed roughly thirty people who had cancelled years earlier. No workflow was edited by anyone. This is why we run an impact analysis before any bulk change: does it create deals, will any land in a Won stage, does it associate deals, does it create contacts. Each of those answers maps to a lifecycle promotion and a possible send.

Why is our HubSpot form notification not reaching anyone?+

The most common cause is that the intended recipient is not a licensed, logged-in HubSpot user. The notification is not delivered, while the form still works and the workflow still shows as enabled, so nothing about it stands out until someone asks why they were never told. We have seen this independently at two clients. It is one instance of a broader pattern worth knowing about: in a large portal, the difference between working and not working is often easy to miss rather than obvious.

Should we move from ActiveCampaign to HubSpot?+

It depends where your work actually happens. HubSpot is the better CRM, has far stronger reporting, and covers marketing, sales and service in one system, which is why clients who need those things are glad they moved. It is priced as a platform, so the value case rests on how much of the business will genuinely use it: if your operation is mostly email and marketing automation, the case is thinner, and if sales process, pipeline reporting and post-sale operations matter, it is usually clear. One practical caution we now raise on every migration in either direction, because it has affected three separate clients: moving a list to a new platform does not carry your sending reputation with it, and open rates can fall for months afterwards. That is planned for before the migration, not discovered after.

Can you fix a portal without breaking what already works?+

That is most of the skill. We map the trigger chains first, meaning every property one workflow writes and another workflow watches, and produce a written pre-flight checklist for the specific property or object being changed. In one portal that meant cataloging 120 workflows before touching anything. Then we dry run, then we run a limited batch, then we run the rest. That is the same procedure that let us delete 21,000 junk company records across two rounds with zero errors.

Can you find out why a record in our CRM looks wrong?+

Often yes, but only if the integration was built to log its decisions. HubSpot's own property history will not tell you why a record looks the way it does six weeks later, which is exactly when someone asks. That is why we log every match, skip and create to a queryable store outside HubSpot with a structured event taxonomy. It is how we reconstructed, weeks after the fact, precisely why two paying customers' deals were sitting at zero dollars.

Can we get our Google Sheets data into HubSpot?+

Yes, and usually without paying for anything. HubSpot's built-in CSV import is free on every plan, deduplicates on email address and handles up to 10,000 records per import. There is also a HubSpot for Sheets CRM Connector released in September 2025, which is free and a different product from the older native Google Sheets integration that carries a 2.7 rating and that most advice online still points at. If you need scheduled rather than periodic syncing, Make is materially cheaper than Zapier for equivalent work. For a list you import four times a year, do not automate it at all.

Do you work in regulated industries?+

Yes. We work in healthcare-adjacent and financial services portals, where the design question is always which data belongs in the CRM and which does not. HubSpot is not HIPAA compliant, so that boundary gets drawn deliberately at the start rather than discovered later. We have built signature and agreement flows in that setting, including a Business Associate Agreement flow, and in the course of it found and fixed a failure that had gone unnoticed, where customers were submitting the form repeatedly and no document was being generated.

Book your free discovery call

Book Your Free Discovery Call

A short form first, then you pick a time on the next screen. Nothing is scheduled until you choose one.