Email Marketing Designer

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

TYPE OF WORK

Part Time

SALARY

$8

HOURS PER WEEK

20

DATE UPDATED

Oct 24, 2026

JOB OVERVIEW

We're hiring a contract Email Marketing Designer to own design and build for every campaign and flow email we send. You'll report to our Director of Retention & Ecom, who owns strategy, briefs, and copy. You own the design in Figma and the build in Klaviyo.

*ALL APPLICANTS MUST SHARE PREVIOUS EMAIL WORK SAMPLES.

This is a design-and-production role, not a strategy role. The work is clear: turn a finished brief and copy into emails that look premium, read fast, and drive revenue, on time, every week.

How a send moves from brief to inbox:
1. Director writes the strategy, brief, and copy.
2. You design the email in Figma.
3. We review together; you revise until it's approved.
4. You build it in Klaviyo: modules, segments-ready templates, links, alt text, dynamic blocks.
5. Director previews, QAs, and approves the build.
6. You schedule the send.

Our brand is evolving, with a refreshed visual identity rolling out in early 2027. You'll help carry that new system across our campaign and flow templates.

What you'll do:
Design
• Design campaign and flow emails in Figma from finished briefs and copy, at a pace of roughly 5 emails per week.
• Build and maintain a modular Figma email design system: components, type scale, color, spacing, and reusable layouts.
• Design for mobile first. Most of our customers read on their phones.
• Make product, sourcing, and lab-testing proof easy to see at a glance: ingredient callouts, comparison modules, and clean product photography layouts.
• Prepare image assets: cropping, compression, GIFs, and light retouching.

Build in Klaviyo
• Turn approved Figma designs into Klaviyo templates and emails that match the design exactly.
• Build reusable, drag-and-drop-friendly templates and universal content blocks so new emails ship faster.
• Use dynamic content, conditional blocks, and product feeds where the brief calls for them.
• Set up UTMs, links, alt text, preview text, and dark-mode handling on every send.
• Test across clients and devices (Gmail, Apple Mail, Outlook, iOS, Android) before handing off for approval.
• Schedule approved campaigns and update flow emails when a change is approved.

Process and testing
• Hit agreed turnaround times from brief to build-ready design, and from approval to scheduled send.
• Keep a clean, organized Figma file and Klaviyo template library so anyone on the team can find what they need.
• Design A/B test variants (layout, hero, CTA, module order) as part of our testing roadmap.
• Flag rendering, deliverability, or accessibility issues before they reach the inbox.
What you bring

Must have
• 3+ years designing email for DTC ecommerce brands, ideally CPG, food, or wellness.
• A portfolio of shipped emails, campaigns and flows, with results where you have them.
• Expert in Figma, including components, auto layout, and organized handoff files.
• Hands-on Klaviyo builder: templates, drag-and-drop editor, universal content, dynamic and conditional blocks.
• Working knowledge of email rendering, dark mode, and accessibility.
• Fast, reliable, and organized. You hit deadlines and communicate early when something slips.
• Takes feedback well and turns revisions around quickly.

Nice to have
• HTML/CSS for email.
• Experience designing within a brand refresh or building an email design system from scratch.
• Experience with Postscript or SMS creative, or direct mail postcards.
• An eye for food and product photography.
• Interest in real food, clean ingredients, or regenerative agriculture.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0134
Total Execution Time  0.0148
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,507,864 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Email-Marketing-Designer-1754642
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0064 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1754642
 LIMIT 1 
0.0012   SELECT *
FROM `employers`
WHERE `employer_id` = 1012214
 LIMIT 1 
0.0005   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1754642
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-27',ej.date_added) duration_days, DATEDIFF('2026-10-27',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-10-27',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1754642' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1754642 
0.0008   UPDATE employer_jobs SET hit_counts = '***Oct-22-2026=1***Oct-23-2026=5***Oct-24-2026=226***Oct-25-2026=86***Oct-26-2026=2***Oct-27-2026=3' WHERE job_id= '1754642'  
0.0008   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=323' WHERE job_id= '1754642'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1754642' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1754642 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '1012214'
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)