
The media buyer's end-to-end workflow for launching a new client. This is the Phase 7 deep-dive to the master Client Launch SOP — what to do once Griffin (onboarding), Hanif (FB page + creatives), Mohamed (GHL automation), and Sean/Hanif (domain + lead form base) have prepped their pieces.
Reference call: walkthrough with Tasneem on 2026-05-13 using Air Mavericks and GoEcho as worked examples.
TIP
Default mental model: find the client info → build the lead form first → then campaign + creatives → then targeting. The lead form is the unblock for Mohamed's automation, so it ships before the campaign is built.
For every new client, three sources exist. Use them in this order:
| Source | What it is | Where to find it |
|---|---|---|
| Onboarding survey | Client's own words. Source of truth. | Top of the new client Discord channel (Griffin pins it) |
| Griffin's notes form | Corrections, additions, and execution-level details captured during the onboarding call (offers, pricing, location nuance, Mohamed instructions) | Same Discord channel, posted by Griffin after the call |
| Call recording | Fallback when notes are unclear | Linked by Griffin in the channel — Fathom search by keyword (e.g., "offers") to jump to the relevant moment |
If anything is missing or unclear, tag Griffin in the channel. Don't guess on pricing, geography, or warranty claims.
NOTE
Hidden lower price: many HVAC clients have a price they'd be willing to run if the initial offer flops but won't volunteer up front. Griffin should be asking "if X doesn't work, can we try Y?" on the onboarding call and noting the answer. If it's not in the notes, ask in the channel.
These are starting positions, not rules. Always defer to what the onboarding survey + Griffin's notes say.
WARNING
Warranty types — don't confuse them. - Parts warranty: covers replacement parts cost. Client typically eats this. Safe to advertise. - Labor warranty: covers the labor on warranty repairs (not seasonal tune-ups). Strong differentiator when present. - Maintenance warranty: free seasonal tune-ups (2-4× per year, dust + tweak). Not the same as labor warranty — labor only kicks in for emergency repairs.
For now, the default landing account is the existing HVAC-only ad account (no recent serious rejections). Verify with Sean before changing accounts.
NOTE
Goal is to move off this single shared account over time. For the next handful of new clients it remains the default.
Why this comes before the campaign: Mohamed's automation work depends on the lead form existing. If you build the campaign first and the form last, you bottleneck on him.
Pro tip: if the client may run multiple offer types (starting-at price and monthly financing), build all variants on Day 1 — duplicate the base form, swap the offer type in the name (StartingAt7997 → MoFi), and let Mohamed integrate all of them in one pass. Saves a round-trip later.
We'll use your info to schedule your estimate. Please confirm your phone number is correct. (Same exact copy on every form.)Yes, I am / No..directestimatepro.com subdomains): https://test.directestimatepro.com/privacy-policyONE LAST STEP! + 3-step body + Hold My Spot call-out. CTA button label: HOLD MY SPOT. CTA destination: client's .directestimatepro.com/schedule-appointment URL. Messenger conversations: ON. Exact copy in Lead Form Standard Questions.https://www.facebook.com/ (sends them back to their feed — we don't want disqualified leads calling the client)Full default question text + answer copy: Lead Form Standard Questions. Conditional logic walkthrough: Lead Form Conditional Logic — Recording Script (Loom — Sean).
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 (4Q suffix = non-default question count)
Versioning:
- 2.0 = structural change (added or removed a question)
- 1.1, 1.2 = copy/typo fix, structure unchanged
- -4Q suffix = lead form has more than the default 2 questions (location + project type)
TIP
If a client has multiple offers running at once, build each as a separate lead form (e.g., one form for
StartingAt7997, one forMoFi). Do NOT use one form with multiple offers — each offer = its own form so Mohamed can integrate cleanly and we can swap offers without rebuilding.
GHL's UI moved this recently — flagging because it's not where it used to be.
service_area and project_scope (or whatever the form's question fields are named) to the corresponding GHL contact fields.If something looks broken on the front-end test (e.g., end page returns 404), it's almost always Mohamed's domain not published yet or Griffin hasn't transferred the domain — post in the channel and let them sort it.
| Element | Default |
|---|---|
| Campaign objective | Leads |
| Optimization | More volume (max number of leads) |
| Ad set strategy | ABO — manual budget on each ad set |
| Number of ad sets at launch | 2 (Statics + Videos) |
| Daily budget per ad set | $35 / $35 (typical) or $40 / $40 (better markets) |
| Minimum age | 30 |
| Maximum age | 65+ |
| Gender | All |
| Internal targeting | Same on both ad sets (broad — interests OFF) |
TIP
Discuss daily ad spend with Sean before launching any new account. Client doesn't dictate spend — the floor for testing 6+ creatives is 35×2 = $70/day. Drop to $25/25 only when the client genuinely can't absorb more volume.
[CompanyName]_[City]_1.0
Bump the version when you change exclusions/inclusions. Don't edit the locked v1.0 — duplicate and increment.
Launch testing three angles in the videos ad set + two static styles in the statics ad set. As of 2026-05-13:
| Angle | Description | Status |
|---|---|---|
| Lean Mean Machine | "A new [system] for this price in this place, we have you covered." Justified by a "we keep costs low" rationale. | Proven evergreen across multiple accounts — Tasneem confirmed: only creative still working across her tenure. |
| David vs Goliath | Overpriced competitor frame — "got quoted $15K? We do it for $7,997." | Working — especially in markets with overpriced competitors. |
| Red Flag | Inverse of David vs Goliath: "got quoted $3K for full HVAC? That's a red flag." Anti-cheap-sketchy positioning. | NEW — Hanif building, voiceover version landed 2026-05-12. |
WARNING
Trade-in angle is being phased out. Volume is fine, but conversion is not — Fagr has been pushing back, Sean and Tasneem agree it's being de-prioritized. Don't add trade-in to a new launch unless Sean overrides.
Lock the hook line. Vary everything else: - Music - Voiceover (Jerry vs alternates) - Footage / B-roll - Justification reasoning ("lean mean machine" → "passionate about our customers" → other)
This generates perceived novelty without churning the proven hook. Pattern reference: Taxonomy Beats AI Creativity.
| Style | Notes |
|---|---|
| Handwritten | Default — has the best statics-side hit rate. |
| Direct response | Default — gives Facebook variety in eyes. |
| ~~Notes app~~ | Underspends in Facebook's eyes — phasing out. |
Where to build statics fast: Media Buyer White Label > static templates. Layered components: season (summer/winter/fall) + price point + call-out. Stack the three layers, swap in the client's logo + offer text.
TIP
AI logo edits: if using ChatGPT for static edits, fine. If using Gemini on the free tier, watch for the watermark and the off-white/yellow background tint — those silently degrade output.
Full prompt details + Tier 1/2/3 model: New Launch Targeting Sequence. The flow at a glance:
Tool: use Claude for these prompts when available. ChatGPT or Gemini are fine fallbacks — output quality is comparable, just confirm citations are real for the exclusion-research output.
Day 0 (onboarding call) → Griffin + client + Hanif + Mohamed handle their pieces.
Day 1 (your day):
1. Read the channel — pull offers, geo, brand, constraints.
2. Build lead form (with variants if multiple offers planned). Map fields in GHL Form Field Mapping.
3. Ping Mohamed: "Form ready for automation."
4. Run location prompts → finalize radius + exclusion list + qualifier question.
5. Decide budget with Sean.
6. Build campaign:
- Audience v1.0 (radius + Tier 1/2 excludes + age 30+, min age 25 if audience < 500K)
- Ad set: Statics — Handwritten + Direct
- Ad set: Videos — Lean Mean Machine + David vs Goliath + Red Flag
- ABO, same internal targeting on both ad sets
7. Quick frontend smoke test on the end page (qualified + disqualified routing).
8. Launch.
Day 2+: monitor, audience-pack-test as needed, optimize.
These came up during the 2026-05-13 walkthrough and were intentionally deferred:
Starting at $X,XXX headline against Starting at $X,XXX + 10-Yr Warranty Included. Status: not yet built.