Lead Form Standard Questions

How to Build the Standard HVAC Lead Form

Use this every time you launch a new HVAC client. The steps are in order — build the form top to bottom.

Owner: Tasneem (build) → Mohamed (automation integration after the form is mapped in GHL).


Step 1 — Create a new form

Open Facebook Ads Manager → Lead Forms → Create new form.

Set these: - Format: Optimized Flexible - Background image: ON - Intro headline: same offer text as the ad (do not mystery-box)


Step 2 — Add the description above the contact fields

Paste this in the description field above the contact fields. It's the same on every form:

We'll use your info to schedule your estimate. Please confirm your phone number is correct.

Step 3 — Add the contact fields (in this order)

Add these four fields, all required, in this exact order:

  1. Full Name
  2. Phone
  3. Email
  4. Zip Code

(Use the Zip Code field, not Postal Code. Zip Code is US, Postal Code is European.)

If a client is running unusually low conversion after you've tested for a while, the first thing you can flip optional is Email. Phone is always required.


Step 4 — Add Question 1 (location qualifier)

The question text changes per client — you'll generate it using the location prompt before you build the form (Prompt C in Targeting Audit Workflow). For the build, paste in the per-client question text. The answers never change.

Paste the question:

Are you a homeowner in [Region / County List]?

Paste the answers (one at a time, each in its own answer field):

Yes, I am
No

Step 5 — Add Question 2 (project type)

Paste the question:

What do you need help with?

Paste the answers (one at a time):

Replace my current HVAC system
Install HVAC in a new home/area
Repair my AC or furnace

Important: Repair leads are always disqualified. The only exception is if Griffin has noted in the client's Discord channel that the client wants repair leads (rare — only happens with monthly retainer clients). If you don't see a note, repair is disqualified.


Step 6 — Turn on Conditional Logic and set the routing

Save the questions first, then toggle Conditional Logic ON.

For each answer, set what happens next:

Question Answer What it does
Q1 (location) Yes, I am Go to next question
Q1 (location) No Close form (sends to disqualified end page)
Q2 (project) Replace my current HVAC system Submit form (qualified)
Q2 (project) Install HVAC in a new home/area Submit form (qualified)
Q2 (project) Repair my AC or furnace Close form (sends to disqualified end page)

Step 7 — Add the privacy policy link

Paste this URL in the privacy policy field. Same URL for every form:

https://test.directestimatepro.com/privacy-policy

Step 8 — Build the qualified end page (E1)

This is the page people see after they submit a qualified lead.

Paste the headline:

ONE LAST STEP!

Paste the body:

1. You will receive a Text Message from us

2. Reply "Yes" to confirm your phone number

3. Once confirmed, we will schedule your FREE quote.

In a hurry to get started? Click "𝗛𝗼𝗹𝗱 𝗠𝘆 𝗦𝗽𝗼𝘁" below to pick your preferred time. We'll call to confirm it.

(𝗛𝗼𝗹𝗱 𝗠𝘆 𝗦𝗽𝗼𝘁 in the body uses Unicode bold characters. Copy it directly — don't retype it as plain text.)

Paste the CTA button label:

HOLD MY SPOT

Set the CTA button destination URL. Get it from Griffin's announcement in the client's Discord channel. The format is always:

[clientname].directestimatepro.com/schedule-appointment

Example: if Griffin posts the domain cotd.directestimatepro.com, the CTA destination is cotd.directestimatepro.com/schedule-appointment.


Step 9 — Set the disqualified end page (E2)

This is where people go if they answered "No" to location or "Repair" to project. Paste this URL:

https://www.facebook.com/

(They go back to their Facebook feed. We don't want disqualified people calling the client.)


Step 10 — Turn on Messenger conversations

Find the Start Conversations on Messenger toggle and turn it ON.


Step 11 — Name and save the form

Use this naming format:

CompanyInitials_Location_Niche_OfferType_Version

Examples:

GE_Vegas_HVAC_StartingAt7997_1.0
GE_Vegas_HVAC_MoFi_1.0
MP_Cleveland_HVAC_StartingAt7997_4Q_1.0
  • CompanyInitials — GE = GoEcho, MP = Multi-Point, etc.
  • Location — main city (Vegas, Cleveland, Lubbock)
  • Niche — almost always HVAC
  • OfferTypeStartingAt7997, MoFi (monthly financing), etc.
  • Version — start at 1.0

Version bump rules: - Same form, fix a typo → 1.0 → 1.1 - Same form, add or remove a question → 1.0 → 2.0 - Form has extra questions beyond the default 2 → add -4Q after OfferType


Step 12 — Map the form fields in GoHighLevel

GHL's interface moved this recently. Find it here:

  1. Go to the integration for the connected Facebook page (Hanif will have connected the page ahead of time).
  2. Click the three-dot menu on the form.
  3. Click Form Field Mapping.
  4. Map service_area and project_scope to the corresponding GHL contact fields.
  5. Save.
  6. Open the Automation tab and check the form shows up there. (You won't see the workflow yet — Mohamed builds that next.)

If the page is not connected, post in the Discord channel and tag Hanif.


Step 13 — Notify Mohamed

In the client's Discord channel, type:

Form is mapped and ready for automation.

Mohamed will build the GHL automation from there.


Optional: System age question

Only add this when the client specifically asks. This bumps the form name to include -4Q (because it's a third question beyond the default two).

Paste the question:

How old is your current system?

Paste the answers (one at a time):

Less than 5 years
5 – 10 years
10 – 15 years
15+ years
I don't have one / new install

All answers route to the next step (submit form → E1). Every answer is still a valid lead — this is information for the client's setter team, not a qualification gate.

If the client asks for a different optional question (e.g., "Do you own or rent?", "Have you gotten quotes already?"), copy the exact phrasing into the Discord channel and ping Sean before adding it.


When to build multiple forms on Day 1

If the client is going to run more than one offer type (e.g., starting-at price and monthly financing), build all the variants together so Mohamed integrates them in one pass. Each offer = its own form.

Example: build both of these on Day 1:

GE_Vegas_HVAC_StartingAt7997_1.0
GE_Vegas_HVAC_MoFi_1.0

Don't combine offers into one form — separate forms make ad-level offer swaps clean.


Related Pages

  • Media Buyer Launch Playbook — full new-client launch flow this form fits into
  • Lead Form Conditional Logic — Recording Script — Sean's Loom walkthrough script
  • New Launch Targeting Sequence — generates Q1's location text
  • Targeting Audit Workflow — canonical location prompts (A, B, C)
  • Mohamed — owns automation after the form is mapped