RevOps HQ
← BACK TO CASE STUDIES
CASE STUDY9/21/2026

HubSpot Marketing Contacts Case Study: Reducing a Billable Tier Without Deleting a Record at a Seven-State Law Firm

A seven-state law firm was about to renew into a higher HubSpot tier on a marketing-contact count of roughly 9,000. The count fell below 7,000 and not one contact record was deleted, because the billable boundary runs inside the database rather than around it.

CLIENT: Callahan & Roth

Running Legal on HubSpot, or thinking about it?

Schedule a consultation

GET WEEKLY REVOPS INSIGHTS

No spam. Unsubscribe anytime.

Summary

Callahan & Roth is a seven-state law firm running default services, residential closings, estate planning and foreclosure sale work, with HubSpot Marketing Hub carrying the website, the email programme, paid search in two states, foreclosure sale intake and the firm's correspondence with banks and loan servicers.

The firm was approaching a renewal at which its marketing-contact count would have pushed it into a higher billing tier. The count stood at roughly 9,000 against a stored contact population of about 17,000. The default remedy in a firm without a HubSpot operator is to delete contacts, which trades a recurring fee against permanent loss of the firm's referral history.

That trade is unnecessary, and the reason is a distinction most portals blur. HubSpot bills on marketing contacts, which is a flag on a contact record, not on stored contacts, which is the record itself. The billable boundary runs inside the database. Moving a record across that boundary changes the invoice and preserves the data.

In a single working session the marketing-contact count fell from roughly 9,000 to under 7,000, avoiding an estimated 5,000 United States dollars of renewal-tier cost, with zero contact records deleted. The six-month retainer that followed addressed why the count had climbed in the first place, and built the objects the firm had never had.

Client details are pseudonymised at the client's request. Figures are as measured.

Background: a marketing portal doing the work of a CRM

The firm's HubSpot instance had grown honestly and without an operator. Six forms were live in production: a website sign-up, a new-business intake, a closings form, a careers form, a sale acknowledgement used by investors, and a blog subscription. Paid search ran in two states with dedicated tracking telephone numbers. A foreclosure sale intake form was live in one state with a second preparing to launch.

Every one of those entry points created contacts. None of them classified what it had created. A careers applicant, an investor acknowledging a sale, a bank sending default data and a blog subscriber all arrived as contacts with the marketing flag set, because the flag is set by default at creation and nothing in the portal ever unset it.

The firm also had no Deal object in use. Seven states, four revenue lines, and no pipeline: revenue was tracked in the firm's practice management and accounting systems, and the CRM described only the top of the funnel. Reinartz, Krafft and Hoyer (2004) separate customer relationship management into initiation, maintenance and termination processes and measure each independently; a portal with forms and no pipeline has implemented initiation and nothing else.

Payne and Frow (2005) warn specifically against the narrow reading of customer relationship management as a technology purchase rather than a set of cross-functional processes. The firm had made the narrow purchase several years earlier and had been billed annually for the consequence.

Pre-engagement audit

Two working sessions in April 2026 covered the contact population, the form estate, the marketing-contact classification, the paid search configuration and the inbound default-services data path.

Stored contacts: approximately 17,000. The complete population, including every record the firm had ever created from any source.

Marketing contacts: approximately 9,000. The billable subset. Roughly 53% of the stored population was classified as marketing, and no rule, list or workflow governed which records were in it.

Rules controlling marketing-contact classification: zero. Classification happened at creation and was never revisited. A contact who had applied for a job in 2021 and never been emailed since was billed annually as a marketing contact.

Forms writing to the contact object: six. None of them routed by practice area, so a default-services enquiry and an estate planning enquiry landed in the same undifferentiated pool.

Deal pipelines: zero.

Data-quality views: zero. There was no saved view for contacts missing a name, contacts missing an email address, or probable duplicates, which means those populations could not be counted, let alone worked.

Inbound default-services data: a spreadsheet matrix from banks and servicers, arriving on no schedule and in no fixed shape. Aging, inconsistently formatted, and without an application programming interface behind it.

Batini, Cappiello, Francalanci and Maurino (2009) survey data-quality methodologies and separate assessment from improvement as distinct phases with distinct techniques. The firm had performed neither, and the absence of the assessment phase is why the improvement phase had never started: nothing counted the problem, so nothing sized it.

The build

Phase one: the classification pass

The first session was a live reclassification rather than a deletion.

Records were assessed against whether the firm had any intention of marketing to them. A careers applicant is a contact the firm should keep and will never email. A bank contact receiving operational correspondence is a contact the firm must keep and does not market to. An investor acknowledging a completed sale is a transactional relationship. Each of those is a stored contact that does not need the marketing flag.

The reclassification moved roughly 2,000 records across the flag boundary in one session. Stored contacts were unchanged at approximately 17,000. Marketing contacts fell from roughly 9,000 to under 7,000, below the threshold that would have triggered the higher renewal tier.

Stored contacts against billable marketing contacts, before and after reclassificationThree bars drawn on one track. The track is the full stored contact population of approximately 17,000 records, and it is the same length in every row because no record was deleted. The filled portion of each bar is the billable subset, the contacts carrying the marketing flag. Before the working session the filled portion reached approximately 9,000, past the dashed line marking the renewal tier threshold of 7,000. After the session the filled portion stops just short of that line, at a count the source records only as under 7,000. A third bar shows the standing target of approximately 5,000, to be held by scheduled data-quality agents. The unfilled remainder of every bar is stored contact data that the firm keeps and is not billed for.THE BILLABLE BOUNDARY RUNS INSIDE THE CONTACT DATABASE, NOT AROUND ITFull track = approximately 17,000 stored contacts. Fill = the subset carrying the marketing flag.renewal tier threshold · 7,000Beforeat audit, April 2026≈ 9,00017,000After one sessionreclassified, not deletedunder 7,00017,000Standing targetheld by scheduled agents≈ 5,00017,000Records deleted during reclassification: zero. The track is the same length in all three rows.The unfilled remainder is stored contact history the firm keeps, searches and is not billed for.
Billable marketing contacts against the stored contact population. The reduction crosses a classification boundary inside the database rather than removing anything from it.
Stored contacts, billable marketing contacts, and the reclassification that crosses the boundary without crossing the database

The saving is estimated at 5,000 United States dollars against the renewal that would otherwise have applied. It is reported as an estimate because it is a counterfactual: the firm did not renew at the higher tier, so the avoided cost is the quoted difference rather than an observed one.

Phase two: the standing hygiene loop

A single reclassification is a reprieve rather than a fix. The count had climbed to 9,000 through ordinary operation, and it would climb again at the same rate unless something ran continuously.

Two mechanisms were put in place. The first is three saved views, on contacts missing a name, contacts missing an email address, and probable duplicates, which converts three invisible populations into three worked queues. The second is the firm's data-quality add-on, configured to run scheduled agents against capitalisation, spelling, email format and telephone format, with address validation enabled for the mailing use cases the default-services line depends on.

Episodic cleanup against a standing hygiene loop, drawn as shape rather than dataA schematic comparison of two regimes acting on the same marketing-contact counter. The vertical axis carries no scale, and the only quantity marked on the drawing is the renewal tier threshold of 7,000 contacts. Under the episodic regime, drawn as a dashed line, a human cleanup session fires once per renewal. The counter falls sharply, then climbs back at the rate forms create contacts, crossing the threshold again before the next renewal. The result is a sawtooth with three teeth across three renewal cycles. Under the standing regime, drawn as a solid line, scheduled data-quality agents run on a cadence shorter than the time the counter takes to refill. The counter falls once and then ripples below the threshold rather than climbing. The argument the shape makes is structural rather than empirical: contact creation is continuous, so a remedy that fires once per year produces a sawtooth by construction.WHY A ONE-TIME CLEANUP RETURNS TO ITS STARTING POINTSCHEMATICThe vertical axis carries no scale. The threshold is the only quantity marked.marketing-contact countrenewal 1renewal 2renewal 3tier threshold7,000one human cleanup session per renewalEpisodicFires once, ona renewal date.StandingFires on a scheduleshorter than therefill time.Contact creation is continuous, so the remedy has to be too.The forms that filled the count are still live. Nothing about the session changed their rate.
Schematic. A cleanup fired once per renewal returns the counter to its starting point by construction; a loop running faster than the refill does not. The tier threshold is the only quantity marked.
Why a one-time cleanup returns to its starting point, and what a scheduled loop changes about the shape

Pipino, Lee and Wang (2002) argue that data-quality assessment must combine subjective and objective measurement, because a metric alone does not establish whether a shortfall matters to anyone. The three views are the objective half. The weekly working session is the subjective half, and the two were deliberately paired rather than either being run alone.

Phase three: the duplicate audit

Duplicates were worked from an audit list rather than from the merge suggestion tool, and the distinction matters.

HubSpot's duplicate management surfaces likely matches and offers a merge. A merge is destructive in one direction: associations survive, but conflicting property values resolve to the primary record and the secondary record's values are gone. In a firm whose contact history is its referral history, an unreviewed bulk merge is a data-loss event with a friendly interface.

The audit list was produced first, reviewed with the firm, and then executed against. Records were deleted only where the review had identified them as true duplicates.

Phase four: the objects the firm did not have

Pipeline design covered four revenue lines: residential closings, default services, investor sales and the remaining practice work. Each received stage definitions, required fields and an owner, and the design was reviewed with the firm before any pipeline was created, because a pipeline adopted badly is worse than no pipeline.

Adoption was treated as a separate phase from design, and it was the phase that ran longest. The firm's quoting process was demonstrated back to the team in a reverse demonstration, in which the team operated the system and the implementer watched, rather than the reverse. Weekly working sessions ran for the duration of the retainer.

Target account data was imported to give the default-services line something to work against, and the import ran after the deduplication rather than before it, so the new records met a clean population.

Wang and Strong (1996) define data quality by fitness for the consumer's use rather than by intrinsic correctness, and a pipeline is subject to the same test. A stage model may be internally coherent, correctly configured and precisely named, and still fail the only test that matters, which is whether the person who has to move a deal through it can say what each stage means without opening the documentation. Stage definitions were therefore written against the firm's existing vocabulary rather than against a reference model, on the argument that a correct pipeline nobody updates does not establish anything about the business it claims to describe.

Outcomes

Marketing contacts: from approximately 9,000 to under 7,000. Achieved in a single working session, and held since.

Contact records deleted during reclassification: zero. Stored contacts remained at approximately 17,000. The firm's full history is intact and searchable, and none of it is billed as marketing.

Estimated renewal-tier cost avoided: 5,000 United States dollars. A counterfactual, stated as such.

Data-quality views: from 0 to 3. Missing name, missing email address, probable duplicates. Each converts an unmeasured population into a queue with a count.

Scheduled hygiene agents: from 0 to a monthly cadence covering capitalisation, spelling, email format, telephone format and address validation.

Deal pipelines: from 0 to 4 designed, covering residential closings, default services, investor sales and remaining practice work.

Foreclosure sale intake automation: from 1 state to 2, with routing and follow-up sequences rather than an unrouted form submission.

Paid search attribution: from 0 to 2 regions with conversions and call tracking visible inside CRM reporting rather than only inside the advertising account.

Lessons learned

The billable unit is almost never the unit operators think it is. A firm asked to reduce its contact count will delete contacts, because the word in the invoice is contacts. The word in the invoice is marketing contacts, and the adjective is doing all of the work. Reading the billing definition before touching the data is the entire technique, and it is the difference between a reprieve and a loss.

A cleanup without a loop is a dated artefact. The reclassification took one session and would have decayed at the rate the forms create records, which is roughly the rate that produced 9,000 in the first place. The scheduled agents matter more than the session did, and they are far less satisfying to deliver.

Adoption resisted, and the resistance was structural rather than personal. A two-person marketing team asked to operate a deal pipeline for four revenue lines is being asked to do work that did not previously exist, on top of work that does. The mechanism that moved it was the reverse demonstration: the team drove and the implementer watched, which surfaces in ten minutes every assumption a training session hides for a month. Pipeline adoption remained in progress at the end of the reported period, and it is reported that way rather than as complete.

The inbound default-services channel could not be fixed at the source. Data arrives from banks and servicers as a spreadsheet matrix on no schedule and with no interface behind it. The standing hygiene loop normalises format and validates addresses after arrival. It cannot govern provenance, and no amount of configuration inside the CRM will, because the constraint sits in a counterparty's process.

Limits

The contact reduction is a billing outcome, not a marketing outcome. Nothing here establishes that the smaller marketing population performs as well as the larger one. Deliverability, open rates and list engagement were not measured before the reclassification, so no before-and-after comparison on marketing performance is available or claimed. The reasonable expectation is that removing never-emailed records improves engagement rates arithmetically, and an arithmetic expectation is not a measurement.

The avoided cost is an estimate of a counterfactual. The firm did not renew at the higher tier, so the 5,000 United States dollar figure is the quoted difference between tiers rather than an observed saving.

The pipeline count is a design count. Four pipelines were designed. Adoption was in progress at the end of the reported period, and a pipeline nobody updates reports nothing.

The hygiene agents have not run long enough to demonstrate that the count holds. The mechanism is in place and the cadence is scheduled. Whether the marketing-contact count stays below the threshold through the next renewal is a question for the next renewal.

This engagement was scoped as a retainer rather than a project, and the scope was client-directed month to month. Work described here was prioritised by the firm. A differently sequenced engagement at the same firm would have produced a different set of completed items in the same hours.

Conclusion

Two things were wrong at this firm, and only one of them looked like a problem.

The visible one was a renewal about to cost more. It was solved by reading a billing definition carefully enough to notice that the billable boundary runs inside the contact database rather than around it, and by moving roughly 2,000 records across that boundary without deleting any of them.

The invisible one was that a seven-state law firm with four revenue lines had no object representing revenue. Redman (1998) treats poor data quality as a cost borne continuously and recognised rarely, and the same description fits a missing object: the firm had paid for years in questions it could not answer, and had never received an invoice for it.

The renewal was the occasion. The pipelines are the work.

References

Batini, C., Cappiello, C., Francalanci, C., & Maurino, A. (2009). Methodologies for data quality assessment and improvement. ACM Computing Surveys, 41(3), 1–52. https://doi.org/10.1145/1541880.1541883

Payne, A., & Frow, P. (2005). A strategic framework for customer relationship management. Journal of Marketing, 69(4), 167–176. https://doi.org/10.1509/jmkg.2005.69.4.167

Pipino, L. L., Lee, Y. W., & Wang, R. Y. (2002). Data quality assessment. Communications of the ACM, 45(4), 211–218. https://doi.org/10.1145/505248.506010

Redman, T. C. (1998). The impact of poor data quality on the typical enterprise. Communications of the ACM, 41(2), 79–82. https://doi.org/10.1145/269012.269025

Reinartz, W., Krafft, M., & Hoyer, W. D. (2004). The customer relationship management process: Its measurement and impact on performance. Journal of Marketing Research, 41(3), 293–305. https://doi.org/10.1509/jmkr.41.3.293.35991

Wang, R. Y., & Strong, D. M. (1996). Beyond accuracy: What data quality means to data consumers. Journal of Management Information Systems, 12(4), 5–33. https://doi.org/10.1080/07421222.1996.11518099

Conflict of Interest Statement

RevOps HQ is a HubSpot Solutions Partner and was paid to perform the work described here, on a time-and-materials retainer at a stated hourly rate. The reclassification reduced the client's payment to HubSpot, which is a saving the partner does not share in. The contact figures are drawn from the portal. The avoided renewal cost is an estimate of a counterfactual and is labelled as one wherever it appears.

Acknowledgments

The reclassification session was run jointly with the firm's marketing lead and a HubSpot representative. The duplicate audit list was reviewed by the firm before any record was deleted.

Schedule a consultation

Thirty minutes, no deck. We look at your portal and tell you what this would involve for a legal business — including whether it is worth doing yet.

HubSpot services

Onboarding, implementation, integration, migration, administration and training, each scoped and priced before the work begins

WEEKLY PROGRAM

RevOps Office Hours

A recurring weekly RevOps operating program. Live support plus hands-on HubSpot implementation work.

$1,500/mo
Monthly Operating Program
  • 1 live Office Hours session per week
  • 4 hours of hands-on implementation work per month
  • Hours allocated against priorities agreed at the start of each period
  • Recurring monthly cadence