Media Buyer, Meta + Google + LinkedIn Ads (part-time, remote, ongoing)

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

TYPE OF WORK

Full Time

SALARY

800

HOURS PER WEEK

25

DATE UPDATED

Oct 2, 2026

JOB OVERVIEW

Irish digital marketing agency looking for a reliable, experienced paid media buyer to run campaigns across Meta, Google and LinkedIn for a growing roster of small and medium business clients.
About us
We're a small Dublin-based agency serving Irish SMEs. We handle strategy, creative and client relationships in-house. We need you to own the platform execution so we can scale.
The role
You'll manage live ad accounts for six to twelve clients at a time, with monthly ad spend ranging from €500 to €3000 per account. Your job is to make the campaigns work and keep them working.
What you'll do
Set up Meta Business Manager, Google Ads and LinkedIn Campaign Manager accounts, including pixels, conversion tracking and audience setup. Build campaigns from a brief we provide (objective, audience, budget, creative). Upload creative we supply and write ad copy variants where needed. Monitor spend and performance daily. Pause underperformers, scale winners, run A/B tests. Pull weekly performance data into our reporting template. Flag issues, disapprovals or anomalies to us the same day they happen. Keep clean naming conventions and campaign structures across all accounts.
What you need
Three or more years running paid campaigns on Meta and Google at a minimum. LinkedIn Ads experience strongly preferred. Meta Blueprint or Google Ads certifications a plus. Confident with conversion tracking, UTM parameters, GA4 and pixel setup. Comfortable managing multiple accounts in parallel without missing details. Strong written English and reliable daily communication on Slack. Able to work roughly four to six hours overlap with Irish business hours (GMT/IST).
What we provide
Written briefs for every campaign. All creative assets, copy direction and audience research. A reporting template. Clear onboarding and SOPs. Direct access to us on Slack during working hours.
The setup
Part-time to start, roughly 20 to 25 hours per week, with view to full-time within three to six months as the client base grows. Fully remote, long-term position. Paid monthly.
Trial
One-month paid trial on two to three accounts to see how we work together. If it lands, we move to a longer-term arrangement.
When applying, please include
Links to two or three accounts or campaigns you've managed, with results (CPL, ROAS, scale). Your current availability and preferred working hours. Your monthly rate expectation for part-time. One sentence on which platform you're strongest on and why.
Looking forward to hearing from you.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0031
Controller Execution Time ( Jobseekers / Job )  0.0217
Total Execution Time  0.0283
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,500,464 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Media-Buyer-Meta-Google-LinkedIn-Ads-part-time-remote-ongoing-1741597
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 15 (0.0122 seconds)  (Hide)
0.0014   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0016   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1741597
 LIMIT 1 
0.0005   SELECT *
FROM `employers`
WHERE `employer_id` = 185533
 LIMIT 1 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1741597
AND `misc`.`id` IS NULL 
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` = 1741597
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-04',ej.date_added) duration_days, DATEDIFF('2026-10-04',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-04',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1741597' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1741597 
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` = 1741597
AND `misc`.`id` IS NULL 
0.0024   UPDATE employer_jobs SET hit_counts = '***Oct-01-2026=6***Oct-02-2026=136***Oct-03-2026=98***Oct-04-2026=2' WHERE job_id= '1741597'  
0.0009   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=242' WHERE job_id= '1741597'  
0.0004   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1741597' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1741597 
0.0012   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '185533'
AND `date_added` >= '2022-06-08' 
0.0004   select * from teasers 
0.0012   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)