Senior Media Buyer — Meta / Paid Social

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

TYPE OF WORK

Full Time

WAGE / SALARY

USD $2,500 - $4,500/month

HOURS PER WEEK

40

DATE UPDATED

Mar 2, 2026

JOB OVERVIEW

Senior Media Buyer — Meta / Paid Social

Type: Full-time contractor
Location: Remote (flexible timezone, overlap with US business hours required)
Reports to: Head of Media Buying (interim: CEO)

About Us

We are one of the fastest-growing direct-response ecommerce brands in the health and wellness space, spending six figures daily on Meta advertising alone. We operate multiple ad accounts across different geos and are building out additional high-spend accounts to scale further. We have a large creative team producing hundreds of ad concepts and we need a senior media buying leader who can turn that creative volume into profitable revenue at scale.

The Role

You will be the most senior media buyer on the team, leading strategy and optimization across all Meta/paid social accounts. This includes our primary high-spend account, geo-expansion accounts (Australia, Canada, and others), and new accounts we are scaling up. You will manage and mentor junior buyers, set the testing and optimization framework, and be directly accountable for profitability and growth. This is a leadership role with hands-on execution — you are in the accounts daily, making decisions, and driving results.

You Will Be Responsible For
• Owning Meta advertising strategy and performance across multiple ad accounts spending six figures daily combined.
• Scaling new ad accounts to high daily spend levels while maintaining stable performance and profitability.
• Managing and mentoring junior media buyers — setting direction, reviewing their work, coaching them to improve.
• Building and maintaining a structured testing system: creative testing, audience testing, primary text variations, placement optimization, and collecting learnings systematically.
• Developing and enforcing scaling rules and guardrails: when to increase spend, when to pull back, and how to stabilize accounts after large creative launches.
• Optimizing for contribution margin / profit, not just ROAS — understanding the relationship between ad spend, acquisition cost, and actual profitability.
• Working closely with the creative strategy team to provide clear feedback on what is working, what is not, and what to test next.
• Managing geo-expansion accounts and developing market-specific strategies for different regions.
• Diagnosing performance issues quickly: understanding when poor results are a creative problem, an audience problem, an account stability problem, or a tracking problem.
• Establishing clear reporting cadences and dashboards so the team and leadership always know where things stand.

You Are a Great Fit If
• You have 4+ years managing Meta ad accounts at scale ($30K+/day, ideally $50K+/day).
• You have direct-response or DTC ecommerce experience — you understand performance marketing, not brand advertising.
• You have managed multiple ad accounts simultaneously and understand the dynamics of account stability, learning phases, and scaling.
• You have led or mentored other media buyers and can elevate a team, not just run campaigns yourself.
• You think about profitability and unit economics, not just vanity metrics.
• You are data-obsessed and can build a narrative from performance data to drive decisions.
• You are experienced with structured testing frameworks and can design experiments that produce clear, actionable learnings.
• You actively use AI tools to improve your speed and decision-making.
• You are a strong communicator who can translate media buying insights into actionable creative briefs.
• You thrive in fast-moving environments and are comfortable with ambiguity and rapid change.

Please submit your application at zurl.to/llWQ?source=CareerSite.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.1621
Total Execution Time  0.1634
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,519,152 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/senior-media-buyer-meta-paid-social-1591199
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.1560 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1591199
 LIMIT 1 
0.0112   SELECT *
FROM `employers`
WHERE `employer_id` = 805794
 LIMIT 1 
0.0745   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1591199
AND `misc`.`idIS NULL 
0.0007   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-27',ej.date_added) duration_daysDATEDIFF('2026-06-27',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-06-27',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1591199' 
0.0029   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1591199 
0.0020   UPDATE employer_jobs SET hit_counts '***Mar-02-2026=113***Mar-03-2026=31***Mar-04-2026=22***Mar-05-2026=20***Mar-06-2026=9***Mar-07-2026=6***Mar-08-2026=5***Mar-09-2026=1***Mar-10-2026=2***Mar-11-2026=3***Mar-12-2026=1***Mar-13-2026=1***Mar-14-2026=1***Mar-15-2026=1***Mar-16-2026=3***Mar-17-2026=2***Mar-18-2026=2***Mar-21-2026=1***Mar-22-2026=1***Mar-24-2026=1***Mar-26-2026=6***Mar-27-2026=1***Mar-30-2026=3***Apr-03-2026=1***Apr-05-2026=3***Apr-07-2026=1***Apr-09-2026=1***Apr-10-2026=1***Apr-13-2026=2***Apr-14-2026=1***Apr-16-2026=4***Apr-17-2026=1***Apr-18-2026=1***Apr-19-2026=1***Apr-20-2026=3***Apr-21-2026=2***Apr-22-2026=3***Apr-23-2026=2***Apr-25-2026=1***Apr-26-2026=6***Apr-27-2026=1***Apr-29-2026=1***May-01-2026=1***May-02-2026=1***May-04-2026=3***May-05-2026=1***May-06-2026=3***May-09-2026=1***May-12-2026=3***May-13-2026=1***May-16-2026=1***May-17-2026=1***May-20-2026=1***May-22-2026=1***May-24-2026=1***May-27-2026=1***May-28-2026=1***Jun-03-2026=1***Jun-14-2026=3***Jun-16-2026=2***Jun-17-2026=2***Jun-27-2026=1' WHERE job_id'1591199'  
0.0008   UPDATE employer_jobs SET monthly_hits '***Mar-2026=236***Apr-2026=36***May-2026=21***Jun-2026=9' WHERE job_id'1591199'  
0.0004   SELECT date_sent
                FROM 
`jobseeker_sent_emails`
                
WHERE jobseeker_id NULL
                  
AND job_id 1591199
                  
AND status LIKE 'sent%'
                
ORDER BY id DESC
                LIMIT 1 
0.0006   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1591199 
0.0618   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '805794'
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)