Media Buyer (Lead Generation | Performance-Focused)

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

TYPE OF WORK

Full Time

SALARY

SGD 800 – 1,200 / month

HOURS PER WEEK

40

DATE UPDATED

Sep 18, 2026

JOB OVERVIEW

This role is posted by TRES on behalf of Restive Collective, one of the agencies we support. You’ll be hired by and work directly with the Restive Collective team.

About Restive Collective
Restive Collective is a Singapore-based agency that uses personal branding for lead generation. We work with founder-led, service-based businesses — coaches, consultants, gym owners and other experts — and turn their real stories into short-form video and carousel content that brings in qualified leads, not just views.

Our funnels are deliberately simple and proven: short-form video content → Meta ads → lead form or WhatsApp automation / landing page → booked conversation. Every client is spending real money every month, and your job is to make that money work.

Why This Role Is Different
This is not a branding or “boost post” role.

You’ll be working on:
Real lead-generation campaigns for real founders
Ad accounts with live monthly spend, reported and optimised daily
A tight, repeatable funnel where your decisions directly change lead volume and cost per lead
You’ll follow clear SOPs — and you’ll also be trusted to make judgment calls when the numbers call for it.
If you want to become a senior buyer who owns performance end-to-end, this role will stretch you in the right way.

What You’ll Do
Run and optimise conversion-focused Meta campaigns (Facebook & Instagram) across our client portfolio
Follow the daily media-buying routine: morning — check numbers, queue new ads, log and report; afternoon — optimise, analyse what’s working, recommend next moves
Own campaign health — monitor performance, flag issues early and escalate opportunities to the founder
Set up new client ad accounts (one-time setup per client) and launch new creative batches as they come from our script and video team
Support simple funnel setup where needed — landing page, VSL page and WhatsApp automation (we have a ready framework; no complex builds)
Participate in occasional weekend number-reporting for urgent, higher-spend campaigns (numbers only, with advance heads-up — not full optimisation)
You’ll receive priorities and inputs directly from the founder and account manager — no stakeholder chaos. Our VA handles the admin so you can stay on performance.

What You Will NOT Be Responsible For
Writing scripts or designing creatives (we have a scriptwriter, video editor and carousel designer)
Client communication or account management
Redesigning offers or pricing
Juggling 50–100 accounts — we are a high-value, low-volume agency and will add buyers before overloading you
Your focus is campaign performance and health, with clear boundaries and structure.
Who This Role Is For
This role is a good fit if you:
Have hands-on experience running conversion ads (leads or sales) on Meta — not branding or awareness
Think in cost per lead, CPC, CTR and ROAS, and can explain why you scale, pause or kill an ad
Stay calm, analytical and accountable when things move fast
Respect structure but don’t freeze when conditions change
Communicate clearly, report proactively and take ownership seriously
Are ready to commit full-time to one team and grow with it

Who This Role Is NOT For
“Set-and-forget” ad managers who report once a week
Freelancers juggling multiple clients or running their own agency on the side
People who only want to run brand awareness or big-budget branding campaigns
Anyone uncomfortable with responsibility tied to real client spend

How We Work
At Restive Collective, you are judged on results delivered, not hours clocked.
Results-driven \u2014 what matters is your campaigns\u2019 numbers \u2014 cost per lead, lead volume and campaign health \u2014 and how proactively you report and act on them
Systems-led \u2014 clear SOPs, an account manager and a VA so you can focus on your actual craft
Small, focused team \u2014 you work directly with the founder, not through layers of management

Compensation & Growth
SGD 800 – 1,200 / month, depending on experience
Clear SOPs, an account manager and a VA supporting you so you can focus on performance
A growth path to Senior Media Buyer — as we add clients you’ll mentor the next buyer, help build our media-buying SOPs and shape how the agency scales
Exposure to funnels, WhatsApp automation and landing pages — grow beyond ads into full-funnel thinking
If you’re looking for a comfortable, low-pressure role, this isn’t it.
If you’re looking to own performance and grow with a young agency, you’ll thrive here.

How to Apply
Please complete the application form carefully. The questions are designed to understand how you think, not just what tools you’ve used.

? Apply here: ----------

Only shortlisted candidates will be contacted.



Final Note
We’re not looking for button-pushers.
We’re looking for a media buyer who:
Respects structure
Protects campaign performance
Takes ownership seriously
If that sounds like you, we’d love to hear from you

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0269
Total Execution Time  0.0282
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,514,440 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Media-Buyer-Lead-Generation-Performance-Focused-1733453
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0211 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1733453
 LIMIT 1 
0.0010   SELECT *
FROM `employers`
WHERE `employer_id` = 569173
 LIMIT 1 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1733453
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-21',ej.date_added) duration_daysDATEDIFF('2026-09-21',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-21',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1733453' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1733453 
0.0006   UPDATE employer_jobs SET hit_counts '***Sep-18-2026=380***Sep-19-2026=46***Sep-21-2026=2' WHERE job_id'1733453'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Sep-2026=428' WHERE job_id'1733453'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1733453' 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` = 1733453 
0.0159   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '569173'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)