Revenue Operations ยท CRM & Marketing Automation

Event lead-capture & nurture system, built end to end in GoHighLevel

A two-vertical capture, segmentation, and nurture engine that turns a live event booth into a measurable, automated lead funnel. I designed, built, and debugged the whole thing solo, then ran it live at a 2,500+ attendee event.

Results from a single event

107
qualified leads captured
81
opted in to email (76%)
29
discovery calls requested
2
verticals, isolated & routed

Captured across two business lines (medical tourism and wellness retreats) in separate sub-accounts. Pipeline value shown in-platform is open opportunity value, not closed revenue.

The problem

Leads were being collected. Almost nothing was being done with them.

The business was collecting interest at live events but had nothing underneath it. Leads landed in an overcrowded CRM with thousands of inconsistent tags, no routing, and no follow-up. When I audited it, opportunities were just sitting at the entry stage with no owner and no nurture behind them.

The constraint was never lead volume. It was the missing layer underneath it. There was no reliable way to capture, gate consent, segment, route, and follow up at the speed an event demands, and it had to work for two different business models at once.

What I built

One architecture, two verticals, fully automated from scan to nurture

Each vertical runs in its own sub-account so the two never bleed into each other, but they share one architecture: QR-driven capture, consent logic, routing, pipelines, recommendation quizzes, lifecycle nurture, and reporting.

Event capture

QR codes route to vertical-specific forms that trigger an automated capture workflow on submission.

Consent & compliance

Custom-field consent gating with real DND suppression for non-opt-ins. Capture is never blocked; marketing enrollment is.

Segmentation & routing

Recommendation quizzes and tag-based routing sort leads by interest, theme, and intent.

Lifecycle nurture

Multi-email sequences with staged CTA escalation and a format matched to each relationship stage.

Pipeline design

Stage architectures mapped to the real customer journey for each business model.

Reporting

Per-vertical dashboards, smart lists, and durable source attribution for follow-up and measurement.

Capture & consent

A single workflow that captures, tags, routes, and gates consent

When someone submits the form, the workflow creates the opportunity, applies a precisely named event tag, sends a confirmation, then splits two ways. Discovery-call requests get flagged for a human to follow up, and an explicit consent check decides whether the lead enters email or gets suppressed.

Capture workflow canvas
The full capture workflow, from form trigger through opportunity creation, tagging, confirmation, and the parallel discovery-call and consent branches.

Consent runs off a custom field instead of the platform's native element, because that native element isn't readable in action-level logic in this account. Leads who don't opt in are still captured and routed fully. They just get suppressed from marketing email through DND, which keeps the list clean.

Consent branch close-up
The consent branch. An explicit opt-in puts them into email, and everyone else is suppressed through DND rather than dropped.

Segmentation

Recommendation quizzes that route leads instead of just scoring them

Instead of letting people pick options that contradict each other, two quizzes work out the right path for them. The medical-tourism one is a recommendation engine, where interest plus experience preference resolve to a destination. I built it as chained conditional logic to get past the platform's per-node branch limit, with a catch-all so nobody falls through.

The retreat quiz scores people into one of four emotional themes. The platform wouldn't save the computed result to a field, so I routed off the strongest saved answer instead, matching on keywords rather than exact text. That sidesteps the punctuation mismatches that quietly break exact-match conditions.

Medical tourism quiz
Medical-tourism recommendation quiz.
Retreat theme quiz
Retreat theme-matching quiz.
Theme routing logic
Theme routing. Conditional branches off the saved answer field, with a catch-all.

Pipelines

Stage architecture mapped to two different customer journeys

The two business models need different funnels. The medical-tourism pipeline is a tight consult-to-booking journey. The retreat pipeline runs the whole lifecycle, from inquiry through discovery call, intake, payment milestones, pre-arrival, and post-retreat, because each stage kicks off a different operational touchpoint. There are no dead or parking stages. Every stage maps to something that actually happens.

Medical pipeline stages
Medical-tourism pipeline, consult-to-booking stages.
Retreat pipeline stages
Retreat pipeline, the full 11-stage lifecycle from inquiry to post-retreat.

Lifecycle nurture

Content matched to the relationship stage, not one template for everything

The nurture is a multi-email sequence that escalates its ask on purpose. It starts with a reply, then gives value, then a soft explore link, and only then asks for the booking. The early emails use a plain personal-note format, because for warm leads who just met the brand in person, something that reads like a real person wrote it beats a heavily designed template. Later, longer-term emails switch to branded design, since at that frequency pretending each one is personal would feel fake.

Nurture sequence
Nurture sequence with staged waits.
Finished email
Brand-matched email with merge-field personalization.

Measurement & data

Per-vertical dashboards and structured data on every lead

Each sub-account has its own dashboard tracking total leads, consent, discovery-call interest, and pipeline distribution. That turns the follow-up gap, which used to be invisible, into a number anyone can watch. Source attribution gets stamped at capture so it survives later tag edits.

Dual dashboards
Both verticals side by side: leads, consent, discovery-call interest, funnel, and stage distribution.
VerticalLeadsConsentedDiscovery callsOpen pipeline
Medical tourism32229$128k
Wellness retreats755920$450k
Combined10781 (76%)29~$578k

Open pipeline reflects in-platform opportunity value, not closed revenue. Medical-tourism values shown are conservative platform defaults; real package values run considerably higher, so the medical pipeline is understated here.

Every lead lands as structured data: consistent tags, a stamped source, consent status, and quiz responses written to their own fields, all usable for routing, personalization, and segmentation.

Contact record
A captured lead record showing the tag stack, source, consent, and quiz responses in structured fields.

The thinking

What made it hold up in production

The bug that didn’t throw an error

A misconfigured goal event was silently exiting contacts from the nurture sequence. Fifteen people, gone. Nothing errored. The workflow reported success and kept running. I caught it by watching enrollment counts drop and tracing back through the execution logs to find where they were leaving.

That’s the failure mode worth knowing about. The ones that throw errors are the easy ones. The ones that quietly succeed while doing the wrong thing are what actually break a system, and the only way to catch them is to watch the numbers instead of trusting the status.

Debugged by reading the system, not guessing

A few problems only showed up under real data: a consent value that didn't match because of one punctuation difference, a field that wouldn't populate until a real submission came through, a quiz result that displayed on screen but never saved. I caught each one by reading the execution traces and the actual stored field values instead of assuming, then built a workaround that held.

Engineered around platform limits instead of fighting them

Branches that don't reconverge became a parallel companion workflow. A per-node branch cap became chained conditionals. A result that wouldn't save to a field became keyword routing off the saved answer. I designed around the constraints instead of pretending they weren't there.

Scoped deliberately, not exhaustively

Procedure-level routing, the long-term re-engagement track, and a click-scoring escalation layer were all scoped and phased instead of built ahead of need. Knowing what not to build yet was part of the job.