Facebook Ads Specialist — Generating Leads FROM US Home Service Contractors (HVAC, Plumbing, Roofing)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Part Time

SALARY

6-7

HOURS PER WEEK

20

DATE UPDATED

Jul 17, 2026

JOB OVERVIEW

We are SteadyAnswer, a US-based AI receptionist service built specifically
for home service contractors — HVAC, plumbing, roofing, electrical, and
restoration companies. We help contractors capture the revenue they're
losing to missed calls by answering their phones 24/7 with an AI
receptionist that books jobs automatically.

We are looking for an experienced Facebook and Instagram Ads specialist
to own our paid traffic from end to end — creative, copy, testing,
optimization, and lead generation.

This role starts part-time. As we see results and the account grows,
it will transition into a full-time position. We are not looking for
someone to set up a campaign and disappear. We want a partner who grows
with us and takes ownership of results.

---

WHAT YOU WILL OWN

- Write ad copy for cold-traffic and retargeting campaigns
- Develop creative concepts and direct video/image ad production
- Build and manage campaigns in Meta Ads Manager
- Run structured A/B tests across hooks, creative formats, and audiences
- Monitor cost-per-lead and optimize toward profitability
- Report weekly on what is working, what is not, and what you are
changing and why
- Scale winning campaigns as unit economics are proven

---

WHO WE ARE LOOKING FOR

You have at least 2 years of hands-on Facebook and Instagram Ads
experience running campaigns that TARGET US-based local service business
owners — home service contractors, trades, or similar B2B audiences.
Not e-commerce. Not info products. Campaigns where the goal was to get
a business owner to take action.

You can show us real results. We will ask for case studies or screenshots
showing cost-per-lead from campaigns you personally managed. If you
cannot show results, this is not the right role.

You think in terms of cost-per-lead and lead quality — not impressions,
reach, or engagement. You understand that an ad campaign that generates
100 leads at $5 each is worthless if none of them are qualified buyers.

You are a clear communicator who writes weekly updates in plain English —
what the numbers were, what you tested, and what you are doing next.

---

WHAT THIS IS NOT

- This is not a setup-and-handoff project. We need ongoing management.
- This is not an agency role. We are hiring one dedicated person, not
a team that rotates our account.
- This is not for beginners who want to learn on our budget.

---

HOW TO APPLY

To be considered, your application must include:

1. A brief description of 1-2 Facebook Ads campaigns you personally
managed that targeted US local service or home service business
owners — what the business was, what you tested, and what results
you achieved.

2. At least one screenshot or case study showing actual cost-per-lead
or cost-per-acquisition from a campaign you ran.

3. Your monthly rate for ongoing campaign management (not including
ad spend).

Applications without results or examples will not be reviewed.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0158
Total Execution Time  0.0179
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,502,960 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Facebook-Ads-Specialist-Generating-Leads-FROM-US-Home-Service-Contractors-HVAC-Plumbing-Roofing-1691390
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0080 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1691390
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 904518
 LIMIT 1 
0.0011   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1691390
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-25',ej.date_added) duration_daysDATEDIFF('2026-07-25',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-07-25',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1691390' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1691390 
0.0008   UPDATE employer_jobs SET hit_counts '***Jul-17-2026=186***Jul-18-2026=83***Jul-19-2026=4***Jul-25-2026=1' WHERE job_id'1691390'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=274' WHERE job_id'1691390'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1691390' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1691390 
0.0021   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '904518'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)