Media Buyer (Facebook Ads + AI Creatives)

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

TYPE OF WORK

Full Time

SALARY

N/A

HOURS PER WEEK

TBD

DATE UPDATED

Jul 19, 2026

JOB OVERVIEW

I run a growth agency working with construction and remodelling businesses in the US and Canada. I'm looking for an experienced media buyer to take ownership of all client ad accounts and the creative production that goes with them.
This is not a basic ads role. You will be running Facebook ad campaigns from start to finish. That means building campaigns, monitoring performance daily, reading the data properly, making optimisation decisions, and scaling what works. You need to understand CBO campaigns, broad targeting, dynamic creative testing, and how to identify a real winning ad versus a lucky spike. If you still build campaigns with interest stacking and 10 ad sets, this role is not for you.
The second half of the role is creative production. You must be able to produce high quality AI video ads and AI static creatives yourself. I mean genuinely good creatives that look professional and convert, not obvious AI slop. You should be comfortable producing new creative batches every week or two so our testing pipeline never runs dry. Experience with tools like Canva, CapCut, and AI image and video generation tools is expected.
Your day to day will include:

Managing multiple client Facebook ad accounts in the ---------- and renovation niche
Building and launching campaigns with proper structure
Producing AI video ads and static image creatives on a consistent schedule
Analysing results, identifying winners, cutting losers, and scaling correctly
Reporting performance to me in clear, simple language every week

What I'm looking for:

At least 2 years of hands on Facebook ads experience managing real client budgets
Proven ability to create high quality video and image creatives
Strong English communication, written and spoken
Someone reliable, proactive, and able to own results without being chased
Experience with home services, remodelling, renovation, or local service businesses is a big plus

How to apply. This part is important.
To be considered, your application must include:

Examples of video ads you have personally created
Examples of static image creatives you have personally created
Case studies or screenshots showing real results you achieved for clients (cost per lead, ad spend, outcomes)
A short note on which niches you have run ads for

Applications without creative examples and proof of results will not be reviewed. If you send a generic copy paste application, I will know, and it goes straight in the bin.
Start your application with the word "Hammer" so I know you read this fully.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0135
Total Execution Time  0.0148
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,499,488 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Media-Buyer-Facebook-Ads-AI-Creatives-1692100
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0085 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1692100
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 873592
 LIMIT 1 
0.0007   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1692100
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-07',ej.date_added) duration_daysDATEDIFF('2026-08-07',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-08-07',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1692100' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1692100 
0.0007   UPDATE employer_jobs SET hit_counts '***Jul-19-2026=546***Jul-20-2026=108***Jul-21-2026=36***Jul-22-2026=21***Jul-23-2026=12***Jul-24-2026=4***Jul-25-2026=3***Jul-26-2026=4***Jul-27-2026=6***Jul-28-2026=5***Jul-29-2026=3***Jul-30-2026=7***Jul-31-2026=7***Aug-01-2026=4***Aug-02-2026=1***Aug-03-2026=7***Aug-04-2026=1***Aug-07-2026=1' WHERE job_id'1692100'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=762***Aug-2026=14' WHERE job_id'1692100'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1692100' AND status LIKE 'sent%' ORDER BY id DESC  
0.0002   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1692100 
0.0023   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '873592'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)