
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 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 in the first four months was to stop guessing. That meant two things in parallel: rebuild the tracking architecture so that every lead, qualified stage, and converted deal is visible to Google's bidding algorithm, and rebuild the campaign structure so that residential and commercial are run as the separate problems they are. The third move waited on purpose: once the account had accumulated enough qualified-lead history, we pointed the bidding itself at that signal.
The foundation produced. In the first four months the account drove over 180 inbound inquiries across forms, phone calls, and virtual inspection bookings. Sixty-five of those were scored as qualified by the Axxon sales team. Twenty-two converted to paying customers. Then, in months five through seven, we shifted the account to bid directly on the qualified-lead signal: cost per qualified lead fell 29% while qualified volume rose by about a third. 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. 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. This is the loop we walk through in our guide to offline conversion tracking in Google Ads.
The practical effect is that the algorithm learns the difference between visitors who fill out forms and disappear and visitors who 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 funnel definition itself gets tested like everything else: the free virtual inspection action, added in early April, was retired two months later when the data showed it produced bookings without improving qualified-lead economics.
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. 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. In the early months the French side was our most efficient city campaign. Later in the engagement the ranking flipped and English pulled ahead. Because the campaigns were separate, we saw each shift as it happened and moved budget on evidence rather than assumption. That visibility, not any one month's ranking, is the durable value of the split.
The Seven-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, with Montreal French emerging as the most efficient campaign in the account that month. 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. April closed at $4,595 in spend with the highest primary conversion volume of any month to date. Blended CPL fell sharply, reflecting both real efficiency gains in the campaigns we tightened in March and the mechanical benefit of a broader conversion definition after the virtual inspection booking action went live. Qualified-lead scoring continued to flow from the CRM into the account throughout. Across the first four months, total ad spend was approximately $15,600 CAD, and the channel produced 180+ inbound inquiries, 65 qualified leads, and 22 confirmed converted customers.
Months five through seven: bidding on the signal. Two moves defined this stretch. First, we rebuilt the landing page for Ottawa, the clearest case in the account of ads winning attention while the page lost trust. The rebuild followed the principles from our guide to dedicated landing pages: real photographs of the materials being tested, accreditation and trust signals moved up the page, an industry-specific FAQ, and the contact form placed at the top. After it shipped, a market that had been producing almost nothing became one of the most efficient search campaigns in the account, and the cost gap against Montreal closed. We are letting the result run longer before publishing numbers. Second, with enough qualified-lead history accumulated, we moved the account onto portfolio bidding aimed directly at qualified leads rather than raw inquiries. Over the two months that followed, cost per qualified lead fell 29% while qualified and converted volume rose by about a third. Average click costs rose in the same window, and that was the intended trade: the account pays more for clicks that fit the qualified profile and passes on the ones that don't.
Through month seven, cumulative ad spend is approximately $30,500 CAD, and qualified volume is rising on flat monthly budgets, 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 meant the ads were winning attention while the page was losing trust. The fix is on the page, not in the bidding. Ottawa proved it: the ads there were winning clicks at healthy cost while the page converted far below the Montreal pages, and a rebuild built around material imagery, trust signals, an industry FAQ, and a top-of-page form closed the gap without touching the campaign.
- 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 working for.
- Google's bidding algorithm optimizes toward 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 buy you as many form submissions as you want, qualified or not. The endpoint of this thesis arrived in months five through seven, when we moved the account onto portfolio bidding aimed squarely at qualified leads: cost per qualified lead fell 29% while qualified volume rose by about a third.
- The test log keeps the losers. The account runs on structured experiments, and the failures get recorded next to the wins. We shipped the same campaign restructure to Montreal English and Montreal French on the same day; English scaled volume at better cost, French got worse, and we reverted it within weeks. The learning, that structural changes do not generalize across languages without language-specific copy, now governs how we ship changes to bilingual accounts. A day-of-week analysis found that throttling weekend spend made Saturdays far cheaper but that the reallocated weekday budget hit diminishing returns, so we kept the throttle and not the reallocation. Two headline tests produced no measurable lift and are documented as exactly that.
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. The clearest proof came in months five through seven, when we pointed the bidding directly at the qualified-lead signal: cost per qualified lead fell 29% while qualified volume rose by about a third.
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. The Ottawa rebuild is the template, and the same treatment extends to the remaining secondary markets next.
Ready to build Google Ads for a service business with tracking that works?
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.
Book a strategy call • See our full methodology • How we work with labs and testing services
Frequently Asked Questions
Common questions about B2B Google Ads, long sales cycles, and offline conversion tracking.
Yes, and unusually well, because the buyer pool is specific and the intent is high. Someone searching for asbestos testing before a renovation or mold testing after a leak is a near-ready customer. Most Google Ads accounts in this space fail on tracking, not demand: unless the lab's CRM is feeding qualified-lead data back into Google Ads, the bidding algorithm can't tell a qualified homeowner from someone filling out a form for research. Fix that, and the channel becomes predictable.
Cities where the lab does not have a physical lab address need landing pages and ad copy that explain the model clearly: free local pickup, mail-in with 24-hour turnaround, accreditation badges, proof points that replace the address signal. For Axxon Lab, most of the CPL gap between Montreal and our secondary markets came down to landing page trust, not the ad itself. Rebuilding one secondary-market page with real photographs of the materials being tested, prominent accreditation signals, an industry-specific FAQ, and the form at the top of the page closed that gap and turned it into one of the account's most efficient markets.
Treat them as two accounts that happen to live under one roof. Separate campaigns where possible, separate ad groups and creative where not, separate landing pages always, and different lead-scoring criteria on each path. Property managers and homeowners respond to different messaging, have different decision timelines, and represent different revenue profiles. Running them through shared creative produces averaged-out performance that works for neither.
At minimum: form submissions, phone calls, and any free consultation or booking action your site offers. Above that, the high-value additions are qualified-lead events uploaded from your CRM once sales reviews the lead, and converted-customer events uploaded once the job is booked and paid. Both of those require a feedback loop between the CRM and Google Ads, and both are worth building even though it's not trivial setup work.
For a service business with a short sales cycle, expect 60 to 90 days of setup and learning, and the first meaningful efficiency gains to show up in months three and four as the bidding algorithm accumulates enough qualified-lead data to optimize against. Axxon Lab's April economics look materially different from January's economics for exactly this reason.
Yes, and for bilingual markets like Montreal we run them as separate campaigns rather than a single combined one. French and English searchers behave differently in the same market, convert at different rates, and respond to different ad copy. Separating them is a performance decision, not a localization detail.