OPERATIONS/SYSTEMS MANAGER

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

TYPE OF WORK

Full Time

SALARY

$900/monthly

HOURS PER WEEK

40

DATE UPDATED

Sep 17, 2026

JOB OVERVIEW

Role Summary
JNK Online Coaching is a Canadian based online fitness and nutrition coaching business serving women in perimenopause and menopause, with a team of roughly 16-18 people (coaches, closers, and ops/data support).

We're looking for a Systems Ops Manager to own our tech stack end-to-end: GoHighLevel (GHL) administration, integrations across our tools (Stripe, Whop, Trainerize, SendGrid, AEvent, and Zoom), payment and client-status tracking, ad tracking/attribution insight, and the automations that keep client data accurate without manual re-entry.

This is a builder/operator role, not an executive-assistant or reporting-only role — you'll be inside the software fixing and building, not managing a calendar.

We want someone excellent at this specific work, full-time or near full-time, not a generalist splitting time across unrelated tasks.

Key Responsibilities

GoHighLevel administration

• Build, maintain, and QA automations/workflows, pipelines, calendars, and custom fields
• Fix broken automations before they cost us clients or revenue
• Be the go-to person for the team's questions, concerns, and issues around automations and systems
Integrations
• Keep data flowing correctly between GHL, Stripe, Whop, Trainerize, SendGrid, AEvent, and Zoom
• Eliminate manual re-entry between tools
• Support ad tracking and attribution (Meta ads, UTM parameters, pixel setup) so ad performance data ties cleanly into GHL and our reporting
Payment and client-status tracking
• Own subscription status, renewal/end dates, failed or declined payments inside GHL
• Build a reliable process for reconciling e-transfer payments (which don't auto-trigger like Stripe/Whop)
• Flag payment issues before they become client-retention issues
Client lifecycle tracking
• Replace our manual Google Sheet tracker with GHL-based tracking for onboarding, active status, renewals, and cancellations
• Ensure coach-client matching and status data stays accurate and current
• Where a Google Sheet is still the right tool for something, build and maintain the automations needed to keep it accurate (e.g., via Zapier/Make/App Script) instead of relying on manual updates
Reporting
• Produce clean, reliable reporting on show rates, close rates, retention, and coach performance — pulled from the system, not manually compiled
Systems judgment
• Recommend and, where approved, implement supporting automation only when GHL and Google Sheets automations genuinely can't do the job — without creating duplicate sources of truth
Must-Have Skills & Experience
• 2+ years hands-on building automations/workflows in GoHighLevel (not just using it as a basic CRM) — able to describe specific workflows built, not just "experience with GHL"
• Comfortable working across Stripe, Whop, and payment reconciliation (understands subscriptions, failed payments, chargebacks)
• Strong with Zapier or Make for connecting tools that don't integrate natively
• Detail-oriented and process-driven — this person catches the automation that silently broke three weeks ago
• Clear written English for documenting SOPs and communicating issues to the team
• Available to overlap with Manitoba business hours (America/Winnipeg, UTC-05:00) for at least part of the day
Nice-to-Have
• Familiarity with Trainerize, SendGrid, AEvent, or Zoom integrations
• Experience with Meta Ads tracking/attribution (Pixel, UTM parameters, conversion tracking)
• Prior experience in a coaching, fitness, or subscription/membership business
• Basic data reporting/visualization skills (dashboards, simple analysis)
• Experience training or documenting processes for a non-technical team
How Success Is Measured
• Zero client-affecting payment/automation failures per month (or issues caught and fixed before they reach a client)
• Client status, payment status, and end dates are always accurate in GHL — no more manual Google Sheet cross-checking
• Automations are documented, so the business isn't dependent on this one person's memory
• Reporting (show rates, close rates, retention, coach performance) is available on request without a manual scramble

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0214
Total Execution Time  0.0231
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,509,320 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/OPERATIONSSYSTEMS-MANAGER-1733081
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0151 seconds)  (Hide)
0.0019   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1733081
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 824606
 LIMIT 1 
0.0018   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1733081
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-24',ej.date_added) duration_daysDATEDIFF('2026-09-24',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-09-24',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1733081' 
0.0031   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1733081 
0.0010   UPDATE employer_jobs SET hit_counts '***Sep-17-2026=405***Sep-18-2026=305***Sep-19-2026=61***Sep-23-2026=2***Sep-24-2026=1' WHERE job_id'1733081'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Sep-2026=774' WHERE job_id'1733081'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1733081' 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` = 1733081 
0.0032   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '824606'
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)