Senior Paid Media Specialist : Google ads / Meta ads / Linkedin Ads

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

TYPE OF WORK

Full Time

SALARY

1,300 USD Per Month

HOURS PER WEEK

40

DATE UPDATED

Jul 10, 2026

JOB OVERVIEW

Senior Paid Media Manager — Google, Meta & LinkedIn Ads
Type: Full-time · Location: Remote · Markets served: South Africa, UK, Netherlands, Australia/New Zealand

About the role:

We're building a full-service performance marketing team serving clients across South Africa, the UK, the Netherlands, and ANZ.
The role will be conducted during Australian business hours.

We're looking for a Senior Paid Media Manager to own paid acquisition end to end — strategy, build, optimisation, and reporting — across Google, Meta, and LinkedIn.

This is a hands-on senior role, not a coordinator seat. You'll be the person in the ad accounts every day, making the calls that move ROAS, CPA, and lead quality.
You'll work alongside our SEO, web/funnel, creative, and development specialists to ship full-funnel campaigns that actually convert.

What you'll do

- Plan, build, and manage paid campaigns across Google Ads (Search, Performance Max, Display, YouTube), Meta (Facebook/Instagram, Advantage+), and LinkedIn (Lead Gen Forms, ABM, sponsored content)

- Design and run remarketing and retargeting funnels across all platforms (prospecting ? re-engagement ? conversion)

- Manage budgets across multiple clients, markets, and currencies — allocating spend for efficiency and scale

- Own the metrics: ROAS, CPA, CPL, MER, lead quality, and pipeline impact — and improve them

- Build and structure conversion tracking with GA4, Google Tag Manager, and server-side tracking; partner with our developer where deeper implementation is needed

- Run structured creative testing in partnership with the creative team (audiences, hooks, formats, offers)

-Produce clear, client-ready reporting (Looker Studio or similar) that ties spend to outcomes, not vanity metrics
Collaborate with SEO, funnel, and dev to keep landing pages and tracking aligned with campaign goals

Stay current on platform changes and bring proactive recommendations, not just execution

What we're looking for

4+ years of hands-on paid media experience managing live budgets (agency or in-house)

Proven, demonstrable results across both Google and Meta — dual-platform expertise is essential, not a bonus

Working experience with LinkedIn Ads, especially lead gen and B2B targeting

Strong command of GA4, GTM, conversion tracking, and attribution

Comfortable managing multiple accounts and markets simultaneously, with the organisation to keep them all on track

Data-driven and commercially minded — you optimise toward revenue and lead quality, not just clicks

Excellent written English and clear, proactive communication (you'll be client-facing and async-heavy)

Able to work hours that overlap with our client markets (see Hours below)

Nice to have

TikTok, YouTube, or programmatic experience
Experience with e-commerce (Advantage+ Shopping, catalog/DPA) and lead-gen funnels
Familiarity with CRO and landing-page optimisation
Google Ads / Meta Blueprint certifications
Experience with server-side tracking, Triple Whale, or similar attribution tooling
Exposure to multi-language markets (e.g. Dutch-language campaigns)

Hours & setup

Remote, full-time
Mainly AU business hours
Reports to Global head of digital marketing
Works closely with the SEO, web/funnel, creative, content, and development tea ---------- mbers

Compensation

Starting salary: USD 1,700 / month, with scope for increases based on performance and results


How to apply
Please send:

Proof of results (required) — case studies or account screenshots from real campaigns showing measurable outcomes (ROAS / CPA / CPL, before and after). Redact client-sensitive details, but the numbers must be real and you must be able to speak to them in detail.
A short write-up of your most successful paid campaign — the goal, what you did, and the result
Your portfolio showing Google and Meta work (LinkedIn a plus)
Which coverage hours you can commit to (UK/EU or ANZ)
Confirmation that the starting rate of USD 1,300 /month works for you


Applications without specific, verifiable results won't move forward. We hire on proven outcomes — not platforms you've "touched."

Hiring process
We run a structured process so it's a strong fit on both sides:

Application review — we screen for real, verifiable results. No proof, no progress.
Screening call (~30 min) — intro, background, and a check on your coverage hours.
Skills interview (~60 min) — you'll walk us through a past campaign in detail and talk through how you'd approach a sample brief or account audit.
Practical task (short, paid) — a real-world exercise, e.g. auditing a sample account or outlining a campaign structure, so we can see how you actually think and work.
Final interview — with [the founder / Head of Performance] to align on expectations and ways of working.
Offer & onboarding.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0229
Total Execution Time  0.0242
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,501,840 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/senior-paid-media-specialist-google-ads-meta-ads-linkedin-ads-1660500
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0177 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0010   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1660500
 LIMIT 1 
0.0010   SELECT *
FROM `employers`
WHERE `employer_id` = 938655
 LIMIT 1 
0.0014   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1660500
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-04',ej.date_added) duration_daysDATEDIFF('2026-09-04',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-09-04',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1660500' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1660500 
0.0012   UPDATE employer_jobs SET hit_counts '***Jun-02-2026=230***Jun-03-2026=100***Jun-04-2026=33***Jun-05-2026=15***Jun-06-2026=6***Jun-07-2026=4***Jun-08-2026=3***Jun-09-2026=4***Jun-10-2026=9***Jun-11-2026=3***Jun-12-2026=4***Jun-13-2026=2***Jun-14-2026=1***Jun-15-2026=4***Jun-16-2026=9***Jun-17-2026=13***Jun-18-2026=6***Jun-19-2026=9***Jun-20-2026=2***Jun-21-2026=2***Jun-22-2026=1***Jun-23-2026=23***Jun-24-2026=6***Jun-25-2026=2***Jun-26-2026=2***Jun-27-2026=5***Jun-28-2026=2***Jun-29-2026=2***Jun-30-2026=3***Jul-01-2026=2***Jul-02-2026=2***Jul-03-2026=3***Jul-04-2026=1***Jul-05-2026=1***Jul-06-2026=2***Jul-07-2026=1***Jul-08-2026=3***Jul-09-2026=1***Jul-10-2026=2***Jul-11-2026=1***Jul-13-2026=1***Jul-14-2026=3***Jul-16-2026=1***Jul-17-2026=1***Jul-18-2026=1***Jul-20-2026=1***Jul-21-2026=1***Jul-23-2026=1***Jul-24-2026=3***Jul-25-2026=6***Jul-26-2026=1***Jul-27-2026=1***Jul-29-2026=1***Aug-01-2026=2***Aug-02-2026=1***Aug-03-2026=1***Aug-04-2026=1***Aug-07-2026=1***Aug-10-2026=1***Aug-15-2026=1***Aug-16-2026=1***Aug-21-2026=1***Aug-28-2026=2***Aug-29-2026=2***Sep-04-2026=1' WHERE job_id'1660500'  
0.0086   UPDATE employer_jobs SET monthly_hits '***Jun-2026=505***Jul-2026=41***Aug-2026=14***Sep-2026=1' WHERE job_id'1660500'  
0.0013   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1660500' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1660500 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_idIS NULL
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)