A HubSpot implementation is mostly a series of decisions. Which objects hold what, which properties you create, how many pipelines, what lifecycle stages mean, who can see what, and what feeds the reports. Get those right and HubSpot is the best CRM most small and mid-sized businesses will ever use. Get them wrong and you have an expensive address book that nobody trusts.
I set up, fix and extend HubSpot for businesses in Wollongong and across the Illawarra. Most of the portals I am asked to fix were not set up badly on purpose. Someone clicked through the defaults, imported a spreadsheet and hoped. This guide is how to avoid that.
Before you touch HubSpot
Do these three things before anyone logs in to configure anything:
- Write down the processes HubSpot will run. Lead to client, quote to won, onboarding, renewals, support. One page each: trigger, steps, owner, data, done. (The systems guide has a template.)
- List the questions you want reports to answer. "Where do our best clients come from?" "How long does a deal take?" "What is in the pipeline for next quarter?" Your reports dictate which properties and stages you need.
- Decide what HubSpot owns. Contacts, companies and deals almost always. Quotes, projects, invoices and tickets depend on your other tools. Agree the source of truth for each before you build integrations.
If you cannot say what a report should show, you are not ready to create the properties that feed it.
Objects: what lives where
Objects are the main types of record in HubSpot. Pick the right ones and keep their jobs clear.
| Object | What it represents | Use it for |
|---|---|---|
| Contacts | People | Everyone you communicate with. Marketing, sales and service all hang off contacts. |
| Companies | Organisations | B2B relationships. Associate contacts and deals to them. Use domain as the unique key. |
| Deals | Potential revenue | Each sales opportunity, moving through a pipeline. Not a client, not a project. |
| Tickets | Support or service requests | Issues and requests with a status and owner, if you run service in HubSpot. |
| Products and line items | What you sell | Consistent pricing on deals and quotes. |
| Custom objects | Anything else that matters | Things like properties, vehicles, enrolments or sites, where a record has its own life and many associations. Requires an Enterprise tier. |
The two questions I ask before creating anything
- Can one contact or company have many of these? If yes, it is probably a separate object (a deal, ticket or custom object), not a property.
- Does it have its own lifecycle or status? If yes, it wants a pipeline, which means a deal, ticket or custom object.
Example: a property management business might be tempted to store "property address" on the contact. But an owner can have several properties, and each property has its own status, tenants and history. That is a custom object, or at minimum a carefully designed deal or company structure. Storing it as a contact property breaks the first time someone buys a second property.
Properties: fewer, better, documented
Properties are the fields on each record. This is where most portals go wrong, usually by creating too many.
- Use default properties first. HubSpot has sensible defaults for most things. Do not create "Mobile Number 2" when "Mobile phone number" exists.
- Dropdowns over free text for anything you will filter or report on. Industry, region, service interest, lead source detail.
- Name clearly and fill in the description. Future you, and the AI tools reading your portal, will thank you.
- Group them. Use property groups so the right fields show together on records.
- Decide where each property is set. By a form, by a rep, by a workflow, by an integration. If nobody sets it, do not create it.
- Keep a property register. A simple sheet: name, object, type, purpose, who sets it, where it is used.
A good starting portal for a service business often needs only 15 to 30 custom properties across contacts, companies and deals. If you are at 150 in year one, something has gone wrong.
Pipelines and deal stages
A pipeline is the series of stages a deal moves through. Start with one pipeline unless you genuinely have different sales processes, such as new business versus renewals, or two divisions selling different things in different ways.
Rules for good stages
- Each stage is defined by something that happened, not a feeling. "Quote sent" beats "Warm".
- Five to seven stages, plus Closed won and Closed lost.
- Each stage has required properties so data is captured at the right moment (for example amount and close date before "Quote sent").
- Win probabilities are set honestly, and reviewed after six months against reality.
- Closed lost has a required "lost reason" dropdown. This is some of the most valuable data in the portal.
Example pipeline for a B2B service business
| Stage | Entered when | Required to enter |
|---|---|---|
| New enquiry | Enquiry received and logged | Source, service interest |
| Qualified | Discovery call confirms fit, need and timing | Estimated amount, expected close date |
| Scoping | Site visit or detailed brief under way | Decision maker associated |
| Quote sent | Proposal or quote sent to the client | Amount, line items, quote link |
| Negotiation | Client has responded with changes or questions | Next step and date |
| Closed won | Signed | Final amount, start date |
| Closed lost | Declined or gone quiet past an agreed point | Lost reason |
Lifecycle stages
Lifecycle stage sits on contacts and companies and says where they are in their overall relationship with you. It is different from deal stage, which is about one opportunity.
Decide, in writing, what each stage means for your business and what moves someone into it. Then automate as much as possible: deal created sets Opportunity, deal won sets Customer. Lifecycle should only move forward. Use a separate property to track former clients rather than moving people backwards.
I go into detail on defining and repairing lifecycle stages in the CRM data clean-up guide.
Users, teams and permissions
Permissions are boring until a junior staff member bulk deletes 3,000 contacts. Set them up properly from day one.
- Limit super admins to one or two people who understand the portal.
- Use teams to group users by function or region, and to control record visibility where needed.
- Restrict delete, export and bulk edit to people who need them. Export rights matter for privacy as well as tidiness.
- Restrict property creation so new fields go through the portal owner, not whoever needs one today.
- Assign seats deliberately. Paid seats cost money. Not everyone needs a full sales or service seat. Check what each person actually needs to do.
- Offboard properly. When someone leaves, remove access and reassign their records the same week.
Integrations
HubSpot sits in the middle of most stacks I build. The question for each integration is: what syncs, in which direction, and which system wins if they disagree?
| Tool | Typical connection | What flows |
|---|---|---|
| WordPress | HubSpot forms or the HubSpot plugin, plus tracking code | Enquiries, page views, source data into HubSpot |
| PandaDoc | Native integration from the deal record | Deal and contact data into quotes. Status and value back to the deal. |
| Asana | Native integration or a workflow-driven automation | Won deal creates a project from a template. Delivery status back to HubSpot. |
| Email and calendar | Native Google or Microsoft connection | Emails and meetings logged against records |
| Accounting package | Native or third-party connector | Invoice and payment status visible on companies and deals |
| Anything with an API | Custom integration via APIs and webhooks | Whatever the native options cannot do |
Before switching any integration on, map the fields. Know which HubSpot properties each one writes to, and whether it can create new records. Integrations are one of the biggest sources of duplicates and junk properties I find. More on connecting the wider stack in systems integration.
Reporting and dashboards
Build reporting from the questions you listed at the start. A good first set for a service business:
- Pipeline by stage and expected close month (what is coming).
- Deals won and revenue by source (what marketing is working).
- Win rate and average deal size by service and by owner.
- Average time in each deal stage (where deals stall).
- Lost reasons (why you lose).
- Speed to lead: time from enquiry to first contact.
- Activity: calls, meetings and emails logged per rep, if that matters in your business.
One dashboard for leadership, one per team. Fewer reports that people look at weekly beat 40 reports nobody opens. If a report is wrong, fix the data or the definition. Do not build a spreadsheet next to it.
Migrating to HubSpot
Migration is where good intentions go to die. The rule: clean before you move, map before you import, test before you switch.
Audit the old system
Export everything. List objects, fields, record counts, integrations and automations in the current CRM.
Clean the data
Dedupe, remove junk and dead records, standardise values. Do this before importing, not after.
Map fields
For each old field: map to a default property, a new custom property, or drop it. Most old fields get dropped.
Build the portal
Properties, pipelines, lifecycle, permissions and integrations set up before any data arrives.
Test import
Import a sample of a few hundred records. Check associations, owners, dates and values carefully.
Full import
Companies, then contacts, then deals, then activities and notes, with associations intact.
Parallel check
Spot check records against the old system. Run key reports in both and compare totals.
Switch and train
Pick a cut-over date, train the team on their real work, and turn off write access to the old system.
What to bring across, and what to leave
- Bring: active and recent contacts and companies, open deals, won deals for history and reporting, recent notes and key attachments.
- Think hard about: very old closed deals, years of email history, every attachment ever uploaded.
- Leave: junk, duplicates, test records, fields nobody can explain. Keep a dated archive export of the old system for reference.
Example: a business moving 25,000 contacts from an old CRM often finds that after cleaning, 10,000 to 15,000 are worth bringing across. That is less to map, less to pay for, and a cleaner start.
Common HubSpot mistakes
- Importing before designing. The spreadsheet's columns become your property model.
- Property sprawl. A new field for every request, no descriptions, half of them duplicates.
- One pipeline per salesperson, or a pipeline per product when the process is the same.
- Vague deal stages like "Hot" and "Warm" that mean different things to different reps.
- Lifecycle stages set by hand and never updated.
- Everyone is a super admin.
- Integrations switched on without field mapping, creating duplicates and junk properties.
- Workflows nobody owns, some of them contradicting each other.
- Marketing contacts left unmanaged, so you pay to store people you will never email.
- No training, so the team keeps working out of their inboxes and spreadsheets.
When custom apps make sense
HubSpot's standard tools cover most of what a small or mid-sized business needs. Custom development on HubSpot's developer platform, such as app cards that show data from other systems on a record, custom integrations and backend logic, makes sense when:
- Your team constantly switches to another system to look something up while working a HubSpot record.
- You need to push or pull data with a system that has no native integration, or the native one does not do what you need.
- Your process needs a calculation, validation or action that workflows cannot handle cleanly.
- You want AI features working inside HubSpot on your own data, under your own rules.
It does not make sense when the standard tools would work if the process were simpler, or when you are building around a data problem that a clean-up would fix. My HubSpot custom app work starts from $15,000, so I will always check whether a property, a workflow or a native integration would do the job first.
FAQ
How long does a HubSpot implementation take?
For a small to mid-sized business, typically four to ten weeks depending on the number of hubs, pipelines, integrations and how much data needs cleaning and migrating. Discovery and data clean-up usually take longer than the configuration itself.
Which HubSpot tier do we need?
It depends on what you need to automate, report on and control. Many small businesses do well on Starter or Professional tiers for the hubs they use. Enterprise makes sense for things like custom objects and more advanced permissions. Work out your requirements first, then pick the tier, not the other way round.
Can we migrate our old CRM data into HubSpot?
Yes. Contacts, companies, deals, notes and activities can all be migrated with associations intact. The key is cleaning and mapping the data first, so you only bring across what is worth keeping.
Should we set up HubSpot ourselves?
You can, and HubSpot's onboarding resources are good. The risk is in the design decisions, which are hard to undo once data and workflows depend on them. A few hours of senior advice before you start is cheap insurance.
Do you work on site?
Yes. I am based in Wollongong and work on site across the Illawarra, Shoalhaven and Southern Highlands, and remotely with businesses anywhere in Australia.
Next steps
Write down your processes and the questions you want your reports to answer. That one exercise will make every HubSpot decision easier. If you want someone to design it with you, or fix a portal that has already gone sideways, get in touch.