For teams on HubSpot

Most HubSpot problems come from a handful of platform behaviours nobody designed for.

HubSpot is easy to start and easy to bend out of shape. The issues that break pipeline reporting are usually specific mechanics: how lifecycle stages move, how companies are matched, when workflows re-enroll and what integrations are allowed to overwrite.

Part of one fixed build: $7,500, 21 days, $2,500 back if it isn't running as scoped. Pricing details

Ask yourself

Three questions that usually expose it.

  1. Can a contact go from Customer back to Lead in your portal today, and what happens to reporting when it does?
  2. Which app last wrote to your Lifecycle Stage property, and was that intended?
  3. Do your companies without a domain get deduplicated at all?

Failure modes

What breaks, and why.

FailureWhat you seeRoot cause
Lifecycle stage won't go backwardsA churned customer or recycled lead stays 'Customer' or 'SQL', so funnel reports are wrong.Workflows, imports, forms, the API and the Salesforce integration can only move lifecycle stage forward. Moving it back needs the value cleared first, and most portals have no recycle design, so stages get stuck or are reset by hand.
Company records multiply or merge wronglyContacts from a subsidiary attach to the parent, or one company exists three times.Automatic company creation and association key on the email domain, and each subdomain becomes its own company. Deduplication uses only the primary company domain, and companies created through the API or sync apps aren't deduplicated by domain at all. Subsidiaries and missing domains need explicit rules and parent-child associations.
Workflows that run once, or too oftenA nurture or routing workflow misses records that re-qualify, or keeps re-firing.Re-enrollment is off by default and only triggers on chosen criteria. Without designing it, routing silently fails the second time a lead qualifies.
Integrations overwriting good dataFields cleaned on Monday are wrong again by Friday.A connected app's mapping lets it overwrite fields HubSpot should own. In the Salesforce integration, for example, 'Prefer Salesforce unless blank' and 'Always use Salesforce' let Salesforce values overwrite HubSpot, and 'Two-way' lets the most recent edit win from either side.
Associations without meaningYou can't tell the champion from the billing contact on a deal.Associations exist but carry no labels, so reports and workflows can't use roles. Custom association labels (Professional or Enterprise) fix that.

First 48 hours

What I check before changing anything.

  • Lifecycle and lead status design: forward-only rules, recycle paths, and who can set each value
  • Company auto-create and auto-association settings, plus companies without a domain
  • Workflows: enrollment and re-enrollment triggers, conflicts writing to the same property, and inactive ones still referenced
  • Every connected app with write access and its field-level overwrite rules
  • Association labels on deals and companies, and whether reports use them
  • Deal pipelines: stage probabilities, required properties per stage, and stage-date properties. 'Date entered' records the most recent entry, so first-entry cohorts need their own stamp

Decisions we make with you

Tradeoffs, written down.

Lead status vs. lifecycle stage

Lifecycle stage is the funnel position; lead status is the sales working state. Keeping them separate is what makes both reportable.

One pipeline or several

Separate pipelines for new business and renewals keep velocity honest, but every extra pipeline multiplies reporting work. We only split where the motion genuinely differs.

Who owns which field

For each synced field we set HubSpot as owner, the other system as owner, or two-way, and write it down.

Illustrative example · not a real client

Leads that went cold and came back months later never reached sales. Cause: the routing workflow had re-enrollment off, and lifecycle stage was already past the trigger value. Fix: a recycle path that resets lead status, keeps the lifecycle history, and re-enrolls on a defined re-qualification signal.

Want this checked on your own CRM first? Get a free one-page teardown, no call needed.

FAQ

Common questions.

What happens to workflows, lists and reports that reference properties you consolidate?

Every dependency is checked before a property is retired. Workflows, lists and reports that use it are updated or rebuilt first; nothing referenced is deleted out from under them.

Can merged HubSpot records be un-merged?

No. HubSpot documents merges as permanent, and the primary record's values generally win. So we choose the primary record per your signed-off survivorship rules, merge in reviewed batches, and export everything beforehand so any value can be restored.

We sync HubSpot with Salesforce. Will you change the sync?

Only after agreeing field ownership. For each mapped field we choose which system owns it and set the sync rule to match, then confirm on a test set of records before changing it for everyone.

Will fixing lifecycle stages wreck our historical funnel reports?

Not if it's done in the right order. Stage history is captured before any recycle path changes values, so past conversion reporting stays intact while the live stages become correct.

What access do you need, and can it be limited?

A user with the permissions we agree in writing, scoped to what the build needs. You can remove it any time, and it's removed at the end of the engagement.

Bring your portal. We'll find the mechanics working against you.

Book 20 minutes and bring the CRM up on screen. I reply within 1 business day.

Book a 20-min call