Skip to main content
    Proof
    Impress Blinds — cost per enquiry down 62.63%, $23.6 to $8.82SLS Solicitors — cost per enquiry down 58.48%, $84.64 to $35.14FixCare Property — cost per enquiry down 56.36%, $35.24 to $15.38Rubbish Removal WA — cost per enquiry down 53.18%, $71.02 to $33.25Floral Cakery — cost per enquiry down 49.82%, $13.83 to $6.94ILLUMINATE Laser Emporium — cost per enquiry down 48.54%, $138.65 to $71.35Aussie Plumbing — cost per enquiry down 41.96%, $117.75 to $68.34Sydney Fence Painting — cost per enquiry down 33.68%, $136.62 to $90.61Alliance Plumbing — cost per enquiry down 29.6%, $81.26 to $57.21Gridless Build Solutions — cost per enquiry down 29.16%, $78.16 to $55.37FacilityWorx — cost per enquiry down 23.62%, $157.13 to $120.01Cornerstone Roofing — cost per enquiry down 20.47%, $41.71 to $33.17A council finance platform — 194 of 194 requirements metA council finance build — 14 weeks to UAT, −34% 10-yr costA cultural institution — $634K of $750K kept workingA council platform — $470,106 built vs $503,262 SaaSA federal agency — n=5,000 prevalence survey at ±1.4%A civic mural — 36 concepts for a 71m × 9m wallA regional shire — 32-page visitor guide, 3 weeks earlyA shire council — one platform retiring 8 of 9 vendorsA pressure washing business — 138 jobs at A$20.43 eachA pressure washing business — 21.20% conversion rateA carpet cleaner — 53 jobs in 15 days at A$24.92 eachA roofing company — 68 quote requests in 35 daysA CCTV installer — 39 qualified leads in 15 daysA fence painter — 36 jobs in 24 days, quotes by day 3A maintenance business — live in 8 weeks, 3 stacks gone41 numbered clauses, published in full5.0 across every Google review$120M+ in media under management250+ active engagements across five countries
    Small Business

    CRM Under 1,000 Contacts: Stop Losing Warm Leads

    You paid for 40 leads last month and closed 8 — the other 32 are rotting in your CRM right now.

    For Australian service businesses under $5M, a messy contact database kills more revenue than a bad ad campaign, because those leads are already sunk-cost paid for.

    This checklist takes one evening, works inside GoHighLevel or HubSpot Starter, and shows you exactly which warm leads you can call back tomorrow.

    • 12 April 2025
    • 16 min read
    • 3,506 words
    • 4 sources

    Your ad budget has a leak — and it's not the ads

    You ran Google Ads last month. Leads came in. A handful converted. The rest? They are sitting in your CRM in a stage called 'New Lead', with no follow-up sent, no tag applied, and no automation enrolled. The money to acquire them is already spent — and it is rotting.

    The five-minute window you are almost certainly missing

    According to Salesforce's State of the Connected Customer 2023 report, businesses that follow up within five minutes of a lead coming in are nine times more likely to convert than those who wait 30 minutes or longer. Most Australian service businesses follow up the next morning — or not at all. That is not a sales problem. That is a CRM setup problem. If your CRM had a working automation, the follow-up would have gone out at 8:31am without you touching anything.

    What the fall-through rate actually costs you in dollars

    Run the numbers for your own situation:

    • 30–50 leads per month at a cost-per-lead of $40–$120 (typical for trades and clinics running Google Ads in metro Australia)
    • A 40% fall-through rate — leads who enquired and were never meaningfully followed up
    • That is 12–20 lost leads per month, at $480–$2,400 in wasted ad spend — every single month

    And that figure does not include the job revenue those leads would have generated. At an average job value of $800 for a trade or $350 for a clinic appointment, a 40% fall-through on 50 leads is $5,600–$14,000 in missing monthly revenue from a pipeline that already has the contacts in it.

    A simple illustration of a leaking bucket labelled 'Ad Spend' with coins falling out of holes labelled 'No Follow-Up', 'Wrong Pipeline Stage
    A simple illustration of a leaking bucket labelled 'Ad Spend' with coins falling out of holes labelled 'No Follow-Up', 'Wrong Pipeline Stage', 'Duplicate Contacts'

    Why admin overload is the real culprit

    The Australian Small Business and Family Enterprise Ombudsman's 2023 Small Business Counts report found that 62% of small businesses cite 'admin overload' as the reason customer follow-up falls through. That statistic is worth sitting with. The CRM is not broken. The leads are not bad. The system was never set up to work without you manually pushing every contact through — and at 9pm after a full day on the tools or in clinic, that is not happening.

    The leads rotting in your CRM cost you just as much as the ones you closed — you just don't feel the pain yet.

    What 'CRM hygiene' actually means for a sub-1,000-contact database

    CRM hygiene is not a big-company concept. It applies just as directly to a 400-contact database as it does to a 40,000-contact one — arguably more so, because at sub-1,000 contacts, every single record represents a real conversation with a real person who has already raised their hand.

    The working definition

    CRM hygiene is the practice of keeping every contact record accurate, tagged, sequenced, and sitting in the correct pipeline stage — so that automations fire when they should, and nothing slips through because of a missing field or a stale status. It is not a one-time clean. It is a 10-minute weekly habit built on a one-evening foundation audit.

    Why solo operators have it worse

    HubSpot's 2024 State of Sales report found that 27% of sales reps name poor CRM data quality as their number-one barrier to closing deals. That figure is from teams with dedicated sales ops people. For a solo founder who built the contact database themselves — adding contacts manually between jobs, importing a spreadsheet from a previous booking system, or letting a web form dump leads in without a tagging rule — the data quality problem is typically much worse. There is no one auditing the records because there is no one whose job it is.

    The four buckets where problems cluster

    For a sub-1,000-contact CRM, hygiene problems almost always fall into exactly four areas:

    1. Duplicate contacts — the same person exists twice or three times under different email addresses or phone numbers, splitting their activity history and firing automations multiple times
    2. Missing lead-source tags — contacts with no 'Source' property (Google Ads, Meta, Referral, Organic) that make attribution impossible
    3. Stale pipeline stages — contacts sitting in 'New Lead' or 'Contacted' for weeks or months, with no movement and no sequence enrolled
    4. Broken or never-built follow-up automations — workflows that were set up once and have been silently failing, or that were never built at all
    Four-quadrant grid — each quadrant labels one of the four CRM hygiene buckets with an icon: duplicate person silhouette, missing tag icon, c
    Four-quadrant grid — each quadrant labels one of the four CRM hygiene buckets with an icon: duplicate person silhouette, missing tag icon, clock with a warning

    The good news: on a sub-1,000-contact database, all four of these can be diagnosed in under 90 minutes using the tools already inside GoHighLevel or HubSpot Starter — no paid add-on, no consultant required for the audit itself.

    The four-bucket audit you can run tonight in under 90 minutes

    Clear 90 minutes. Open your CRM. Work through each bucket in order — do not skip ahead to rebuilding automations before you have cleaned the contact records, or you will automate the mess.

    Bucket one: duplicates

    Duplicates are the most damaging hygiene problem because they split automation history and cause the same person to receive multiple follow-up sequences. Here is how to surface them in each platform:

    • GoHighLevel: Navigate to Contacts › Smart Lists › create a new list with no filters, then sort by Email column. Identical email addresses will group together visually. Alternatively, export to CSV (Contacts › Bulk Actions › Export) and run the check in Google Sheets — see the GoHighLevel section below for the exact formula.
    • HubSpot Starter: Go to Contacts › Actions › Manage Duplicates. HubSpot surfaces likely duplicates based on matching email, phone, or name. Work through the list — each card shows you which record to keep and what will be merged.

    Bucket two: untagged lead sources

    Any contact without a Source property cannot be attributed to a campaign. That means you cannot tell whether your Google Ads spend or your Meta spend is actually producing bookings — you are flying blind on budget allocation.

    • GoHighLevel: Create a Smart List filtered by: Custom Field 'Lead Source' is empty. Bulk-select all results and use Bulk Actions › Update Field to apply the closest known source. If you genuinely do not know the source for a contact older than 90 days, tag them 'source-unknown' so they are at least visible and excluded from attribution reporting.
    • HubSpot Starter: Go to Contacts, add the 'Original Source' column to your table view. Filter for 'Original Source is unknown'. For any contact added manually, you will need to update the 'Lead Source' property individually or in bulk via Actions › Edit Properties.

    Bucket three: stale pipeline stages

    These are your warm leads rotting. Filter for contacts sitting in 'New Lead' or 'Contacted' for more than 14 days with no last-activity update. In both GoHighLevel and HubSpot Starter, you can add 'Last Activity Date' as a filter column and sort ascending — the oldest records surface immediately.

    Do not delete these contacts. Do not move them to a 'Lost' stage out of tidiness. They need a re-engagement sequence — see Section 6 for the exact copy. Flag every one of them tonight by adding the tag 'reactivation-[month][year]' (e.g., 'reactivation-apr25') so you can enrol them into an automation immediately.

    Bucket four: broken automations

    In GoHighLevel, navigate to Automation and open each active workflow. Look at the Enrolled and Failed counts in the top-right corner of the workflow canvas. A Failed count above 5% of Enrolled is a red flag — it usually means a trigger tag was renamed, a pipeline stage was deleted, or a connected integration (calendar, SMS number) lost its authentication. Click into 'Failed' contacts to read the error message — it will name the exact step that broke.

    In HubSpot Starter, go to Automation › Workflows (if on a workflow-enabled tier) or check Sequences › Sequence Performance for step-by-step open and reply rates. A step with a 0% completion rate in an otherwise active sequence usually means the connected inbox has been disconnected.

    The leads rotting in your CRM cost you just as much as the ones you closed — you just don't feel the pain yet.

    GoHighLevel specifics: the exact screens to check first

    GoHighLevel is the platform SoudCoh recommends for most Australian service businesses under $5M because the sub-account structure, built-in SMS, and pipeline automation are all in one place. Here is exactly where to look.

    Finding duplicates with a Google Sheets formula

    Export your full contact list: Contacts › Bulk Actions › Export All. Open the CSV in Google Sheets. In an empty column next to the email column (assume column B), paste this formula into row 2 and drag it down:

    =COUNTIF($B:$B,B2)>1

    Any cell that returns TRUE is a duplicate email address. Filter the column for TRUE values, copy those email addresses, and take them back into GoHighLevel to merge manually or via the deduplication tool.

    Using the built-in merge tool before building anything new

    GoHighLevel's Sub-Account Contact Deduplication tool lives at Settings › Business Info › Merge Duplicates. It matches on identical email address or identical phone number and merges the records, preserving the most recent activity history. Per GoHighLevel's public documentation at help.gohighlevel.com, this merge is non-reversible — so run your CSV export first as a backup, then run the merge.

    Critical: run this merge before you build any new automation. If you build a workflow first and then merge contacts, the enrolled-contact counts in your workflows will be inaccurate and some contacts will have partial automation histories from both pre-merge records.

    Setting the right timezone before you activate anything

    GoHighLevel's workflow time-window setting — the feature that prevents your SMS from firing at 2am — uses the timezone set in your sub-account, not a global setting. Go to Settings › Business Info and confirm the timezone is set to Australia/Sydney. If your business is in Queensland, set it to Australia/Brisbane (no daylight saving). This one setting affects every workflow in the sub-account. Set your follow-up windows to 8:30am–8:00pm to stay within reasonable contact hours and reduce opt-out rates.

    HubSpot Starter specifics: the free tools most owners never open

    HubSpot Starter costs $20–$50 AUD per month for most service businesses and includes enough pipeline and sequence tooling to run a clean follow-up system for sub-1,000 contacts. The problem is that most owners use it as an address book with a pipeline column. Here is what else is in there.

    The Contact Activity feed as a lead-temperature gauge

    Every contact record in HubSpot has an Activity feed on the right panel — it shows the last email open, last page visit, last form fill, and last logged call. In your Contacts list view, add 'Last Activity Date' as a column, then sort ascending. Every contact with no activity in the last 30-plus days is a candidate for your re-engagement sequence. This is not a manual process — set up the saved filter once and come back to it every Monday.

    Building a three-touch re-engagement sequence in 20 minutes

    Go to Sales › Sequences › Create Sequence. Build it like this:

    1. Step 1 (Day 1): Automated email — personalised plain-text, no HTML template, subject line: 'Following up on your [service] enquiry'
    2. Step 2 (Day 3): SMS task (if opt-in confirmed) or a second email variant
    3. Step 3 (Day 7): Manual call task assigned to you, with a note template pre-filled

    Once the sequence is built, go to your Contacts view, filter for the stale-stage contacts you identified in Bucket Three, bulk-select them, and choose Actions › Enrol in Sequence. The whole process — build plus enrol — takes under 20 minutes the first time.

    A re-engagement sequence built in 20 minutes tonight can book jobs from leads you paid for three months ago.

    Using the Deal Stage Funnel report to prove the fix worked

    HubSpot Starter does not include custom reporting, but the built-in Deal Stage Funnel report is under Reports › Reports Library › Sales › Deal Stage Funnel. Take a screenshot of it tonight before you run the audit. Take another screenshot in four weeks. The change in the 'Contacted → Proposal Sent' conversion rate is your proof-of-work — and the number you use to decide whether to keep running the system yourself or hand it to someone.

    The re-engagement sequence that books jobs from dead leads — with real copy

    A dead lead is not a lost lead. It is a person who raised their hand, got distracted by life, and has not heard from you since. They chose you once. A direct, no-pressure message often gets a reply within hours — because the buying intent was real, it just went cold.

    The three-touch structure

    Keep it simple. Three touches over seven days. Do not automate beyond this — after seven days with no reply, move the contact to a 'Long-term nurture' stage and let a monthly newsletter do the work.

    Touch Day Channel Purpose
    1 Day 1 Plain-text email Re-open the conversation, acknowledge the gap
    2 Day 3 SMS (opt-in only) Direct booking link, one sentence
    3 Day 7 Manual call task Personal call — log outcome and move stage

    The actual copy to use — copy and adapt it now

    Touch 1 — Email (plain text, no logo, no footer banner):

    Subject: Quick follow-up — [Your Business Name]

    Hi [First Name],

    You reached out a few weeks ago about [service type]. I want to make sure we didn't drop the ball on our end.

    If you're still looking for help with [service], I'd love to have a quick chat this week — no pressure, just 10 minutes to work out if we're the right fit.

    Here's my calendar: [Booking Link]

    [Your Name]

    Touch 2 — SMS (confirmed opt-in contacts only):

    Hi [First Name], [Your Name] from [Business]. Still happy to help with [service] — book a time here: [Short Link]. Reply STOP to opt out.

    Touch 3 — Manual call task note template:

    Call [First Name] re: [service] enquiry from [date]. Goal: confirm still interested, book a site visit / consult. If no answer: leave voicemail referencing email sent [date]. Log outcome and update pipeline stage.

    Australian compliance — do not skip this part

    SMS marketing to contacts who have not explicitly opted in may breach the Spam Act 2003. If your lead came in via a web form that included a checkbox with wording like 'I agree to receive SMS updates from [Business Name]', you are covered for Touch 2. If the lead came via a phone call, a referral, or an older form without that checkbox, use email for Touches 1 and 3 only and skip the SMS entirely. When in doubt, check the Australian Communications and Media Authority guidance at acma.gov.au before you activate any SMS sequence.

    How to trigger this in each platform

    • GoHighLevel: Build a Workflow with the trigger 'Contact Tag Added' and set the tag to 'reactivation-apr25' (or whatever tag you applied during Bucket Three of the audit). When you bulk-add that tag to stale contacts, the sequence fires automatically for each one.
    • HubSpot Starter: From the Contacts view, filter for the stale-stage contacts, bulk-select, and choose Actions › Enrol in Sequence. Select the three-touch sequence you built earlier. HubSpot will send Touch 1 immediately and schedule the rest.
    A re-engagement sequence built in 20 minutes tonight can book jobs from leads you paid for three months ago.

    What to tag, track, and check every Monday morning in five minutes

    The audit is a one-evening event. The maintenance is a five-minute Monday habit. If you do not build the habit, you will be running the same audit again in six months on the same mess.

    The Monday morning ritual

    Open your CRM every Monday before you look at email or messages. Do these three things in order:

    1. Open your 'Monday Check' saved filter (instructions below). Confirm every new lead from the last seven days has a Source tag and is enrolled in a follow-up sequence.
    2. Check your automation Failed counts in GoHighLevel (Automation › each active workflow) or your Sequence performance in HubSpot (Sales › Sequences). Any new failures need to be fixed before they compound.
    3. Move any contact that has replied or booked to the correct pipeline stage. Do not leave 'Contacted' contacts in 'New Lead' — stale stage data is how this whole problem starts again.

    Building the saved filter in each platform

    GoHighLevel — Smart List setup:

    1. Go to Contacts › Smart Lists › + New Smart List
    2. Add filter: Lead Source is empty OR Pipeline Stage is 'New Lead' AND Last Activity Date is more than 7 days ago
    3. Save the list as 'Monday Check'
    4. Bookmark the URL in your browser — it will always open to this filtered view

    HubSpot Starter — Saved filter setup:

    1. Go to Contacts, click Add Filter
    2. Set: Original Source is unknown OR Lifecycle Stage is 'Lead' AND Last Activity Date is more than 7 days ago
    3. Click Save Filter and name it 'Monday Check'
    4. Pin it to your left sidebar for one-click access

    The one metric that tells you whether any of this is working

    Track one number every month: the ratio of leads entering the pipeline to leads reaching 'Proposal Sent' (or whatever your equivalent conversion stage is). If before the audit that ratio was 25% and after four weeks of clean tagging and working automations it is 40%, you have recovered real booked jobs — at zero additional ad spend. That is the number to take to whoever controls your marketing budget.

    Line chart — x-axis: Month 1 to Month 4, y-axis: Lead-to-Proposal Conversion Rate — showing a flat line at ~25% for Month 1, then a step-up
    Line chart — x-axis: Month 1 to Month 4, y-axis: Lead-to-Proposal Conversion Rate — showing a flat line at ~25% for Month 1, then a step-up to ~40% in Month 2 p

    When to stop DIY-ing and hand the CRM to someone who does this every day

    The audit in this article is designed to be done by you, tonight, on a sub-1,000 contact database. But there is a version of what you find that tells you the one-evening fix is not enough.

    The three signals that mean you need help

    Stop and get help if your audit surfaces any of these:

    • More than 200 untagged contacts — bulk-tagging 200 records and then building attribution logic from scratch is a multi-session rebuild, not an audit
    • Three or more broken automations — broken workflows usually mean the underlying pipeline structure (stage names, tag taxonomy) was never documented, which means fixing one workflow breaks another
    • No written pipeline stage definitions — if you have never written down what 'Contacted' actually means in your business (did someone call them? did they reply?), your pipeline data is fiction and no automation can fix fictional data

    What SoudCoh actually does — and why it is different from a generic VA

    SoudCoh works with Australian service businesses — trades, clinics, professional services — on CRM hygiene and pipeline automation inside GoHighLevel and HubSpot Starter. The process is specific:

    1. Contact database audit — duplicates, source tagging, stage accuracy, automation failures — documented in a report with exact counts
    2. Workflow rebuild — every automation is rebuilt with Australian timezone rules (AEST/AEDT transitions matter in GoHighLevel), Spam Act opt-in checks on every SMS sequence, and stage definitions written for your actual sales conversation — not copied from a SaaS template
    3. Monday-morning handover — a one-page checklist written for your specific service type, so you can maintain it yourself after handover without needing to call anyone

    See real examples of this process in action across the accounts we have written up — including pipeline rebuilds for a trades client and a health clinic client, both with before/after lead-to-booking conversion rates.

    Why specificity to Australia matters here

    A generalist VA or an offshore CRM admin will set your workflows to UTC. They will not know that GoHighLevel's Australia/Sydney timezone observes AEDT in summer and AEST in winter, and that this shifts your 8:30am send window by a full hour for six months of the year. They will not check your SMS sequences against the Spam Act. They will not map your pipeline stages to a Fair Work-compliant admin process if you have staff managing follow-up. These are not edge cases — they are the things that cause your clean CRM to quietly stop working two months after the build.

    If you want to understand what SoudCoh's paid ads management, SEO, or web design work looks like alongside a CRM build, the about page explains how those services connect in practice for service businesses.

    What to do next: Run the four-bucket audit tonight — it costs nothing and takes 90 minutes. If what you find is manageable, use the Monday habit to keep it clean from here. If what you find is a database that has never been properly structured, do not spend another week and another ad budget on top of a broken foundation. Book a free CRM audit with SoudCoh through the work we do on lead quality and find out exactly how many booked jobs are sitting in your contact database right now.

    What to do next

    Book a free CRM audit with SoudCoh at soudcoh.com/contact and find out exactly how many booked jobs are sitting in your contact database right now.

    There is a calculator for the arithmetic above: work out your own cost per booked job. It runs on your own figures, needs no sign-up, and shows its workings.

    Talk to SoudCoh

    Where the claims in this piece come from.

    Listed so you can check the reasoning rather than take it on trust. If a source has moved or been superseded, tell us and we will correct the piece.

    1. HubSpot 2024 State of Sales report: 27% of sales reps say poor CRM data quality is their top barrier to closing — https://www.hubspot.com/state-of-sales

    2. Salesforce 'State of the Connected Customer' 2023: businesses that follow up within 5 minutes are 9x more likely to convert a lead than those who wait 30+ minutes — https://www.salesforce.com/resources/research-reports/state-of-the-connected-customer/

    3. GoHighLevel public documentation on pipeline automation triggers and sub-account contact deduplication — https://help.gohighlevel.com

    4. Australian Small Business and Family Enterprise Ombudsman 2023 Small Business Counts report: 62% of small businesses cite 'admin overload' as a reason customer follow-up falls through — https://www.asbfeo.gov.au/research-and-policy/asbfeo-research/small-business-counts

    Read next

    Filed under the same desk first. The full index is searchable and filters by reader.

    If you would rather we just did it.

    The briefing above is the reasoning. These are the pages that describe what it looks like as a piece of paid work, including what it costs and what gets reported.

    Related evidence from live accounts.

    These are individual engagements where the market, system or measurement problem overlaps with the briefing. Each study names its window and the evidence available; none is a forecast for another account.

    Apply it to your account

    Reading it is the easy half. Thirty minutes with someone who runs accounts and you leave with a written list of what is leaking on yours — yours to keep either way.

    No pitch deck. No upsell. A real conversation and a written list of leaks.