Meta Ads Media Buyer — UK Agency — Long-term

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

TYPE OF WORK

Full Time

SALARY

£700 - £1700 / month (per account bonus)

HOURS PER WEEK

40

DATE UPDATED

Oct 9, 2026

JOB OVERVIEW

Hi,

I'm Leon — I run a Meta media buying operation for UK home-improvement trades (roofing, tree surgery, landscaping, driveways). The book is at 33 accounts and growing fast. I'm hiring two people to own delivery alongside me.

What you'd do:

- Build new client campaigns end to end — Facebook page, ad account, campaign, ad sets, creative
- Maintain the accounts you build. You own your clients start to finish.
- Follow my documented process. Everything is written down. You execute, you don't invent.

Who I'm looking for:

- Real experience running Meta ads for real clients. Not "I did a course." If you've never built a lead generation campaign end to end and defended the numbers to a paying client, this isn't right for you yet.
- Someone who reads instructions and follows them precisely. When something's unclear, you ask — you don't guess.
- Strong written English. There are no client-facing calls, so your accent doesn't matter. Your writing does.
- Someone who wants a long-term seat, not a quick gig.

Terms:

- £200/month base
- £50–£100/month per account you fully own — build and maintain. Bigger accounts carry more work and pay more.
- Ramps to £1,200–£1,700/month at full load over roughly 3 months. The book is scaling, so there's more from there.
- Around 4 hours a day overlapping UK daytime at the start. After that you work whenever suits you, and I'll flex to meet you halfway.
- While you're with us we'd ask that you don't work for another media buying agency or run ads for your own clients. Work in a different field is fine.
- Long-term. I'm not looking to hire again in six months.

The timeline:

- Applications now, with a short video task next week
- Interviews 19–23 October
- One week of training starting Monday 26 October.
- £200 base paid 1 November, and you start building your own accounts from 2 November

You need to be available for that window. If you can't be, it's not the right time.

To apply, fill out this form — about 4 minutes:

----------

No CV needed — everything I need is on the form. I read every application myself.

When you fill in the form, put a dash and the word "otter" after your name in the first question.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0147
Total Execution Time  0.0166
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,481,960 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Meta-Ads-Media-Buyer-UK-Agency-Long-term-1746971
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0077 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1746971
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 971764
 LIMIT 1 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1746971
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-17',ej.date_added) duration_days, DATEDIFF('2026-10-17',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-10-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1746971' 
0.0007   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1746971 
0.0007   UPDATE employer_jobs SET hit_counts = '***Oct-09-2026=629***Oct-10-2026=61***Oct-11-2026=4***Oct-12-2026=1***Oct-14-2026=5***Oct-16-2026=1***Oct-17-2026=2' WHERE job_id= '1746971'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=703' WHERE job_id= '1746971'  
0.0007   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1746971' AND status LIKE 'sent%' ORDER BY id DESC  
0.0002   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1746971 
0.0019   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '971764'
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)