The 3 CRM Automation Mistakes I Find in Every Client's Setup (And the Fixes)
After auditing 13+ GoHighLevel and HubSpot setups, the same three mistakes appear every time. Here's what they are, why they silently kill revenue, and exactly how to fix them.
Verification note: This post was re-reviewed in May 2026. Public tool pricing, compliance rules, and platform capabilities should be checked against the source list at the end before making budget, legal, or deployment decisions. Private client metrics are not published unless they are safe, public, and verifiable.
The audit always finds the same things
When I do a CRM audit, I start with the same four reports:
- Lead-to-appointment conversion rate
- Average time between lead creation and first contact
- What percentage of leads have zero activity after 30 days
- What percentage of automations have fired in the last 7 days
In almost every setup I've looked at, the same three problems show up - regardless of whether it's GoHighLevel, HubSpot, or any other platform. The tools are different. The mistakes are identical.
Mistake #1: The "set it and forget it" automation that's been broken for months
Every CRM has automations running in the background. The problem: nobody checks if they're still working.
Here's a typical scenario. A client set up a lead-nurture workflow 8 months ago. The workflow sends a series of emails when a lead is tagged "Qualified." The emails reference a promotion that ended 3 months ago. One of the email links goes to a page that no longer exists. The workflow has been running - and silently delivering broken experiences - the entire time.
Why this happens: Automations are invisible unless something breaks loudly. Nobody gets an alert when an email link 404s. Nobody gets an alert when a workflow sends a message that no longer makes sense.
The exact fix:
-
Monthly automation audit. Export every active workflow. For each one, answer: is the content still accurate? Are all linked pages live? Is the trigger condition still valid?
-
Dead-link monitoring. Add a tool like Dead Link Checker or Screaming Frog to your monthly routine. It crawls your site and catches broken links - including the ones inside your email templates.
-
Workflow activity dashboards. In GoHighLevel: Reports -> Workflow Activity. If a workflow has zero triggers in 30 days and should have fired, something is wrong. Build a weekly habit of looking at this.
-
Test accounts. Create a test lead in your CRM and run it through every active workflow manually twice a year. The experience you get as a lead is the experience your real leads are having.
One client of mine had a onboarding sequence that said "Welcome! Your dedicated consultant [first_name placeholder broken here] will call you within the hour." The personalisation merge field had broken when they switched CRM plans. It had been sending that message - with the broken field - for 4 months.
Mistake #2: Pipeline stages that don't match real buying behaviour
Every CRM comes with default pipeline stages. And almost every client uses them without modification.
Default HubSpot pipeline: Appointment Scheduled, Qualified to Buy, Presentation Scheduled, Decision Maker Bought In, Contract Sent, Closed Won, Closed Lost.
That's a pipeline designed for enterprise B2B sales cycles. If you're selling solar panels, high-ticket services, or anything with a different buying journey, this pipeline describes the wrong sequence of events.
Why this matters: Your automation triggers are tied to pipeline stages. If the stage structure doesn't reflect reality, the automations fire at the wrong moments. You're sending "here's what to expect" emails to people who already signed. You're sending "following up on our conversation" messages to people who haven't had a conversation yet.
The exact fix:
Map your actual sales process before touching the CRM. Not what you wish it was. What it actually is.
Start with a whiteboard exercise: what are the 5-7 distinct states a lead can be in during your sales process? Each state should:
- Represent a meaningfully different position in the buyer's journey
- Have a clear "how does a lead get here?" (trigger)
- Have a clear "what needs to happen next?" (action)
For a typical solar operation, the real stages look nothing like HubSpot's defaults. They look like:
- New - Not contacted
- Attempting contact
- Contacted - Qualifying
- Qualified - Appointment pending
- Appointment booked
- Appointment showed
- Proposal given
- Closed Won
- Closed Lost - with reason tags
Each of these stages maps to a specific automation: what message does the lead receive, what does the team need to do, what's the SLA for moving them forward.
Rebuilding the pipeline to match reality is a half-day project. The improvement in automation relevance and team clarity is immediate.
Mistake #3: No lead source tracking - so you can't kill what's not working
When I ask a client "which lead source is generating your best leads?", the most common answer is: "Facebook ads, mostly, I think."
When I pull their CRM data, I find: 4 Facebook ad campaigns, Google Ads, an old Google My Business listing, a referral partner, a previous campaign that was "turned off," and an organic lead form on the website. All of them are dumping leads into the same pipeline. None are tagged by source.
Why this matters: You can't optimise what you can't measure. If Facebook Campaign A is converting at 18% and Facebook Campaign B is converting at 4%, you need to know that so you can kill Campaign B and scale Campaign A. Without source tracking, you have no idea.
The real cost: I've seen clients spending $4,000/month on Facebook ads where 60% of the budget was going to a campaign that had never produced a qualified lead - because nobody had the data to identify it.
The exact fix:
-
UTM parameters on every source. Every ad, every landing page, every organic post that links to a lead form needs a UTM. GoHighLevel and HubSpot both pull UTMs automatically when they're present.
Minimum UTM structure:
utm_source- where the traffic came from (facebook, google, organic)utm_medium- the channel type (paid_social, paid_search, email)utm_campaign- the specific campaign name
-
Map UTMs to custom fields in your CRM. When a lead submits a form, the UTMs should auto-populate as CRM fields. GoHighLevel does this with the
sourcefield and custom URL parameters. HubSpot does it automatically when forms are embedded with the tracking code. -
Build a source attribution report. Once you have 30 days of tagged data:
- Leads by source
- Qualified leads by source
- Appointments booked by source
- Closed deals by source
This report will show you something surprising in almost every case. The source you thought was performing best isn't always the one that's actually closing.
-
Close the loop. Track all the way to closed deal, not just to lead. A source that generates 100 leads with 10% close rate is worth more than a source that generates 50 leads with 30% close rate if the deal values are the same. But if you're only measuring leads, you'll misread the data.
The audit checklist
Run this on your CRM today:
Automations:
- [ ] List every active workflow and verify the content is still accurate
- [ ] Check every email link in every active automation (use a URL scanner)
- [ ] Look at GoHighLevel Workflow Activity report - any zero-fire workflows that should have triggered?
- [ ] Run a test lead through your most important workflows end-to-end
Pipeline:
- [ ] Do your pipeline stages reflect your actual sales process?
- [ ] Does every stage have a clear trigger for entry and a defined next action?
- [ ] Are automations firing at the right stage for the right reason?
Lead source tracking:
- [ ] Is every lead source tagged in your CRM?
- [ ] Are UTMs being captured from ad traffic?
- [ ] Can you run a source -> close rate report right now? If not, you're flying blind.
These three mistakes are fixable in a day. The revenue impact of fixing them isn't speculative - it's the difference between running a system and running a mess that looks like a system.
If you want help running the audit, I'll do it with you. I've done it enough times that I know exactly where to look.
Sources and verification
This article was reviewed in May 2026. Vendor pricing, platform features, ad policies, and telemarketing rules change often, so operational or budget decisions should be checked against the current source pages below before implementation.
Private client metrics, lead counts, appointment counts, cost reductions, and revenue examples are intentionally removed, softened, or framed as modeled examples unless they can be verified publicly without exposing client data.
Need this built?
Turn this reading into a scoped operating system.
Use the intake to send the business context first, then the build conversation can stay focused on the workflow that needs to change.
Related articles
Opportunity Stage Automation in GoHighLevel: Triggers That Move Deals Without Manual Updates
> Verification note: This post was re-reviewed in May 2026. Public tool pricing, compliance rules, and platform capabiliti...
29 Apr 2026 / 7 min read
CRM Reporting: The 8 Metrics Every Service Business Should Track
27 Apr 2026
7 min
read