Video Ad Creator & Direct Response Copywriter

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

TYPE OF WORK

Full Time

SALARY

1000

HOURS PER WEEK

40

DATE UPDATED

Apr 20, 2026

JOB OVERVIEW

TechToast Academy is a fast growing e-commerce brand spending significantly on Meta ads. We sell a 25-week Arduino-based electronics and coding program for kids ages 8 and up, and we are scaling fast.

We are looking for a full-time video ad creator who lives and breathes direct response advertising. You will be given a concept and your job is to take it all the way to a finished, tested video ad ready to run on Meta.

This is not a general video editing role. We need someone who understands why ads work, how to write a hook that stops a scroll in under 3 seconds, how to structure a video that moves a parent from curiosity to conviction, and how to deliver a polished final cut that performs.

Responsibilities:
- Write direct response video scripts from concepts provided, including hooks, body, and CTA
- Edit raw footage, UGC clips, and product footage into finished video ads
- Add captions, motion graphics, music, and sound design
- Produce multiple variations of each ad to support split testing
- Stay current on what is working on Meta and bring fresh ideas
- Deliver clean, properly formatted files ready to upload

Requirements:
- Proven experience creating video ads that have actually run and performed on Meta, you must be able to show results, not just pretty edits
- Strong direct response copywriting instincts, you understand hooks, open loops, objection handling, and CTAs
- Proficient in Premiere Pro, CapCut, or similar professional editing tools
- Experience with captions, motion graphics, and ad-native formatting
- Portfolio of real Meta video ads you have created is required, no portfolio, no consideration
- Experience in e-commerce or kids products is a strong plus

To apply please share your portfolio including at least two Meta video ads you created from concept to final cut, and briefly explain what made each one work.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0109
Total Execution Time  0.0123
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,489,384 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Video-Ad-Creator-Direct-Response-Copywriter-1627676
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0053 seconds)  (Hide)
0.0005   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1627676
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 918653
 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` = 1627676
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-02',ej.date_added) duration_daysDATEDIFF('2026-09-02',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-02',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1627676' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1627676 
0.0010   UPDATE employer_jobs SET hit_counts '***Apr-20-2026=201***Apr-21-2026=16***Apr-22-2026=13***Apr-23-2026=12***Apr-24-2026=2***Apr-25-2026=1***Apr-26-2026=3***Apr-27-2026=4***Apr-28-2026=2***May-01-2026=1***May-04-2026=2***May-06-2026=2***May-08-2026=1***May-09-2026=3***May-10-2026=2***May-12-2026=1***May-15-2026=1***May-16-2026=1***May-17-2026=2***May-19-2026=1***May-21-2026=3***May-26-2026=1***May-28-2026=1***May-30-2026=1***May-31-2026=1***Jun-01-2026=4***Jun-02-2026=2***Jun-04-2026=1***Jun-14-2026=1***Jun-16-2026=1***Jun-17-2026=1***Jun-20-2026=2***Jun-27-2026=2***Jun-28-2026=1***Jun-29-2026=1***Jun-30-2026=1***Jul-01-2026=1***Jul-02-2026=1***Jul-04-2026=1***Jul-05-2026=2***Jul-06-2026=3***Jul-07-2026=1***Jul-10-2026=1***Jul-12-2026=1***Jul-15-2026=3***Jul-16-2026=1***Jul-23-2026=5***Jul-27-2026=1***Jul-29-2026=1***Jul-31-2026=1***Aug-01-2026=3***Aug-03-2026=4***Aug-06-2026=2***Aug-07-2026=1***Aug-10-2026=2***Aug-12-2026=5***Aug-13-2026=1***Aug-17-2026=1***Aug-20-2026=4***Aug-25-2026=1***Aug-29-2026=2***Sep-02-2026=2' WHERE job_id'1627676'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Apr-2026=254***May-2026=24***Jun-2026=17***Jul-2026=23***Aug-2026=26***Sep-2026=2' WHERE job_id'1627676'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1627676' 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` = 1627676 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '918653'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)