Senior Meta Ads Creative — AI-Powered Video & Static Ads

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

TYPE OF WORK

Part Time

SALARY

Salary: $800 – $1,200/month USD

HOURS PER WEEK

20

DATE UPDATED

May 19, 2026

JOB OVERVIEW

Job Type: Part-time - Potential Full Time
Schedule: Fully flexible — work when it suits you. We communicate async via Slack. No fixed hours.
Salary: $800 – $1,200/month USD
Start Date: Immediate

About Us
We're LMD Growth Agency, a digital marketing agency based in South Florida. We run paid social, paid search, SEO, and web development for a portfolio of established US clients across home services, automotive, healthcare, and retail. Our clients aren't startups — they're real businesses spending real ad dollars and expecting real results.
We're looking for a creative who lives and breathes Meta ads, has serious taste, and is already shipping work using the new wave of AI video and image tools. If you're still relying on stock footage and Canva templates, this isn't for you. If you're producing AI-driven UGC ads in Arcads, generating ad concepts in Midjourney, and editing in CapCut Pro at speed, keep reading.

What You'll Actually Do

Concept and produce Meta ads (Facebook + Instagram) for multiple clients across different verticals — static ads, short-form video (15s, 30s), AI UGC, and motion graphics
Use AI tools to dramatically increase creative volume and test velocity — Midjourney, Runway, Kling, Sora/Veo, Arcads, HeyGen, ElevenLabs, Adobe Firefly, CapCut Pro
Study what's currently winning on Meta in our clients' verticals and bring fresh angles, hooks, and formats every week
Produce ad variations at scale — different hooks, different visuals, different CTAs — so we can test fast and find winners
Work directly from creative briefs and reference ads we share, but bring your own ideas to the table — we want a creative partner, not an order-taker
Edit and assemble UGC-style video ads from raw client footage and AI-generated assets
Maintain brand consistency across multiple clients while adapting tone and style to each one
Communicate proactively in Slack — share work-in-progress, ask smart questions, flag what's working


Required Experience

Minimum 3 years producing performance creative for Meta ads specifically — not general social media content, not branding work
Demonstrable AI tool fluency — you're already using Midjourney, Runway, Kling, Arcads, HeyGen, or ElevenLabs in your actual workflow, not just experimenting on weekends
Strong portfolio of Meta ads you've personally produced — with metrics on at least a few of them (CTR, hook rate, ROAS, or similar)
Mastery of CapCut Pro for fast video assembly and editing
Solid command of Photoshop, Illustrator, or Figma for static ad design
Real understanding of what makes a Meta ad stop the scroll — hooks, pacing, captions, pattern interrupts, UGC conventions
Ability to produce ads quickly without sacrificing quality — speed is part of the job
Strong written English for Slack communication and ad copy iteration
Self-managing — you don't need someone watching over you to deliver


Nice to Have

Experience producing ads for home services, automotive, healthcare, or local service businesses
Direct experience inside Meta Ads Manager (reading performance data, not just delivering files)
Voiceover scripting experience for AI delivery (ElevenLabs, HeyGen)
Motion graphics skills (After Effects or equivalent)
Light copywriting ability — primary headlines, captions, CTAs


How We Work
This is a part-time role with real flexibility. We don't care when you work — we care that the work gets done well, that you respond to Slack within a reasonable window during your active days, and that deadlines get hit. Some of our team works mornings, some works nights. As long as you're communicating and delivering, we don't track hours.
What we do expect:

Active on Slack during the days you're working — not radio silence for 3 days
Hit agreed deadlines, or flag early if something is going to slip
Self-manage your workload — we'll give you priorities, you figure out your schedule
Show up to a weekly team check-in (we'll find a time that works for you)

If you need rigid structure and someone telling you what to do hour by hour, this isn't the right fit. If you do your best work when trusted to manage your own time, you'll thrive here.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0181
Total Execution Time  0.0200
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,513,096 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Meta-Ads-Creative-AI-Powered-Video-Static-Ads-1637087
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0104 seconds)  (Hide)
0.0005   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1637087
 LIMIT 1 
0.0005   SELECT *
FROM `employers`
WHERE `employer_id` = 930493
 LIMIT 1 
0.0026   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1637087
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-22',ej.date_added) duration_daysDATEDIFF('2026-07-22',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-07-22',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1637087' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1637087 
0.0011   UPDATE employer_jobs SET hit_counts '***May-01-2026=105***May-02-2026=89***May-03-2026=39***May-04-2026=32***May-05-2026=20***May-06-2026=14***May-07-2026=9***May-08-2026=6***May-09-2026=4***May-11-2026=5***May-12-2026=2***May-13-2026=5***May-14-2026=4***May-15-2026=5***May-16-2026=3***May-17-2026=2***May-18-2026=4***May-19-2026=147***May-20-2026=59***May-21-2026=22***May-22-2026=12***May-23-2026=11***May-24-2026=1***May-25-2026=4***May-26-2026=11***May-27-2026=5***May-28-2026=2***May-29-2026=1***May-30-2026=5***Jun-01-2026=10***Jun-02-2026=5***Jun-03-2026=2***Jun-04-2026=1***Jun-05-2026=4***Jun-06-2026=1***Jun-07-2026=1***Jun-08-2026=2***Jun-10-2026=5***Jun-11-2026=1***Jun-12-2026=3***Jun-13-2026=1***Jun-14-2026=1***Jun-15-2026=1***Jun-17-2026=4***Jun-18-2026=1***Jun-20-2026=3***Jun-23-2026=1***Jun-26-2026=1***Jun-27-2026=1***Jun-28-2026=6***Jun-29-2026=2***Jul-02-2026=1***Jul-03-2026=2***Jul-04-2026=1***Jul-05-2026=4***Jul-06-2026=1***Jul-08-2026=1***Jul-11-2026=1***Jul-14-2026=3***Jul-16-2026=8***Jul-17-2026=1***Jul-22-2026=1' WHERE job_id'1637087'  
0.0007   UPDATE employer_jobs SET monthly_hits '***May-2026=628***Jun-2026=57***Jul-2026=24' WHERE job_id'1637087'  
0.0016   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1637087' 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` = 1637087 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '930493'
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)