
Axxon Lab: Rebuilding a Google Ads Channel for an Environmental Testing Lab
How we rebuilt Google Ads for an environmental testing lab: a full CRM-to-Google feedback loop, residential and commercial campaigns, and predictable leads.
Overview
Axxon Lab is an accredited environmental testing laboratory, headquartered in Montreal, with service technicians in Ottawa and Edmonton. They test for asbestos, mold, and lead across air, surfaces, and soil, with 24-hour turnaround on lab results. Residential homeowners make up most of the volume. Property managers, contractors, and developers make up the higher-value commercial side.
When we took over the account in January 2026, the account had a history but not a system. Prior advertising spend had run on and off for years, reaching up to $10,000 a month at its peak, but without the tracking architecture to tell the client whether any of it was actually producing paying customers. The team had eventually paused all paid activity and shifted focus to organic, not because Google Ads didn't work for the business, but because there was no reliable way to know whether it was working or not.
Our job for the first four months has been to stop guessing. That has meant three things in parallel: rebuild the tracking architecture so that every lead, qualified stage, and converted deal is visible to Google's bidding algorithm; rebuild the campaign structure so that residential and commercial are run as the separate problems they are.
Four months in, the foundation is producing. The account has driven over 180 inbound inquiries across forms, phone calls, and virtual inspection bookings. Sixty-five of those have been scored as qualified by the Axxon sales team. Twenty-two have converted to paying customers. The per-click economics are tightening month over month as the bidding algorithm accumulates qualification data to learn from, and the structure is now ready to scale toward the client's $10,000 monthly target budget as the next wave of spend is deployed.
The Challenge
Three specific problems in the account when we inherited it:
- Tracking was broken. Multiple conversion actions marked as primary, half of them inactive, none of them tied to actual business outcomes. Form fills were being tracked as events that also fired on unrelated page views. Phone calls weren't separated from ad-extension clicks. There was no feedback loop between the CRM and Google Ads, which meant the bidding algorithm was optimizing against noise, not signal.
- The business is geographically complex. Axxon runs physical lab work in Montreal but services Ottawa and Edmonton without a local address. That creates a trust gap in the secondary markets: homeowners searching for a local asbestos testing service want to see a local presence, and the Axxon model relies on mail-in samples and mobile technicians instead. The ad experience has to work harder to establish credibility in those markets.
- Residential and commercial were being run as one thing. A homeowner searching for asbestos testing before a renovation and a property manager looking for a recurring supplier relationship are two different buyers with different price sensitivities, different sales cycles, and different conversion paths. Running both through the same campaign structure meant neither was being served well.
- Prior spend had no baseline to compare against. Without attribution, the client couldn't say whether earlier advertising had produced revenue or just noise. The first thing we needed to give them was ground truth, not optimization.
Our Approach: Tracking First, Then Campaigns, Then Scale
Before any bid change or campaign launch, we rebuilt the data layer end-to-end.
Every ad click now carries its identifier into the CRM. When a visitor lands on the Axxon site from a Google Ads click, the Google click ID (gclid) is captured on page load and passed into the contact form and the phone system. When that visitor becomes a lead, the gclid travels with the ticket into the CRM. When the sales team reviews and scores the lead as qualified, and later when it converts to a paying customer, those stage transitions are pushed back to Google Ads against the original gclid. Google's bidding algorithm stops optimizing for form fills and starts optimizing for qualified leads and customers.
The practical effect is that the algorithm learns the difference between visitors who fill out forms and disappear and visitors who actually book testing. Those two populations search, click, and engage differently. Once Google has seen enough of the qualified pattern, it starts bidding more aggressively for the right profile and less aggressively for the wrong one. This is the same principle we used on Promobile Marketing's account over three years — it applies at any time horizon, and for a short-cycle residential business it starts paying back in weeks rather than quarters.
Conversion actions were consolidated to five categories. Form submissions, phone calls, free virtual inspection bookings, sales-qualified leads, and converted paying customers. Each tracks a distinct stage. Together they give the bidding algorithm a funnel, not just a top-of-funnel event. The free virtual inspection tracking was added in early April. It's already producing a steady stream of bookings from visitors who want to talk to a technician before committing to paid testing.
Campaigns were split by geography and by language. Four search campaigns (Montreal English, Montreal French, Ottawa, Edmonton), each with separate ad groups for asbestos and mold. A Performance Max campaign covering the secondary markets for broader reach. A dedicated commercial asset group launched in April inside Performance Max, targeting property managers, contractors, and developers with messaging built for buyers who care about supplier reliability and volume pricing rather than a one-time residential test.
Bilingual campaigns in Montreal matter more than they look like they do. Montreal French consistently produces the lowest cost per qualified lead in the account. English and French searchers in the same market behave differently, convert at different rates, and respond to different ad copy, and running them under a single campaign would have averaged out the insight from both. Separating them surfaced the French side as our most efficient city campaign, which in turn informed budget allocation decisions we would not have had evidence for otherwise.
The 4-Month Arc
January: build-out. The first three weeks were tracking work and campaign builds. Only nine days of paid activity. $896 in spend, 15 primary conversions. The month was a setup month, not a performance month.
February: first full month live. Spend ramped to $4,561, producing 50 primary conversions at roughly $91 CPL on form submissions. Edmonton came online strongest; Montreal and Ottawa were earlier in their Quality Score ramp.
March: tightening. Spend held roughly flat at $5,554 across 31 days. Primary conversions climbed to 73. CPL on form submissions moved to the $76 range. The Montreal bilingual split started to produce its outsized efficiency — Montreal French dropped to a $36 cost per form submission, the best in the account. An Edmonton diagnostic surfaced that one specific ad group (Edmonton Asbestos) was carrying most of the campaign cost at half the conversion rate of peer ad groups; the root cause was a landing-page trust gap and a low Quality Score on the primary keyword, and we moved to address both with a page rebuild and an ad-copy refresh.
April: inflection. With 23 days logged at publish date, April spend sits at $3,566 and primary conversions at 113. The free virtual inspection booking action went live in early April, giving the bidding algorithm a new signal to optimize against and expanding our measurable inbound funnel. Blended CPL dropped into the $30 range, reflecting both real efficiency gains in the campaigns we tightened in March and the mechanical benefit of a broader conversion definition. Qualified-lead scoring continued to flow from the CRM into the account throughout.
Across the four-month period, total ad spend is approximately $14,500 CAD. The channel has produced 180+ inbound inquiries, 65 qualified leads, and 22 confirmed converted customers. Primary conversions are running higher month over month on flat-to-slightly-lower spend, which is the operational definition of a channel that's compounding.
Key Wins & Strategic Insights
- Tracking is the only thing worth doing in month one. There is no point in optimizing a Google Ads account that can't tell you which clicks became customers. For Axxon Lab, the first 30 days of our engagement produced almost no performance. They produced a functioning feedback loop, and every month since has benefited from that work.
- Bilingual markets need bilingual campaign structures. Folding French and English Montreal searchers into a single campaign would have obscured a meaningful efficiency difference between the two audiences. The separation cost us nothing and surfaced actionable information almost immediately.
- Trust gaps in non-headquartered markets are a landing page problem, not a campaign problem. Edmonton's highest-CTR ad group was also its lowest-converting, which is the classic fingerprint of attention working and trust failing. The fix is on the page, not in the bidding.
- Residential and commercial need their own asset groups. Property managers and homeowners respond to different proof points, different prices, and different calls to action. Putting them through shared creative wastes ad dollars on wrong-fit matches. Splitting them produced immediate clarity on which audience the account was actually working for.
- Google's bidding algorithm will trust the signal you give it. Once we started uploading qualified-lead events against gclids, the bidding improved inside of weeks. The inverse is also true: if the only signal you give Google is "form submitted," it will happily buy you as many form submissions as you want, qualified or not.
What We Learned
For a service business that had paused paid because it couldn't tell what was working, the first 30 days of value was tracking — not optimization. Once the CRM-to-Google feedback loop was live and qualified-lead events were flowing back against the original click ID, every subsequent month compounded on that work, with blended CPL dropping from $91 in February to the $30 range by April.
Where The Account Goes Next
The foundation is set and the next phase is scale. Three priorities:
- Push toward the $10,000 per month spend target. The account was built to accommodate a budget roughly double its current level. The rate-limiting step was always data, not demand. As the qualified-lead signal continues to mature, we can widen the auction exposure, particularly in Ottawa and Edmonton, without reintroducing the waste the client saw in the prior era.
- Build out the commercial side. The Performance Max commercial asset group launched in April is still collecting data. Over the next two months we'll evaluate whether it justifies its own dedicated search campaigns targeting property managers, contractors, and developers, with creative and landing pages built specifically for that buyer. The commercial side has recurring-revenue economics that the residential side does not, so efficiency here compounds.
- Launch a nationwide mail-in testing campaign. The Axxon business model is unusual in a useful way: because samples can be mailed, the service can be sold to customers who are not near any Axxon service location. A dedicated campaign targeting Canada-wide mail-in testing, on its own landing page with a purpose-built user experience, is the next major growth lever after the local city campaigns are fully scaled.
- Layer in conversion rate optimization. We now know what a qualified visitor looks like. The next lift comes from making the landing pages they arrive on convert at higher rates, particularly in markets where trust is the blocker rather than intent.
Ready to build Google Ads for a service business that actually tracks?
We help service businesses in Canada and the US build Google Ads accounts where every click is tied back to real business outcomes. If your current account optimizes against form fills and you have no idea which of them close, that's the problem we fix first. Everything else follows.
Frequently Asked Questions
Common questions about B2B Google Ads, long sales cycles, and offline conversion tracking.