Sales Operations Data Analyst

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

TYPE OF WORK

Full Time

SALARY

1000 per month

HOURS PER WEEK

40

DATE UPDATED

Jan 2, 2026

JOB OVERVIEW

Role Summary

We’re hiring a data-driven operator to own our sales reporting across HubSpot and GoHighLevel (GHL) and maintain our Google Sheets master dashboards. This is a numbers-heavy role built around accuracy, consistency, and repeatable reporting rhythms—tracking KPIs daily, keeping CRM data clean, building dashboards leadership trusts, and spotting trends early.

What You Will Accomplish
Own Sales Reporting (Daily / Weekly / Monthly)

Deliver daily KPI reporting and ensure numbers are consistent across systems.

Own weekly and monthly rollups for leadership (pipeline movement, close rates, rep activity, conversions, forecasting).

Maintain standardized KPI definitions so reporting stays clean and reliable.

Build & Maintain Dashboards (HubSpot, GHL, Google Sheets)

Build and maintain live Google Sheets dashboards (scorecards, pipeline trackers, leaderboards, performance dashboards).

Use advanced Sheets skills (e.g., QUERY, IMPORTRANGE, ARRAYFORMULA, nested logic, validation, structured templates).

Create and maintain native HubSpot + GHL reports that leadership actually uses.

Data Accuracy & CRM Hygiene (Zero Tolerance)

Clean, normalize, and deduplicate CRM records to protect reporting accuracy.

Audit data inputs (stages, fields, naming conventions) and correct issues fast.

Run QA checks so dashboards match the CRM source of truth.

Insights, Trends, and Risk Flagging

Spot patterns in the numbers (drop-offs, stalled deals, rep performance dips, conversion shifts).

Flag risks early and share clear insights that drive coaching and pipeline recovery.

Highlight what’s changed, why it matters, and what action should be taken.

Who You Are

Obsessively accurate — you treat reporting like it’s money.

Proactive — you fix data gaps before anyone asks.

Calm under pressure — reporting deadlines are tight and expectations are high.

Systems thinker — you build dashboards and processes that scale and stay clean.

Your Qualifications

Must-Haves

Experience owning sales KPI reporting (daily/weekly/monthly).

Strong in Hubspot + GoHighLevel (GHL) reporting and dashboard building.

Advanced Google Sheets for live dashboards (QUERY/IMPORTRANGE/ARRAYFORMULA).

Experience with Zapier + automation tools to move data between systems and keep reporting updated.

Extremely accurate with data cleanup/QA (dedupe, consistency, zero dirty data).

Can spot trends + flag risks and communicate insights clearly in English.

Full-time availability with overlap 9:00am–4:00pm US Central Time.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0165
Total Execution Time  0.0178
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,504,240 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Sales-Operations-Data-Analyst-1543889
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0111 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1543889
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 889518
 LIMIT 1 
0.0035   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1543889
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-15',ej.date_added) duration_daysDATEDIFF('2026-04-15',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-15',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1543889' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1543889 
0.0008   UPDATE employer_jobs SET hit_counts '***Jan-02-2026=322***Jan-03-2026=145***Jan-04-2026=104***Jan-05-2026=133***Jan-06-2026=79***Jan-07-2026=35***Jan-08-2026=30***Jan-09-2026=20***Jan-10-2026=10***Jan-11-2026=8***Jan-12-2026=10***Jan-13-2026=19***Jan-14-2026=7***Jan-15-2026=14***Jan-16-2026=6***Jan-17-2026=3***Jan-18-2026=3***Jan-19-2026=8***Jan-20-2026=2***Jan-21-2026=4***Jan-22-2026=8***Jan-23-2026=7***Jan-24-2026=5***Jan-25-2026=2***Jan-26-2026=3***Jan-27-2026=4***Jan-28-2026=1***Jan-29-2026=1***Jan-30-2026=2***Jan-31-2026=1***Feb-01-2026=1***Feb-02-2026=2***Feb-03-2026=2***Feb-04-2026=2***Feb-07-2026=2***Feb-10-2026=3***Feb-11-2026=9***Feb-12-2026=2***Feb-13-2026=3***Feb-14-2026=4***Feb-15-2026=1***Feb-16-2026=2***Feb-18-2026=2***Feb-19-2026=2***Feb-20-2026=4***Feb-21-2026=1***Feb-22-2026=3***Feb-23-2026=4***Feb-25-2026=2***Feb-26-2026=2***Feb-27-2026=1***Feb-28-2026=1***Mar-01-2026=5***Mar-02-2026=2***Mar-04-2026=5***Mar-05-2026=4***Mar-06-2026=1***Mar-07-2026=1***Mar-08-2026=1***Mar-10-2026=3***Mar-11-2026=2***Mar-12-2026=3***Mar-15-2026=2***Mar-17-2026=1***Mar-18-2026=3***Mar-20-2026=2***Mar-23-2026=1***Mar-24-2026=1***Mar-25-2026=1***Mar-26-2026=1***Mar-27-2026=3***Mar-28-2026=1***Mar-29-2026=3***Mar-30-2026=3***Mar-31-2026=2***Apr-01-2026=1***Apr-02-2026=3***Apr-05-2026=2***Apr-06-2026=2***Apr-07-2026=2***Apr-08-2026=3***Apr-10-2026=1***Apr-15-2026=1' WHERE job_id'1543889'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jan-2026=996***Feb-2026=55***Mar-2026=51***Apr-2026=15' WHERE job_id'1543889'  
0.0017   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1543889' 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` = 1543889 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '889518'
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)