Viral Scriptwriter

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

TYPE OF WORK

Part Time

SALARY

Depends on experience

HOURS PER WEEK

20

DATE UPDATED

Jan 1, 2026

JOB OVERVIEW

We’re hiring a scriptwriter who understands the marketing niche, and how to write viral, retention-based scripts.

We need scripts for:
A Marketing Agency who delivers websites, branding, ads, SEO, social media management, email management, etc. Main goal is to sound original and creative.
Paid ads (Meta/TikTok/YouTube)
Daily organic talking-head videos (IG Reels, TikTok, YouTube Shorts)

This isn’t “motivational writing.” You must write scripts that are structured to stop the scroll, hold attention, and convert — and you must include what should happen visually while the person is talking.

What you’ll deliver (every script must include)
3 Hook options:
Verbal hook (first line spoken)
On-screen text hook (big text on screen)
Caption hook (optional alt headline)
Full script (30–60s or 60–90s depending on goal)

Scene / shot direction (so the editor + shooter know what to do):
When to change angles, add b-roll, screen recordings, cutaways
Whether to walk, point, show examples, use props, move locations
On-screen text callouts + emphasis words

Retention plan (quick bullet list):
Pattern interrupts every 2–4 seconds
Open loops + payoff timing
“Reset ---------- nts” (new headline, new visual, new claim)

CTA options (platform-appropriate):
DM keyword / book call / click link / comment prompt

Audience targeting note:
Who this is for + what pain point/desire it hits

Niches we work in (examples)
Service businesses, construction/home services, real estate, beauty, ecom, local businesses, agencies. You must be able to adapt tone and angles per niche.

Must-have
Proof you’ve written scripts that performed (show examples or explain results)
Strong understanding of ads vs organic scripting
Platform-native writing (TikTok vs IG vs Shorts feel different)
Clear, punchy writing (Grade 5-7 clarity)
Reliable and fast turnaround

Paid test
We will pay for a test script.

You’ll get:
a niche + offer + target audience + platform
You’ll deliver:
1 ad script (30–45s) + 1 organic script (45–60s)
Each with hooks + shot direction + on-screen text plan
2 CTA variations

To apply, send:
3 examples of scripts you wrote (include at least 1 ad + 1 organic)
Turnaround time

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0021
Controller Execution Time ( Jobseekers / Job )  0.0171
Total Execution Time  0.0201
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,489,472 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Viral-Scriptwriter-1544460
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0082 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1544460
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 881451
 LIMIT 1 
0.0012   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1544460
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-18',ej.date_added) duration_daysDATEDIFF('2026-04-18',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-04-18',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1544460' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1544460 
0.0009   UPDATE employer_jobs SET hit_counts '***Jan-01-2026=47***Jan-02-2026=132***Jan-03-2026=20***Jan-04-2026=31***Jan-05-2026=27***Jan-06-2026=8***Jan-07-2026=8***Jan-08-2026=3***Jan-09-2026=4***Jan-10-2026=5***Jan-11-2026=8***Jan-12-2026=12***Jan-13-2026=3***Jan-14-2026=1***Jan-15-2026=1***Jan-16-2026=1***Jan-18-2026=4***Jan-19-2026=5***Jan-20-2026=1***Jan-22-2026=3***Jan-23-2026=1***Jan-26-2026=1***Jan-27-2026=4***Jan-28-2026=1***Jan-29-2026=1***Jan-30-2026=1***Feb-02-2026=2***Feb-03-2026=1***Feb-04-2026=1***Feb-05-2026=1***Feb-06-2026=1***Feb-07-2026=2***Feb-11-2026=1***Feb-13-2026=2***Feb-14-2026=1***Feb-15-2026=1***Feb-16-2026=1***Feb-20-2026=3***Feb-22-2026=1***Feb-23-2026=3***Feb-24-2026=1***Feb-25-2026=1***Feb-27-2026=1***Feb-28-2026=1***Mar-05-2026=1***Mar-07-2026=1***Mar-10-2026=3***Mar-16-2026=1***Mar-17-2026=1***Mar-19-2026=1***Mar-20-2026=2***Mar-21-2026=1***Mar-24-2026=1***Mar-26-2026=2***Mar-27-2026=5***Mar-29-2026=1***Mar-30-2026=1***Mar-31-2026=1***Apr-01-2026=3***Apr-03-2026=2***Apr-09-2026=1***Apr-11-2026=1***Apr-18-2026=1' WHERE job_id'1544460'  
0.0008   UPDATE employer_jobs SET monthly_hits '***Jan-2026=333***Feb-2026=25***Mar-2026=22***Apr-2026=8' WHERE job_id'1544460'  
0.0010   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1544460' 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` = 1544460 
0.0010   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '881451'
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)