Direct Response Scriptwriter & Content Creative (Meta Ads | Home Services)

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

TYPE OF WORK

Full Time

SALARY

800

HOURS PER WEEK

40

DATE UPDATED

Jul 31, 2026

JOB OVERVIEW

We run Local Lead Machine, a marketing system that generates high-intent leads for local home service businesses (roofing, concrete, tree service, landscaping, etc.). Your entire job is to write video scripts that drive leads and organic content scripts that build trust and authority for these brands.
You must understand hooks, offers, urgency, and proof – and how to turn them into simple 30–60 second Meta videos that actually convert. 80% of your value is in the hook and angle you write.


Job Responsibilities

What You’ll Do
* Direct response Meta ad scripts
* Write short-form 30–60 second video ad scripts for Meta (Facebook/Instagram).
* Focus on scroll-stopping hooks, clear offers, and strong CTAs that drive leads and booked estimates, not just views.
* Example niche: roofing, concrete, landscaping, tree service, etc.
* Organic authority content
* Come up with organic content ideas + scripts (Reels, Shorts, feed videos) that build authority and trust for home service brands.
* Mix of education, storytelling, before/after, FAQs, and myth-busting content.
* Research & iteration
* Dig into client websites, reviews, and competitors to find real pain points and unique angles.
* Turn performance feedback into new hooks, angles, and scripts each week.



Job Requirements

Requirements
* Proven experience writing direct response video scripts for Meta or similar platforms.
* Strong understanding of basic persuasion concepts (problem–agitate–solve, urgency, social proof, clear offers).
* Comfortable writing for non-sexy, real-world niches (roofing, trades, local services).
* Clear, concise English writing; no fluff.
* Organized and reliable with deadlines.


Mandatory Test (Do This to Be Considered)
With your application, include:
1. Direct response Meta video ad script (30–60 seconds)
* For a roofing company running this offer:
* “$2,500 off any roof purchased this month.”
* Goal: generate leads / booked roof estimates from homeowners.
2. Organic content idea + full script for social media
* Same roofing company.
* Goal: build trust and authority (not a hard pitch).
* Example angles: “3 costly mistakes homeowners make when choosing a roofer,” “What a real roof inspection should look like,” etc.
3. Loom video (3–5 minutes) answering:
* Who are you and what direct response / Meta ad experience do you have?
* Show or describe 1–2 ads or scripts you’re proud of and why they worked.
* How do you approach writing hooks and researching the audience?
* How do you handle feedback when a script doesn’t perform?
4. Attach your Instagram profile link (or best social / portfolio link) so we can see how you think about content.

Start the first line of your application with the word: “ROOF” so we know you actually read this and can follow directions.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0148
Total Execution Time  0.0163
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,502,080 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Direct-Response-Scriptwriter-Content-Creative-Meta-Ads-Home-Services-1699868
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0092 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0014   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1699868
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 811229
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1699868
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-08',ej.date_added) duration_daysDATEDIFF('2026-08-08',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-08-08',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1699868' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1699868 
0.0011   UPDATE employer_jobs SET hit_counts '***Jul-31-2026=550***Aug-01-2026=59***Aug-02-2026=87***Aug-03-2026=27***Aug-04-2026=1***Aug-08-2026=2' WHERE job_id'1699868'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=550***Aug-2026=176' WHERE job_id'1699868'  
0.0007   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1699868' 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` = 1699868 
0.0024   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '811229'
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)