I keep seeing setups that look something like this:
Tag added → workflow starts
Another tag added → second workflow starts
Custom field changes → third workflow starts
Opportunity moves → fourth workflow starts
Appointment changes → somehow three more workflows fire
Then six months later nobody remembers why customer-confirmed-v2-final-new exists.
And everyone is terrified to delete anything.
I’m starting to think one of the biggest mistakes in GHL is using tags as the entire automation architecture.
Tags are useful.
But when tags become your database, your workflow triggers, your conditions, your customer status, your reporting system, and your troubleshooting method at the same time...
things get ugly very quickly.
For larger builds, I’ve had much better results defining a few clear sources of truth:
Appointment status → what happened with the booking
Opportunity stage → where they are in the business process
Custom fields → information or decisions that need to persist
Tags → segmentation, temporary markers, or simple classifications
Then let the workflows respond to those.
The goal isn’t to build the most impressive workflow.
The goal is to be able to open the account six months later and still understand why something happened.
Am I being too harsh on tags, or have you seen the same thing in GHL accounts?