Meta Ads Manager/Media Buyer — Roofing Lead Generation Agency (Full-Time, Remote)

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

TYPE OF WORK

Any

SALARY

$500/month

HOURS PER WEEK

40

DATE UPDATED

Mar 30, 2026

JOB OVERVIEW

We are a fast-growing lead generation agency that helps roofing companies across the UK(primary focus rn) and USA get more customers through Meta (Facebook/Instagram) advertising. We manage everything from ad creation to lead qualification using GoHighLevel CRM. We currently manage campaigns for multiple roofing clients and are scaling quickly — which is where you come in.

YOUR ROLE:
You will be our dedicated Meta Ads Campaign Manager, responsible for setting up, managing, and ---------- Facebook/Instagram ad campaigns for our roofing clients. This is a hands-on execution role, not a strategy-only position. You’ll be working inside Meta Business Suite and Ads Manager daily.
DAILY RESPONSIBILITIES:
-Set up new Meta ad campaigns from scratch (CBO and ABO structures)
-Create and manage ad sets with proper audience targeting (location, age, interest, lookalike, retargeting)
-Write ad copy variations using proven frameworks (AIDA, PAS, story-led, social proof)
-Monitor live campaigns daily — check CPL, CTR, CPC, frequency, relevance scores
-Make optimisation decisions: pause underperforming ads, scale winners, adjust budgets
-A/B test creatives, copy, audiences, and placements systematically
-Pull weekly performance reports for each client account
-Upload and manage creatives (images/videos) in Ads Manager
-Coordinate with our Client Success VA on lead quality feedback
-Flag any issues, anomalies, or account problems immediately

REQUIRED SKILLS (NON-NEGOTIABLE):
-1-3 years hands-on experience managing Meta/Facebook ad campaigns (not just boosted posts)
-Experience with lead generation campaigns specifically (Lead Forms and/or landing page conversions)
-Strong understanding of CBO vs ABO campaign structures
-Ability to write compelling ad copy in English (5th-grade reading level, conversational tone)
-Experience managing $1,000-10,000+ monthly ad budgets
-Comfortable with Meta Business Suite, Ads Manager, and Business Portfolio
-Basic image editing skills (Canva or similar) for ad creative adjustments

BONUS SKILLS (NICE TO HAVE):
-Experience with GoHighLevel (GHL) CRM
-Experience in home services, roofing, or construction niche
-Google Ads experience
-Basic video editing for short-form ad creatives
-Meta Blueprint Certification

WORK SETUP:
Full-time (40 hours/week), Monday–Friday
Flexible schedule but must have 4 hours overlap with UK business hours (8AM-5PM GMT)
100% remote — work from home
Must have reliable internet (minimum 25mbps) and a backup connection
Must have own laptop/computer with at least 8GB RAM

WHAT WE OFFER:
-Competitive salary with 90-day performance-based raise
-Performance bonuses tied to campaign results (CPL improvements)
-Full training on our systems, SOPs, and client processes via Loom video library
-Clear growth path — opportunity to become Team Lead as we scale to 10+ media buyers
-13th month pay (December bonus equivalent to 1 month salary)
-5 days paid time off after 6 months, 10 days after 1 year
-Stable, long-term role in a fast-growing agency

TO APPLY — YOU MUST ANSWER THESE QUESTIONS:
-Applications without answers to ALL of these will be automatically rejected:
-How many Meta ad accounts have you personally managed at the same time? What was the total monthly budget across all accounts?
-Describe a lead generation campaign you ran on Meta. What was the niche, the daily budget, and the average CPL you achieved?
-What is the difference between CBO and ABO? When would you use each?
-A roofing client’s campaign has been running for 5 days. The CPL is £35 (target is £15). CTR is 0.8%. What steps would you take to improve performance? Be specific.
-What is your internet speed? (Run a speed test at speedtest.net and share the result)
Include the word “ROOFTOP” at the start of your application so I know you read the full posting.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0148
Total Execution Time  0.0187
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,510,344 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Meta-Ads-ManagerMedia-Buyer-Roofing-Lead-Generation-Agency-Full-Time-Remote-1613141
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0068 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1613141
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 919383
 LIMIT 1 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1613141
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-17',ej.date_added) duration_daysDATEDIFF('2026-04-17',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-04-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1613141' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1613141 
0.0011   UPDATE employer_jobs SET hit_counts '***Mar-30-2026=316***Mar-31-2026=38***Apr-01-2026=46***Apr-02-2026=46***Apr-03-2026=28***Apr-04-2026=1***Apr-05-2026=3***Apr-06-2026=12***Apr-07-2026=6***Apr-08-2026=5***Apr-09-2026=2***Apr-10-2026=2***Apr-11-2026=1***Apr-17-2026=1' WHERE job_id'1613141'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Mar-2026=354***Apr-2026=152' WHERE job_id'1613141'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1613141' 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` = 1613141 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '919383'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0008   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)