Marketing Specialist

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

TYPE OF WORK

Full Time

SALARY

Compensation: $1,300 – $1,800 / month US

HOURS PER WEEK

40

DATE UPDATED

Jul 31, 2026

JOB OVERVIEW

PLEASE APPLY HERE: ----------

Compensation: $1,300 – $1,800 / month USD

Contractual | California business hours | Compensation is based on experience, depth of B2B SEO/content expertise, and demonstrated results. There is strong potential for compensation growth based on performance and impact within the first 3–6 months.

THE AMBITION

CDMS is a 17-person environmental, health & safety consulting firm serving California industrial and commercial facilities since 1988. We intend to become the most trusted EHS compliance partner in California, and we're investing seriously to get there. Marketing is one of the main levers, alongside service quality and technical depth.

Two assets are already in motion: a large-scale content and search program across our core services on ---------- , and a second publication, EHS Career Paths ( ---------- ), that reaches EHS professionals directly. Until now this work has been handled within the team, without a dedicated owner. This role is that owner.

THE ROLE

Marketing at CDMS is several disciplines running at once: SEO and content operations, local search and reputation, off-site authority building, and the design and conversion work that turns visits into leads. A firm our size can't hire a specialist for each. We need one person who runs it all as a system: doing the project management for the full portfolio of marketing work at CDMS, doing a lot of the core & high leverage work personally & via automations, and working with internal and external partners for the rest.

At CDMS (about two-thirds)

The content pipeline: keep service pages, cluster content, and blog posts moving from draft to published, with our web developer.
Local search and reputation: Google reviews, Business Profile, citations, local landing pages.
Conversion: page design, calls to action, and the authority signals that make a prospect pick up the phone and that make a client pick us for the work.
The weekly dashboard: traffic, rankings, leads. Tell us what the numbers mean, not just what they are.

At EHS Career Paths (about one-third, ramping up)

The publishing engine: articles, newsletter, practitioner interviews, and repurposing each piece across formats and channels.
Growth: outreach to associations and university programs, the LinkedIn presence, and the annual State of EHS in California survey.

Example projects in the first year

Build the local reputation engine: run the Google review program with our project managers and stand up local landing pages, so facilities searching in our service areas find us and trust what they see.
Redesign our highest-traffic service pages for conversion: layout, calls to action, and proof elements, measured in calls and quote requests rather than traffic.
Launch the first State of EHS in California survey: design it, distribute it through associations and university programs, and publish the report as the best California dataset in the field.

WHO WE'RE LOOKING FOR

An architect, not an operator. Someone analytical and systems-minded who turns ambiguity into structure instead of waiting for instructions, and who measures themselves on outcomes rather than completed tasks. A power user of AI and modern tools who would rather automate a process than repeat it. Someone who enjoys the problem-solving itself, because we are in the process of figuring out the playbook. Excellent written English is required; the work is audience-facing in English.

THE PROCESS

Our hiring process flexes with each conversation, but the common elements are consistent: a short behavioral assessment, a 12-minute reasoning test, interviews, a review of past work, and reference checks with your former direct managers.
Next Step: To move forward in the hiring process, please complete the assessment below. Once finished, you’ll receive a second assessment. Completion of both is required for consideration.

----------

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0208
Total Execution Time  0.0230
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,512,704 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Marketing-Specialist-1693853
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0157 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1693853
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 622115
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1693853
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-10',ej.date_added) duration_daysDATEDIFF('2026-08-10',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-10',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1693853' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1693853 
0.0019   UPDATE employer_jobs SET hit_counts '***Jul-21-2026=387***Jul-22-2026=267***Jul-23-2026=87***Jul-24-2026=17***Jul-25-2026=13***Jul-26-2026=15***Jul-27-2026=16***Jul-28-2026=6***Jul-29-2026=5***Jul-30-2026=1***Jul-31-2026=446***Aug-01-2026=93***Aug-02-2026=95***Aug-03-2026=55***Aug-04-2026=17***Aug-05-2026=21***Aug-06-2026=7***Aug-07-2026=5***Aug-10-2026=1' WHERE job_id'1693853'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=1260***Aug-2026=294' WHERE job_id'1693853'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1693853' 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` = 1693853 
0.0082   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '622115'
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)