Digital Marketing Manager

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

TYPE OF WORK

Full Time

SALARY

$1000 to $1500 USD

HOURS PER WEEK

40

DATE UPDATED

Aug 14, 2026

JOB OVERVIEW

Cooper Roofing Inc.
Digital Marketing Manager



Location: Remote (Philippines preferred). Applicants must maintain at least three hours of overlap with Vancouver business hours. Five to eight hours of overlap is ideal.


Build the Marketing Engine Behind Our Next Stage of Growth

Cooper Roofing is an award-winning residential, commercial, and builder-focused roofing company serving Greater Vancouver and the Lower Mainland. For nearly a decade, we have worked to challenge the status quo of the roofing industry through reliable service, organized systems, continuous improvement, and a strong commitment to our customers and team.



We are bringing our marketing operations in-house and looking for an experienced strategist who can take ownership of the function, improve performance, and help create a scalable customer-acquisition system.



The Digital Marketing Manager will report directly to the Founder and CEO and lead Cooper Roofing's digital marketing strategy and day-to-day execution. This is not an entry-level assistant or task-based marketing role. You will be responsible for rebuilding and managing our paid advertising, SEO, attribution, content, reputation, and reporting systems.



You will also manage the output of our Social Media Manager and provide clear written direction to our web developer. The right candidate will be a hands-on marketing generalist who can move comfortably between strategy, campaign management, analytics, team leadership, and technical coordination.



Key Responsibilities

Reactivate, manage, and continuously optimize Google Ads using six years of historical campaign data.
Manage Google Local Services Ads as a separate pay-per-lead channel.
Audit, stabilize, and expand Meta advertising campaigns.
Track and optimize lead-generation platforms, including Roofle and other relevant sources.
Manage GoHighLevel number pools, dynamic number insertion, campaign tracking, and UTM standards.
Maintain accurate attribution between advertising spend, incoming leads, and closed revenue.
Develop on-page and technical SEO strategies for implementation by the web developer.
Lead off-page SEO initiatives, including citations, directory consistency, backlinks, and local partnerships.
Own the Google Business Profile, review-generation process, review disputes, and reputation strategy.
Develop AI-search and answer-engine optimization strategies using structured data, schema, and helpful content.
Review and direct two to four monthly blog articles prepared by the Social Media Manager.
Improve landing-page conversion rates through ongoing testing of forms, messaging, and calls to action.
Manage and improve GoHighLevel email and SMS nurture sequences.
Track competitor advertising, offers, spending, and market positioning.
Build seasonal campaigns around roofing demand cycles, including storm season, pre-winter urgency, and spring inspections.
Direct the Social Media Manager's daily output and prepare clear development tickets for the web developer.
Produce weekly reports connecting marketing spend and JobNimbus data to leads, sales, and closed revenue.
Present results, explain performance, and recommend next steps during weekly CEO reviews.


Qualifications

Demonstrated experience managing and optimizing Google Ads and Meta Ads budgets.
Strong understanding of campaign performance, cost per lead, conversion rates, return on investment, and revenue attribution.
Experience developing SEO strategies and providing technical direction to developers.
Hands-on experience with GoHighLevel dynamic number insertion and number-pool management.
Familiarity with JustCall or a comparable VoIP platform.
Ability to analyze CRM and campaign data and turn findings into practical decisions.
Experience managing a contractor, virtual assistant, content creator, or other marketing team member.
Excellent written English and the ability to edit marketing content and write clear technical instructions.
Strong organization, accountability, and independent decision-making skills.
Experience in home services, construction, roofing, or another local B2C service industry is preferred.
Familiarity with JobNimbus is an asset.
Experience with AI-search optimization, structured data, or answer-engine content is an asset.


Pay and Benefits

Full-time independent contractor position.
Base salary: USD $1,000-$1,500 per month, paid bi-weekly, depending on experience and demonstrated ability.
Salary paid bi-weekly.
Thirteenth-month bonus for candidates based in the Philippines; an equivalent structure may be discussed for candidates located elsewhere.
Opportunity to manage a major business function and work directly with the Founder and CEO.
Access to historical campaign data, an existing Social Media Manager, and a web developer.
Ongoing professional development within a company that values learning and continuous improvement.
Final candidates may be invited to complete a paid skills assessment as part of the hiring process.
Applicants must be able to consistently provide at least three hours of overlap with Vancouver business hours. Candidates working from the Philippines should be comfortable maintaining the required evening or overnight schedule on a long-term basis.


Why Cooper Roofing?

Cooper Roofing is not looking for someone who simply wants another remote job. We are building a team of thoughtful, driven people who care about improving their work and helping the company grow. You will have meaningful ownership, direct access to leadership, and the opportunity to rebuild a marketing function rather than maintain someone else's outdated system. Our culture values self-development, accountability, open discussion, and ideas that make the entire company stronger.

Cooper Roofing encourages applications from qualified candidates of all backgrounds and experiences.

PLEASE SEND THE APPLICATION IN THE FOLLOWING LINK: ----------

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0172
Total Execution Time  0.0186
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,505,616 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Digital-Marketing-Manager-1706615
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0119 seconds)  (Hide)
0.0010   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1706615
 LIMIT 1 
0.0005   SELECT *
FROM `employers`
WHERE `employer_id` = 963967
 LIMIT 1 
0.0021   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1706615
AND `misc`.`idIS NULL 
0.0006   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-17',ej.date_added) duration_daysDATEDIFF('2026-08-17',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-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1706615' 
0.0006   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1706615 
0.0010   UPDATE employer_jobs SET hit_counts '***Aug-12-2026=1***Aug-13-2026=416***Aug-14-2026=701***Aug-15-2026=117***Aug-17-2026=2' WHERE job_id'1706615'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Aug-2026=1237' WHERE job_id'1706615'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1706615' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1706615 
0.0027   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '963967'
AND `date_added` >= '2022-06-08' 
0.0007   select from teasers 
0.0004   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)