Case Studies / Client LTV & Churn Tracking
CRM Integration Google Sheets Apps Script Looker Studio

They Were Running a Service Business Without Knowing What Their Clients Were Actually Worth. We Changed That.

Every service business has a lifetime value problem they don't know they have. Revenue comes in, clients leave, and the numbers never quite explain why growth stalled. Here's how we connected the CRM, tracked every client relationship from start to finish, and built a system that finally showed — by acquisition channel — which marketing was actually winning.

4 Windows

LTV by Month, Quarter, 6-Mo, Year

Fortnightly

Automated CRM Sync

Source-Split

LTV by Acquisition Channel

The Problem

They Knew How to Win Clients. They Had No Idea How Long They Kept Them — or What That Was Worth.

This client ran a service business with a regular roster of ongoing clients. New customers converted through the usual channels — Google Ads, trade shows, personal introductions — and those conversions were tracked in a CRM. But the moment a client signed up, the data story ended.

There was no system tracking how long each client stayed. No record of when a client relationship ended. No calculation of what any individual client was worth over their entire time as a customer. And critically, no way to connect those numbers back to the channel that first acquired them.

This meant decisions about where to invest in marketing were based purely on the cost of acquiring a new client — not on the value of keeping one. A client who came in through Google Ads and stayed for three years was counted the same as one who left after a month. A client brought in through a trade show introduction might be worth five times as much in lifetime value, but there was no way to know.

Churn was invisible too. Clients would drift away over time, but there was no clear picture of the rate at which it was happening, when it typically happened, or whether certain acquisition channels produced clients more likely to churn.

"They had all the relationship data sitting in their CRM — start dates, source notes, account status. What they didn't have was any system turning it into numbers they could act on. Everything about retention was invisible."

Our Solution

A Fortnightly CRM Pull, a Living Google Sheet, and a Dashboard That Showed Lifetime Value — By the Channel That Earned It

The data existed — it was all in the CRM. The challenge was pulling it out automatically, keeping it current, and organising it so that meaningful calculations could run on top of it. We built the system in layers: extraction, tracking, calculation, and reporting.

1

Connect the CRM to Google Sheets via Apps Script

We built a Google Apps Script that connected directly to the CRM's API and pulled the full client roster into a Google Sheet on a fortnightly schedule. For each client, we extracted: their name, the date they became a customer, their acquisition source (Google Ads, trade show, personal referral, etc.), and their current account status.

At the time, building this kind of CRM-to-Sheets bridge via Apps Script was genuinely ambitious — the documentation was sparse, the API authentication flows weren't well documented for non-developers, and there was very little community guidance on handling the edge cases. We worked through it methodically, and the result was a script that ran without supervision every two weeks.

2

Track Every Client Relationship with a Start Date and an End Date

Each row in the Google Sheet represented one client. When they became a customer, their start date was populated. When they ended their relationship with the business — for whatever reason — their end date was recorded.

This sounds simple, but getting it right required a consistent process. The fortnightly sync pulled status changes from the CRM, and when a client's status moved from active to churned, the system captured that date automatically. The discipline of maintaining this meant that, over time, the sheet became a complete historical record of every client relationship the business had ever had.

3

Calculate Lifetime Value Across Four Time Windows

With start and end dates in place, we built a set of calculated columns that gave a multi-period view of client value:

  • Monthly LTV — average revenue per client per month, giving a stable baseline for comparing acquisition costs against short-term returns.
  • Quarterly LTV — cumulative value over three months, useful for understanding which clients passed an early retention threshold.
  • 6-Month LTV — the half-year window that tended to separate occasional clients from genuinely retained ones in this particular business.
  • Annual LTV — the full 12-month view that served as the headline number for understanding what a long-term client was truly worth to the business.

These four windows let the business see not just what a client was worth in total, but how value accumulated over time — which helped shape decisions about when to invest in retention efforts and at what point a client relationship was genuinely profitable.

4

Calculate Churn Rate — and Watch It Over Time

With end dates captured reliably, churn rate became a straightforward calculation: clients lost in a period divided by the total active at the start of that period. This ran on a rolling monthly and quarterly basis, giving the business a clear view of whether retention was improving or deteriorating.

More importantly, because each client had a source attributed, it became possible to segment churn by acquisition channel. Were clients from trade shows churning faster than those from Google Ads? Were personally referred clients the most retained? These were questions the business had never been able to ask before — now they had answers.

5

Pull the Whole Picture Into Google Data Studio

The Google Sheet became the data source for a Google Data Studio (now Looker Studio) dashboard that presented all of this in a single, readable view. LTV by source, churn by period, active vs churned client counts, and average retention duration — all visible at a glance, filterable by acquisition channel, and updated automatically every two weeks.

This made the data usable for the whole team — not just whoever built the spreadsheet. Business owner, account manager, and marketing team could all open the same dashboard and immediately understand the health of the client base without needing to know how the underlying data was structured.

An Unusually High Attribution Rate — and Why It Mattered

Why This Client Was Particularly Well-Positioned

Most businesses face a frustrating amount of "unknown" in their acquisition source data. Clients sign up without a clear digital trail, referral attribution is guesswork, and direct traffic swallows everything else.

This client had an unusual advantage. Because the owner personally knew a large proportion of their clients — many of whom came through trade show relationships and direct introductions — it was possible to go back and attribute those clients accurately in the CRM. The source field wasn't just filled with what a tracking pixel could capture; it reflected real-world knowledge of how each relationship started.

Combined with the clients who had a clear digital origin (Google Ads conversions, referral forms, campaign-tagged landing pages), this meant the overall attribution rate across the client base was far higher than most businesses achieve. That turned what might have been a directionally useful dashboard into a genuinely reliable one — the source-split LTV numbers weren't estimates, they were close to the real picture.

The Results

From No Retention Data to a Complete LTV Picture — Broken Down by Channel

Full LTV

Visibility

Monthly, quarterly, 6-month, and annual lifetime value — calculated automatically for every client.

Churn

Rate Tracked

Rolling monthly and quarterly churn rate — visible for the first time, segmented by acquisition source.

Channel

LTV Breakdown

Google Ads vs trade show vs referral — which source produced clients that stayed longest and spent most.

What the Client Could Do After — That They Couldn't Before

  • Compare the true cost of client acquisition against actual lifetime value — not just the conversion cost, but whether the money spent acquiring that client was justified by how long they stayed.
  • Identify which acquisition channels produced the most retained clients — so that marketing budget could be directed towards the sources that generated long-term relationships, not just initial conversions.
  • See churn as it happened — and catch patterns early. A rising churn rate in a given quarter could trigger a retention effort before it became a revenue problem.
  • Forecast revenue more accurately — because knowing the average client lifespan and monthly value makes 6- and 12-month revenue projections far more grounded than gut feel.
  • Have the conversation with stakeholders from a position of data — the Looker Studio dashboard meant that questions about client health, retention, and marketing ROI could be answered in seconds, not prepared as a quarterly manual report.

Does Any of This Sound Like Your Business?

This solution applies to any service business where clients stay for more than one transaction — agencies, consultancies, subscription services, professional services, or any recurring-revenue model.

You have ongoing client relationships but no systematic view of how long they last

You track conversions but have no data connecting acquisition source to long-term retention

You make decisions about ad spend based on acquisition cost alone — not on what clients are actually worth

You know clients are leaving but don't have a reliable number for your churn rate

Your CRM holds the client history — but no one has connected it to anything useful

Producing a retention or LTV report currently requires hours of manual work in a spreadsheet

If the CRM has a client start date, a status field, and an acquisition source — we can build this. The CRM doesn't need to be a particular platform. As long as the data exists and is accessible via API or export, the pipeline from CRM to Google Sheets to Looker Studio can be built and automated.

Common Questions

Want to Know What Your Clients Are Actually Worth?

If your CRM has the data and you don't have a system turning it into LTV and churn numbers — that's a gap we can close. Let's talk about what's in your CRM and what we could build from it.