The headline numbers
Comparison window: March 2026 (the baseline month immediately before the restructure) versus May 2026 (the first full month under the new structure, including actuals through 20 May plus the in-period forecast for the rest of the month). Mid-April was the structural transition (a dedicated Google brand search campaign launched mid-month, so April is a mixed month and pre-April vs post-April Google comparisons are not like-for-like). Spend was modestly lower across the new period, so the improvement is a structural efficiency gain, not a budget effect. Source: paid media monthly review, 20 May 2026, sitting on top of HubSpot ad-campaigns reports and Growth KPIs.
All three headline numbers are read at the marketing-effectiveness (MER) level, which divides total paid spend by total signups (or customers) from all sources, paid and direct. That's deliberate. Platform-level reporting overstates the win by attributing every paid-touched user to the channel that touched them last, which on these numbers credits paid for more customers than the business actually acquired. The MER read is the version a CFO can defend.
Inside paid alone, the structural gain is larger again: paid signup volume is up roughly 3×, and cost per paid signup is down roughly 65%. Brand search is the cheapest single line item, capturing branded queries at a fraction of the prior CPC, but a meaningful share of that "Brand" customer count is upper-funnel demand harvested from Meta; the two channels are now visibly working as one system. The "Results, in detail" section walks through that pairing.
The brief
The client is a UK B2C legal-services SaaS: consumers sign up to run their own legal claims with expert support behind them. (Published anonymised — the client isn't named; every figure below is a ratio or percentage from the engagement's own reporting.) Their growth motion is signups → product activation → paid plans, with a parallel content and webinar layer for top-of-funnel awareness. By early 2026 the in-house paid media operation had grown into roughly 80 Google Ads campaigns and a similarly long Meta history of one-off boosted posts and event promotions. There were pockets of performance, but the structure made it difficult to see which activity was genuinely repeatable without taking the whole thing apart.
The brief was direct: take ownership of paid acquisition end-to-end, get cost per signup and cost per customer onto a defensible cost curve, and put the account on a structure that supports continued scaling without quarterly re-architecture.
Scope-wise this was an S01 Strategy output (account architecture, funnel design, naming convention) executed inside an S02 Paid Media Management engagement (day-to-day build and ongoing optimisation).
The starting state
Three classes of problem, all common in fast-moving startup ad accounts.
One. No funnel-aware account architecture. Google had test campaigns named for the content topic they targeted, sometimes prefixed with the launch date, with no consistent indication of which were brand vs non-brand, prospecting vs retargeting, signup-driven vs awareness. Meta activity had largely been built around date-stamped boosted posts, individual landing pages and event promotions, which made historical comparison difficult and creative iteration harder to systemise.
Two. The conversion signal the platforms were optimising against didn't match the downstream business outcome. Several campaigns were optimising for traffic, page views, or video plays: useful engagement proxies, but ones that don't tell Google or Meta's bidding what a successful user actually looks like. Where conversion events did exist, they weren't tied back to HubSpot, so cost-per-signup and cost-per-customer were calculated by hand from exports rather than feeding the platforms in real time.
Three. Meta did not yet have a dedicated conversion tracking setup in place; no pixel and no Conversions API. Bidding was therefore optimising against ad-platform proxy signals rather than the downstream signup events the business cared about, and any new setup needed to be built with iOS 14.5 ATT, ad-blocker prevalence in a privacy-conscious audience, and the cross-device path from social discovery on mobile to signup from a desktop session at home in mind from day one, since each of those silently erodes browser-only measurement.
What changed
Six changes, in roughly the order they shipped.
Account restructure on a single naming convention
Both Google and Meta were rebuilt against one naming convention: Network | Funnel-stage | Objective | Conversion-target | YYYY-MM. So Google | Search | Brand | Signup | 2026-04 sits next to Meta | TOF | Awareness | Thruplay | 2026-04 in the same logical structure. This sounds bureaucratic. It isn't. The convention forces every campaign to declare its job before it spends a pound, which immediately surfaced the campaigns where the role, objective or measurement basis needed tightening.
Google was split into three primary acquisition campaigns: Brand Search (defending and converting existing branded demand), NonBrand Search (capturing high-intent in-market problem queries), and DemandGen Prospecting (creating new demand at the top). Meta was split into TOF awareness (Thruplay and Reach campaigns building the audience pool) and MOF/BOF conversion (driving signups against the warm audience the TOF layer creates).
HubSpot as the conversion source of truth
Instead of platform-native conversion events optimising against on-site interactions, the new setup pipes HubSpot signups and downstream customer events into Google Ads via offline conversion import and into Meta via the Conversions API as the primary bidding signals. The platforms now optimise against the outcome the business cares about, not the proxy that fires on the page. Cost-per-signup and cost-per-customer are calculated against the same data the founders read in the HubSpot dashboard, which closed the gap between platform reporting and the numbers the team uses internally.
Meta Pixel and CAPI implementation
Meta did not yet have a dedicated conversion tracking setup in place, so the first step was to install the Meta Pixel and the Conversions API together. Browser-side and server-side events were configured with deduplication, giving Meta a cleaner signup signal than browser-side tracking alone would have produced under iOS 14.5 ATT, ad-blocker prevalence and the cross-device path. That matters most on the MOF/BOF Conversion campaign, where bidding needs enough reliable conversion feedback to find users who are likely to become real signups, rather than just the ones whose conversions can still be measured client-side.
Brand search isolated from non-brand
Branded queries were previously absorbed into broad-match campaigns where they paid prospecting CPCs and competed with non-brand keywords for the same budget. Splitting them into a dedicated Brand Search campaign meant brand traffic now optimises at its true (very low) CPC and converts at its true (very high) rate. The split made brand defence visible as its own line, and freed up the rest of the budget to do prospecting work without subsidising defence. The honest read of the brand-search line item, including how much of it is harvesting demand created upstream by Meta, sits in the channel-jobs section below.
Meta funnel split: video and webinars at the top, conversion at the bottom
The boosted-post pattern carried three different jobs (build awareness, drive event registrations, capture signups) inside a single campaign type, which made it difficult to measure each one on its own terms. Splitting awareness Thruplay/Reach from a dedicated conversion-objective signup campaign let each tier be measured against its own job. The MOF/BOF conversion-signup campaign launched in April against the new HubSpot-fed bidding signal with a refreshed creative slate; awareness then builds the audience pool that the conversion layer monetises. The two are now visible as separate lines in the funnel rather than one undifferentiated spend.
Webinars promoted as a paid-media destination, not a one-off event
Webinars and free-content drops do the qualification work that makes the signup decision easier: somebody who has just sat through a 45-minute expert session on their exact problem is a different kind of lead from a cold ad-click. One flagship webinar in particular emerged as the strongest tactical moment of the period (peak day around 4× the steady-state daily signup volume). Treating webinars as a recurring paid-media destination (bespoke landing pages, Meta conversion campaign aimed at registration, audiences seeded from the prior cohort, fresh creative per session) is what made that peak look repeatable rather than a one-off, and what shifted the daily signup curve from spiky-around-events to a higher steady baseline punctuated by event peaks.
Results, in detail
All numbers below: March 2026 (baseline) vs May 2026 (first full month under the new structure, actuals through 20 May plus in-period forecast for the rest of the month) and June 2026 (forward forecast). Read at the marketing-effectiveness (MER) level (total paid spend over total signups or customers from all sources) unless explicitly noted as a paid-channel-only figure. Source: paid media monthly review, 20 May 2026.
Figures from the client's HubSpot reporting and the 20 May 2026 internal paid-media review (March and April actuals, May actuals through 20 May with full-month forecasts for May and June). Published anonymised: the client is not named, and absolute spend and customer counts are withheld — every figure is a ratio, percentage, or index against the March baseline.
| Metric (MER, all sources) | Mar 2026 | May 2026 fcst | Jun 2026 fcst | Change Mar → May |
|---|---|---|---|---|
| Paid spend | baseline | ~-9% | ~-11% | roughly flat (modestly lower) |
| Total signups (all sources) | baseline | +111% | +111% | more than doubled |
| Total customers (all sources) | baseline | +7% | +12% | modestly higher |
| Cost per signup (MER) | baseline | -57% | -58% | more than halved |
| Cost per customer (MER) | baseline | -15% | -20% | sustained, structurally lower |
Inside paid alone the gain is larger again. Paid signup volume is up roughly 3× (+177%), paid cost per signup is down roughly 65%, and paid-channel customer reporting looks even better still, but those paid-channel customer numbers count any customer who interacted with an ad anywhere in their journey, which on these numbers is more customers than the business actually acquired in absolute terms. The MER read above is the version that doesn't have that artefact in it.
Meta and Google now do two distinct jobs
The clearest read of the new structure is that the two platforms have separated cleanly into demand creation and demand capture, each with a measurable cost per signup that makes sense for the job:
| Channel | Job | Share of paid spend (May) | Cost per signup (paid) |
|---|---|---|---|
| Meta · MOF/BOF Conversion | demand creation, volume engine | ~37% | lowest single line item |
| Meta · TOF Awareness | audience build, no direct attribution | ~10% | n/a (feeds MOF/BOF) |
| Google · Brand Search | demand capture, defending branded intent | low single-digit % | cheapest line item overall |
| Google · NonBrand Search | in-market intent capture | ~25-30% | mid-range |
| Google · DemandGen | top-of-funnel intent shaping | ~20-25% | highest of the acquisition lines |
Two things to read off that table. First, the headline "Brand Search converts at almost-no cost" pattern is real but partly explained by the rest of the system: Meta TOF and MOF/BOF are creating branded interest that then arrives at Google, types the brand into a search box, and converts at the brand-search rate. Reducing either Meta or Google Brand aggressively in isolation would likely weaken the loop. The split is an interdependence, not a competition. Second, isolating non-brand Google as a clean line item (only possible from May onwards, once the structural split bedded in) shows that even excluding the brand-capture effect, Google's non-brand acquisition cost has improved materially on the March all-Google baseline. The structural restructure, not the brand split alone, is doing real work.
Customer conversion is the next read, not the next rebuild
The customer story is more nuanced than the signup story. Total signups have more than doubled. Total customers are only up roughly 7% on March (with June forecast at ~+12%) at the all-sources MER level. The headline "paid customer count" looks much higher, but as noted above that figure double-counts customers HubSpot ultimately attributes to direct or organic origins.
A signup → customer cohort analysis built on top of HubSpot reads the lag pattern directly. Two findings sharpen the picture:
- Most cohort conversions land in the signup month itself (roughly 70-90% of each cohort's lifetime customer total). The lag tail is real but smaller than originally assumed: typically 20-40% additional customers across the 1-4 months following signup. The May cohort should therefore be largely settled by end of July, not stretching into late 2026.
- Historical signup → customer conversion rate sits in a 9-17% band across recent months, not a clean single number. The May cohort is currently tracking at the lower end of that band on a same-month basis, consistent with the larger webinar-led volume bringing some earlier-stage leads into the funnel that haven't yet matured.
Applied to May, the cohort projection brackets the mature May customer count in a range whose midpoint matches the headline forecast. The watch is whether the wider signup pool converts at a proportional rate as it matures, or whether the broader mix of intent shifts the rate down. That is the next thing to read. It is not, yet, the next thing to rebuild on.
The cleaner short-term framing the business uses internally is "MER cost per customer", which is the figure in the headline table and in the diagram above. Indexed to the March baseline at 100, it is settling around 85 in May and is forecast around 80 in June, on paid spend that is modestly lower across the same period. That 15-20% per-customer reduction, on slightly lower spend overall, is the efficiency win underneath the modest customer-count lift; the volume number alone understates the unit-economics improvement, which is why the MER cost-per-customer line is the cleaner read for a finance audience. The cost of acquiring a customer is now well below expected lifetime contribution.
What's next
The first three months bought the right to do the rest of the work. With the structure in place, the conversion signal clean and the Meta + Google funnel functioning as one system, the next cohort of changes is more about scale and quality than rebuild:
- Read the signup → customer conversion rate; don't rebuild on it yet. The cohort data is the leading indicator. If the May cohort matures inside the projected range, the current forecast holds and the engagement scales. Meaningfully below that range would suggest the larger signup pool is bringing in a broader mix of intent that the platform-level CPA improvements are masking, and would warrant rebalancing toward quality over volume.
- Validate the webinar engine on the next session. The flagship webinar is the strongest tactical moment of the period; the next session lands shortly with refreshed creative and a new audience cohort. The first 3-5 days post-webinar tell us whether the spike is a repeatable engine or a one-off effect of a particularly resonant topic.
- Phased July scale-up, not a committed step-up. July budget grows toward a higher ceiling in three steps with explicit decision rules at each stage: hold pace if cost per signup and cohort conversion are stable, accelerate only if both hold under load. The case for scaling is real; the decision rules make sure it is earned by live performance, not just forecast confidence.
- Meta MOF/BOF creative throughput. The conversion-objective campaign is now the bottleneck for Meta growth. Creative is already working at scale; doubling the rate of new creative production lets the campaign learn faster and scale further before audience saturation bites.
- NonBrand Search efficiency. Non-brand has improved materially against the March all-Google baseline but is still the highest-CPA acquisition line. Search-term hygiene, negative-keyword expansion, and ad-group splits by intent type are the next pass.
Takeaways
Four things this engagement keeps proving across other accounts:
One. Every campaign that clearly declares its job gives you better visibility into whether it is working. Most of the gain here came from making invisible work visible. Brand search defence wasn't readable as its own line, prospecting and harvesting were sharing the same budget, awareness wasn't being read as a distinct audience-build layer, and webinars hadn't yet been built as a recurring paid-media destination. None of that needed clever bidding. It needed a structure that let each layer be evaluated on its own job.
Two. The platforms only get as smart as the signal you feed them. Before the restructure, the platforms had been optimising against useful proxy signals rather than the downstream HubSpot outcomes the business ultimately cared about. Switching the bidding signal to the actual business event was a one-week build with a 90-day payoff that's still compounding.
Three. Read efficiency at the marketing-effectiveness level, not the platform level. Platform-attributed cost-per-customer numbers in this engagement looked roughly 4× better than the business-wide MER read of the same outcome. Both can be true at the same time: paid is more efficient, and a chunk of that efficiency is paid receiving credit for outcomes the business would have got anyway. The MER read is the version that survives a CFO question.
Four. Once the structure is right, Meta and Google stop competing and start pairing. Meta creates demand at low signup CPA; Google brand search captures it at near-zero CPC; non-brand and DemandGen capture in-market intent at the long tail. The interesting metric stops being "which platform is winning" and becomes "is the loop intact". On these numbers it is. Reducing either side too aggressively would weaken the other.
A clean conversion signal is the upstream condition for everything else, which is why Consent Mode v2 pre-flight and Enhanced Conversions and CAPI are the methods that ride underneath every paid-media engagement I run.