Head of Customer Support For DTC Ecom Brand

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

TYPE OF WORK

Full Time

SALARY

2000

HOURS PER WEEK

40

DATE UPDATED

Jul 8, 2026

JOB OVERVIEW

We are a fast scaling DTC Ecom Brand and we need to hire a Head of Support for our CX team.

You'll own
- The team: our CX agents today, and everyone you hire after — weekly KPIs per rep, QA ticket audits, coaching, and a bonus structure you design
- Systems from scratch: scenario playbooks ("when this comes up, here's what you do"), macros, escalation trees, tone guidelines, refund & save decision rights — your SOPs become the operating manual
- The review trajectory: engineered review flows, negative-review interception, response protocol. The Trustpilot number is yours
- Save & refund economics: cancellation saves and the save-offer ladder, with our Head of Retention
- Chargeback prevention: resolving customers before they call their bank — you protect our processor health
- Three intelligence loops: monthly insight reports to product (quality themes), creative (customer objections become ads), and fulfillment (shipping patterns flagged same-week)
- Ticket deflection: we're tripling volume — that must not mean tripling headcount. Self-serve, proactive comms, AI triage: the ticket-per-order ratio is your scaling metric
- Q4 readiness: surge staffing, macros, and i ---------- protocols in place before November

Who you are
- You've led CX at a DTC/e-commerce brand doing $3M+/month (or equivalent ticket volume) — you've seen real scale, surge seasons, and processor stakes
- You've built support systems from scratch, not inherited them — and you can show us the SOPs, decision trees, and QA rubrics you made
- You have a review-score or CSAT turnaround you personally drove, with numbers
- You've hired, coached, and exited reps — built a team, not just supervised one
- You know your ticket-per-order ratio and what you did to move it (if you've never computed it, this isn't your role)
- You use AI where it multiplies (triage, drafting, tagging) and keep humans where it matters (skin reactions, angry customers, disputes)
- You're still happy to work the queue on the hardest tickets — this is player-coach, not pure management

Comp & structure
$2,000–$4,000/month base (experience-dependent) · full-time · fully remote, global
Quarterly performance bonus up to $2,000, recurring — four metrics at $500 each: CSAT, save rate, chargeback rate, Trustpilot trajectory. Hit all four every quarter, get paid every quarter

How to apply
Record a 3-minute Loom covering: (1) the best support function you've ever built and one artifact from it, (2) your last roles and why you left or planning to,

Send it with your CV. No Loom = no review. (no old loom also)

We move fast: our process is two interviews + one test task, and we make offers within 5 days of the final round.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0276
Total Execution Time  0.0293
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,500,168 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Head-of-Customer-Support-For-DTC-Ecom-Brand-1684533
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0191 seconds)  (Hide)
0.0009   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0010   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1684533
 LIMIT 1 
0.0015   SELECT *
FROM `employers`
WHERE `employer_id` = 738116
 LIMIT 1 
0.0014   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1684533
AND `misc`.`idIS NULL 
0.0011   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-12',ej.date_added) duration_daysDATEDIFF('2026-07-12',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-07-12',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1684533' 
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1684533 
0.0014   UPDATE employer_jobs SET hit_counts '***Jul-08-2026=652***Jul-09-2026=64***Jul-10-2026=18***Jul-11-2026=6***Jul-12-2026=1' WHERE job_id'1684533'  
0.0013   UPDATE employer_jobs SET monthly_hits '***Jul-2026=741' WHERE job_id'1684533'  
0.0014   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1684533' AND status LIKE 'sent%' ORDER BY id DESC  
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1684533 
0.0056   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '738116'
AND `date_added` >= '2022-06-08' 
0.0011   select from teasers 
0.0009   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)