Creative Strategist — DTC Supplement Brands (Full-Time)

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

TYPE OF WORK

Any

SALARY

500-1300$ a month

HOURS PER WEEK

35

DATE UPDATED

Aug 6, 2026

JOB OVERVIEW

Summary
999 Supplements is the parent company behind a portfolio of fast-growing DTC supplement brands sold across the US, UK, Canada, Australia, and New Zealand. We build direct-response brands rooted in deep customer research, sharp positioning, and a relentless testing cadence on Meta. We're not a generalist e-commerce shop — every brand we run is engineered around a specific avatar, a specific angle, and a specific desire.

The role

We're looking for a Creative Strategist to own our winning-ad pipeline end to end. Your job is simple to describe and hard to do well: find what's working in the market, understand why it's working, and reverse-engineer it into ads that win for our brands.
You'll work directly with the founder and a team of video editors. You won't be cutting video yourself — you'll be the brain that d ---------- what gets made, for whom, and why.

What you'll actually do

Research the avatar, angle, and desire. For each brand, you'll go deep on who we're selling to, what stage of awareness they're in (Schwartz's awareness ladder is the operating system here), and what language they actually use to describe their problem — pulled from real voice-of-customer sources, not assumptions.
Hunt winning creatives. Daily/weekly sweeps of Facebook Ads Library across direct and indirect competitors, sorted by highest impressions. You'll know which ads are scaling, which mechanisms are getting traction, and which hooks keep showing up.
Transcribe and reverse-engineer. You'll pull scripts from winning competitor ads, feed them through our brief-writing process (with research docs, avatar docs, and product context as inputs), and produce briefs our editors can actually execute on.
Track everything. Every tested creative goes into our Growth Guide '25 spreadsheet. Every brief becomes a Notion card with proper naming conventions and brief links. You own this hygiene — if it's not tracked, it didn't happen.
Rinse and repeat. This is a volume game with a quality floor. Weekly briefs, weekly tests, weekly learnings, weekly iteration.
What we're looking for

2+ years writing direct-response briefs or scripts for DTC brands, ideally supplements, health, or beauty
Native-level fluency in Meta ad creative — you can watch a UGC ad and tell us in 30 seconds why it's working
Working knowledge of the awareness ladder, problem/solution/product awareness, and how to write for each stage
Comfortable with research-heavy workflows: scraping reviews, lurking in Facebook groups and forums, finding the exact phrase a customer uses before they know what's wrong with them
Organized. Notion, Google Sheets, and clean naming conventions are non-negotiable
Writes fast, writes clearly, takes feedback without ego
Bonus: experience with VSLs, advertorials, or presell pages

What you won't be doing

Posting to organic social
Designing graphics or editing video
Running the ad accounts (you'll work closely with the buyer, but media buying isn't your job)

How we work
Our workflow is: Research ? Data Analysis ? Hypothesis ? Copy ? Test ? Feedback Loop ? Repeat. Friday is our weekly performance audit. We run lean, we move fast, and we expect everyone on the team to bring a point of view.

How to apply
Send the following to our inbox/message:

- A short note on the best DTC ad you've seen this month and why it works (3–5 sentences, no fluff)
- A link or attachment of one brief or script you've written that produced results — include the metrics if you have them
- Short Loom video where you explain what creative strategy is and if you have experience. So you can explain everything here
- Your CV or portfolio

Applications without #1 and #2 and #3 won't be reviewed.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0238
Total Execution Time  0.0251
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,510,872 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Creative-Strategist-DTC-Supplement-Brands-Full-Time-1644830
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0185 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1644830
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 462552
 LIMIT 1 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1644830
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-17',ej.date_added) duration_daysDATEDIFF('2026-08-17',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-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1644830' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1644830 
0.0016   UPDATE employer_jobs SET hit_counts '***May-12-2026=243***May-13-2026=36***May-14-2026=6***May-15-2026=11***May-16-2026=6***May-17-2026=3***May-18-2026=3***May-19-2026=6***May-20-2026=3***May-21-2026=6***May-22-2026=3***May-23-2026=1***May-24-2026=2***May-25-2026=3***May-26-2026=7***May-27-2026=2***May-28-2026=1***May-29-2026=1***May-30-2026=1***May-31-2026=1***Jun-01-2026=2***Jun-02-2026=2***Jun-03-2026=4***Jun-06-2026=4***Jun-07-2026=3***Jun-08-2026=1***Jun-09-2026=1***Jun-12-2026=6***Jun-13-2026=2***Jun-20-2026=140***Jun-21-2026=121***Jun-22-2026=74***Jun-23-2026=35***Jun-24-2026=13***Jun-25-2026=3***Jun-26-2026=4***Jun-27-2026=2***Jun-29-2026=3***Jun-30-2026=2***Jul-02-2026=1***Jul-03-2026=3***Jul-05-2026=1***Jul-06-2026=1***Jul-07-2026=1***Jul-08-2026=1***Jul-09-2026=2***Jul-11-2026=1***Jul-12-2026=1***Jul-13-2026=1***Jul-15-2026=1***Jul-18-2026=1***Jul-19-2026=1***Jul-21-2026=7***Jul-23-2026=1***Jul-24-2026=2***Jul-25-2026=7***Jul-26-2026=14***Jul-27-2026=11***Jul-28-2026=10***Jul-29-2026=11***Jul-30-2026=12***Jul-31-2026=14***Aug-01-2026=12***Aug-02-2026=15***Aug-03-2026=10***Aug-04-2026=9***Aug-05-2026=15***Aug-06-2026=411***Aug-07-2026=133***Aug-08-2026=109***Aug-09-2026=56***Aug-10-2026=27***Aug-11-2026=26***Aug-12-2026=27***Aug-13-2026=21***Aug-14-2026=25***Aug-15-2026=20***Aug-17-2026=1' WHERE job_id'1644830'  
0.0006   UPDATE employer_jobs SET monthly_hits '***May-2026=344***Jun-2026=422***Jul-2026=105***Aug-2026=917' WHERE job_id'1644830'  
0.0011   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1644830' 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` = 1644830 
0.0106   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '462552'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)