When I joined myskillcamp, as their first dedicated Growth Manager hire, it seemed nobody had been really in charge of their Hubspot instance, ever. The CRM had been implemented more than 2 years prior and slowly grew unchecked following the usage and needs of Sales and Marketing, but without any supervision. The result was an expensive CRM full of holes, unusable data, inaccurate dashboards, invisible leads, deals and obscure pipelines. As a growth engineer, I need clean, standard and accurate data to base my experiments on. So I took on the role of RevOps pretty quickly and I set myself the goal to turn our Hubspot CRM into a GTM and Growth engine. Over three years, in close collaboration with the Sales Team, I transformed this into a scalable, automated revenue operations infrastructure supporting sales across France, UK, and Benelux.
The Challenge: making Hubspot an accurate source of truth
Cleaning House
My first task was simply to understand what we had. I spent days auditing every aspect of the CRM: contacts, companies, deals, pipelines, workflows, and campaigns. Then I needed to understand what we truly needed, so I worked with the Sales team to understand the complete Sales process, what steps they followed, what data they really needed, where they lost time, etc.
The audit revealed many challenges and a lot of quick wins. The biggest and quickest one was cleaning marketing contacts. We were paying for 40 000+ marketing contacts when in reality we could only email about 5k of them. Each contact added to the CRM was added as a Marketing contact counting toward the billing, but none had the required consent to actually be enrolled in Marketing campaigns. 5k/year saved on Hubspot billing.
Then I built a systematic cleanup process: identifying duplicates through email matching and fuzzy logic, validating company data against external sources (Linkedin Sales Navigator, ZoomInfo, etc.), and creating clear criteria for archiving versus deleting contacts.
I also ruthlessly chopped down workflows, dashboards, lists and campaigns that were not actively being used. And I implemented naming standards across the board to ensure quick readability and understanding.
And with the agreement of the team, I locked most people ability to modify any structural element of the CRM, forcing them to go through me for any modification. I tried to always be available in Slack and answer in less than 2hrs to any request for modification. For me this was the condition to ensure the Sales team would be on board with me taking over the CRM.
But cleanup was just the beginning. I needed to prevent the mess from happening again.
Building the Foundation
I redesigned the entire data model. This meant standardizing properties across objects, implementing required fields with validation rules, and creating a contact/company hierarchy that supported our account-based selling motion.
For lead enrichment, I built a waterfall system using multiple data providers. When a new lead entered the system, it would first hit ZoomInfo for enrichment. If data was incomplete, it would fall back to DropContact, then BetterContacts. This automated process ensured every lead had the information reps needed before making first contact.
Lead routing became fully automated based on territory, company size, and lead source. No more manual assignment, no more leads sitting in a queue. The moment a lead was qualified, it was in the right rep's hands with a task to follow up.
Automating the boring work
Automation is where I shine. After being so rigid on data cleanliness, I knew I could redeem myself by making Sales representatives' lives easier with workflows.
In total, I set up around 50 workflows for Sales Ops, some being complex, multi-stage and conditional. These handled everything from lead lifecycle management to deal stage progression to internal notifications. Some involved complex conditional logic, API integrations with external tools, and custom coded actions for edge cases.
The idea was to automate data maintenance as much as possible, relieving Sales Reps from manual data entry whenever possible and preventing inaccuracies at the same time. If a task could be defined with clear rules, it should be automated. This freed up reps to spend their time on what actually mattered: having conversations with prospects.
Scaling Across Markets
What made this challenging was supporting three different markets with different languages, different sales cycles, and different competitive landscapes. The infrastructure needed to be flexible enough to handle these differences while maintaining consistency in reporting.
We built market-specific pipelines with localized stage definitions, but standardized the underlying metrics so leadership could compare performance across regions. Each market had its own dashboards for day-to-day operations, but executive reporting rolled everything up into a unified view.
The reporting infrastructure grew to 20 dashboards covering everything from individual rep performance to market-level trends to company-wide forecasting.