← Back to Case Studies
Digital Marketing Agency · Local Services In rollout · client launch October 2026

A Reporting Platform That Proves Client Value

How we designed the platform a digital marketing agency's own team built to show every client, on every reporting call, the calls, rankings, and work their retainer paid for.

1 yr

Of call tracking data backfilled

2 clicks

For an analysis that took 30 minutes

9

Roadmap milestones, each shippable on its own

CLIENT OVERVIEW

A digital marketing agency serving local service businesses, most of them personal injury law firms. It had already built a lot: a custom tracking pixel, a UTM plugin, a data warehouse, and a branded dashboard. But the dashboard showed sessions, events, and rankings, not leads or money. The CEO joined most monthly reporting calls because the CEO was the one who could turn that data into a story a client believed. The agency had an in-house dev and data team. What it needed was an architecture, a sequence, and someone in the room asking what an account manager needs on a live call.


THE PROBLEM

What was broken

01

Reporting proved activity, not value

The dashboard recreated analytics data on a branded page. It could show that traffic moved, but it couldn't show which calls came in, where they came from, or what the work was worth against the retainer. Clients asked whether leads were up, and the answer depended on who was on the call.

02

The CEO was the reporting system

The CEO and one senior SEO leader ran most reporting calls, jumping between six to eight tools to tell the story from memory. Account managers couldn't learn that by watching, and when they built their own reports, they reached for metrics clients didn't care about.

03

The lead data wasn't connected yet

Calls, chats, and forms, the first thing the CEO asked for, still weren't flowing into the warehouse. Without them, every added dashboard page showed more activity and still couldn't answer the client's real question: did this bring me cases?


THE GOALS

What success looks like

Get call tracking data into the warehouse first, before building more dashboard

Attribute each call to a source using what the caller said, the number they dialed, and the visit that led to it

Show value delivered against the retainer with numbers an account manager can defend, without needing every client's CRM

Give account managers one fast, client-scoped report they can run on a live call


OUR APPROACH & SOLUTION

Connection first, presentation second

We assessed the existing pixel, warehouse, and dashboard, then wrote a stack-agnostic architecture and a nine-milestone roadmap. The agency's own dev and data team built the platform. We ran six working sessions with that team, set the order of work, and tested each release against one question: can an account manager run a client call from this?

Phase 1

Architecture and Roadmap

One canonical data model, with every tool plugged in as a replaceable lane. Attribution stays deterministic on hard keys like phone and email, and AI enriches it but never decides a dollar figure. Nine milestones, from auditing the existing stack to an AI insight layer, each shippable on its own.

Phase 2

Calls First

Their team connected call tracking and backfilled about a year of call history into the warehouse. On our recommendation, AI reads each transcript for the answer to "how did you hear about us" and maps it to a source. Sources are ranked by reliability: what the caller said, then the number they dialed, then the campaign tags on their visit.

Phase 3

Value Without Waiting on a CRM

Most law firm cases take months or years to pay out, and few clients had a clean CRM. So value comes from the CEO's own lead-value math, the hours the team delivered, and the retainer, with a CRM as an optional upgrade. A connections view shows each client what every integration adds.

Phase 4

Built for the Live Call

Their team built a custom app to replace the dashboard tool, and we shaped it for the live call: the client stays selected across every page, pages stay cached for the day of the call, and account managers can switch off modules that don't apply. A PDF report goes to clients who skip the meeting. We mapped the reporting-call training to each page, so the playbook and the platform tell the same story.


WHAT WE BUILT

Features and capabilities

01

Client Health Status

The status page blends leads and visibility into one weighted health score with a trend, so every reporting call opens with a verdict. A down week shows up there before the client finds it.

02

Call Tracking Per Client

Calls, answer rate, first-time callers, missed calls, and recordings for each client, with about a year of history in the warehouse. Caller identity stays masked, and the recording behind any number is one click away.

03

Call Source Attribution

We designed how the platform decides where a call came from. AI reads the transcript for the caller's own answer and the platform trusts that first, then falls back to the tracking number they dialed, then to the campaign tags on their visit.

04

Value Against the Retainer

The value page puts leads, work invested from the team's logged hours, and value generated on one page. It counts leads above the prior 90 days and multiplies them by a lead value, so it works for clients who have no CRM.

05

Competitor Ranking Grids

Map pack ranking grids for each client location, with Analyze and Compare views against competitors. They answer the question every law firm owner asks: how am I doing against the firm down the street?

06

AI Search Visibility

Visits and citations from AI search tools, shown for clients enrolled in AI search tracking. Account managers can answer AI search questions with the client's own data instead of a guess.

07

Live-Call Controls

The selected client stays selected on every page, and pages cache on first load for that client and date range, so nothing reloads mid-call. Per-module toggles hide anything that doesn't apply to that client. We recommended these controls after the first walkthrough, and their team built them.

08

Report and PDF Summary

The report page tells the story of the past 90 days and the plan for the next 90, and generates a PDF summary. Decision-makers who weren't on the call see the same story.

09

Connections View

Shows each client what every connected source adds. Lead tracking gives verified leads by channel, team hours show work above the retainer, and a CRM upgrades lead estimates to signed cases, as an option rather than a requirement.

BUILT WITH BigQuery Looker Studio React TypeScript Vite WordPress

KEY TAKEAWAYS & IMPACT

What changed for this business

2 clicks

For an analysis that took 30 minutes

Breaking a multi-state client's results down to a single state took a senior SEO leader about 30 minutes in analytics. In the platform, it took two clicks, and it became the tool they reach for on their hardest client calls.

1 yr

Of call history in one warehouse

About a year of call tracking data sits next to traffic, rankings, and search data in one warehouse. Account managers can show calls, answer rate, missed calls, and first-time callers per client, and play the recording behind any number.

70+

Client accounts lined up for rollout

The client-facing version ran on four demo accounts before launch. The rollout to more than 70 client accounts is planned for October 2026, largest clients first, so account managers can run each client's reporting call from one place.

THE OUTCOME

What it's built to deliver

  • Account managers get one client-scoped tool and one call flow, so the story the CEO and a senior SEO leader told from memory becomes something any account manager can learn and repeat.

  • Each client sees value against the retainer, built on lead-value estimates and logged hours, without waiting on a CRM that few clients have in place.

  • Dollar figures trace on hard keys like phone and email, and AI only enriches them, so an account manager can defend every number on a live call.

  • The first version runs inside the agency, where the SEO team and some account managers use it on client calls.

  • Agency leadership made the platform one of the three parts of its sales system.

  • Clients who skip the meeting get the same story in a PDF summary, so decision-makers who weren't on the call see what was delivered.

  • Account managers hide modules that don't apply to a client, so a call never stalls on a blank or broken page.

FREE RESOURCE

Want to build something like this yourself?

We put together a free guide that walks through the full attribution chain, from campaign tags and call tracking to CRM revenue. It shows you what to connect first so your reports show leads and dollars, not just clicks.

Still the only one who can tell your clients' story?

Let's talk about the architecture that gets your data connected and puts the story in your account managers' hands.

Schedule a Call →

Get dev leadership insights

Tips on optimizing your dev team, shipping faster, and building products that scale.

TenEx
Privacy Terms SMS Program © 10ex.dev 2026