This firm had a complete marketing infrastructure: paid search, SEO, directories, print sponsorships, a website, a CRM, CallRails, and Google Analytics. From the outside it looked like a firm that had invested seriously in measurement and visibility. Every tool was producing data.
None of the data was telling the same story. Google Analytics, CallRails, and the CRM each held a different version of channel performance because nothing was connected to the others. Performance reporting required staff to manually pull numbers from three separate systems and compile them into spreadsheets, a process that introduced errors at every step and produced reports that varied depending on who built them and when.
A consultant had been brought in to evaluate the marketing spend. They reviewed the available data, identified paid search as underperforming, and recommended cutting the budget allocated to it. The firm was preparing to act. The recommendation was wrong, but the data had given no indication of that.
The audit identified four distinct failures in the data infrastructure, each distorting the picture of channel performance in a different direction.


Without UTM parameters, every visitor from every source arrives as an undifferentiated entry in the analytics, impossible to trace back to a specific ad, email, print piece, directory listing, or QR code. The firm was running print sponsorships, directory listings, QR codes on physical materials, and email campaigns with no UTM tracking on any of them. The spend was real. The attribution was zero.

Google Analytics tracked website behavior. CallRails tracked phone calls. The CRM tracked leads and case status. None communicated with the others. A prospect could click a paid ad, call the firm, and sign as a client, but each system recorded a different fragment of that journey with no connection between them. The path from marketing spend to signed case was invisible at every stage.

Because no system communicated with the others, performance reports required staff to manually pull data from each platform and assemble it in spreadsheets, introducing copy-paste errors, version inconsistencies, and judgment calls about which numbers to include. Reports built at different times by different people produced different numbers for the same period. This was the foundation leadership was using to make capital decisions.



The correction required building a data infrastructure from the ground up, not reconfiguring what existed, but replacing the fragmented system with a single connected one.
A centralized data infrastructure was built using Google Cloud to receive and normalize data from all three existing systems: Google Analytics, CallRails, and the CRM. Data from each source was mapped to a consistent schema, eliminating the definitional inconsistencies that had been producing contradictory reports. The three systems continued to operate independently, but their outputs now fed into a single normalized layer that could be queried as one.
A centralized data infrastructure was built using Google Cloud to receive and normalize data from all three existing systems: Google Analytics, CallRails, and the CRM. Data from each source was mapped to a consistent schema, eliminating the definitional inconsistencies that had been producing contradictory reports. The three systems continued to operate independently, but their outputs now fed into a single normalized layer that could be queried as one.
UTM parameters were applied systematically across every trackable touchpoint: paid search, social, email, directory listings, and, for the first time, QR codes on print materials and sponsorship placements. A prospect who scanned a QR code from a print ad, visited the site, and called was now attributable to that specific placement. Traditional investments defended or challenged on instinct alone were now measurable against actual performance data.
An automated dashboard was built on top of the normalized data layer, delivering a real-time view of performance across marketing, intake, and sales without requiring anyone to compile a report. Leadership could see cost per case and revenue per lead broken down by channel and practice area at any time. Each team retained its own scorecard tied to stage-specific KPIs, all rolling up to leadership metrics.
“Data infrastructure is not a marketing function. It is a financial control. A firm that cannot trace its revenue to its source cannot allocate capital efficiently, regardless of how much it spends.”
The first consequence of accurate data was budget reallocation. Multiple traditional marketing investments that had been defended for years were reduced or eliminated when the data showed they were not producing cases at acceptable cost. Paid search, which had been three weeks from being cut, was increased.
Budget reallocation followed immediately once the accurate picture was visible. Several channels that had been defended for years were reduced or cut. Channels generating revenue at low cost per case were increased. The firm was no longer making capital allocation decisions based on vendor reports and assembled spreadsheets, it was making them based on a single, normalized, real-time source that every leadership decision could be traced back to.
When qualified leads reaching the sales team dropped in a subsequent month, leadership could investigate by channel and by stage. The gap became identifiable: was marketing generating lower-quality traffic, was intake too slow to connect, or was a specific channel underperforming? That diagnostic capability had not existed before. The firm had moved from seeing a gap to being able to diagnose one, and that shift changed the nature of every management conversation that followed.
A fractional Chief Growth Officer engagement begins with a diagnostic session, not a proposal.
Growth Systems
Hiring & Team
For founder led and partner driven law firms generating $2.5M to $45M or more annually, this confidential executive session evaluates whether your current growth system is engineered to withstand serious expansion or whether structural refinement is required before scaling further.
Share your details and I will contact you within 1 business day.