WORKSHOPS AND EVENTS
Ad leads answered straight away, not whenever someone checks.
A DIY workshop and event studio running Facebook and Instagram lead ads, needing every lead to get a reply and a path to a booked appointment.
The problem
What was going wrong
Leads from Meta lead ads needed a fast first reply and a follow-up path through to a booked appointment, with no manual exporting in between.
The lead form also had no SMS consent, so texting those leads was not an option until that was fixed, and live Meta forms cannot be edited once published.
What I built
The system, piece by piece
Meta Instant Forms into GHL
Each form connected and its answers mapped to GHL fields, so every lead arrives with what they told the ad.
Instant reply and timed follow-up
A booking message goes out straight away. After a day the system checks for a reply: a reply moves the opportunity to Engaged, silence sends a follow-up. After two more days without a booking, another follow-up. Once booked, reminders go out and the pipeline stage updates. A visual flow diagram and full message copy were delivered with it.
SMS consent the carriers accept
Consent was added through Meta's custom disclaimer on a duplicated form, since live forms cannot be changed. The draft was checked for missing elements, like the "not a condition of purchase" line, the HELP keyword and the terms link, and a terms page and toll-free verification answers were drafted alongside it.
A silent mapping failure, fixed
A test lead arrived with one field empty. The cause was a dropdown field that silently drops any value not matching its options exactly. The field was switched to text, with workflow branches that check whether it contains a value instead of requiring an exact match.
Reasoning
Why it was built this way
Why text fields beat dropdowns for ad data
When Facebook sends a value in a slightly different format, a dropdown discards it with no error, and every branch that depends on it quietly fails. A text field with "contains" logic keeps working even if the ad's answer labels change later.
Why consent was checked before publishing
A Meta lead form cannot be edited after it goes live. Getting the disclaimer right before publishing was the only chance to get it right without starting another form and redoing the mapping.
What changed
The result
Every ad lead lands in GHL with its answers mapped, gets an immediate reply, and is followed up until it books or goes quiet, and the form now collects SMS consent that carriers accept.
Described in terms of what the system does. No performance figures are published here, because none have been independently verified.
Next Step
Recognise any of this in your setup?
Every project starts with an audit of what you already have, sent to you in writing before any building starts.