Workflow · Cross-platform Diagnostic ~15 min run HubSpot + Google + LinkedIn

Find what's broken
in your ad signal layer.

A copy-paste Claude prompt that pulls conversion data from HubSpot, Google Ads, and LinkedIn Ads, evaluates what percentage of signals reaching each ad platform are ICP-qualified, and returns a prioritized fix-order list. Run it before any other Track 05 workflow. Every signal-based optimization fights uphill until this audit's gaps are closed.

5platforms
Audited in one run
30-50%
Lower CPS once fixed
60-90days
Algorithm relearn time
15min
First-run setup time
01 The Problem in 60 Seconds

Your bid optimizer can't fix
broken conversion signals.

A student fills out your demo form. Google Ads logs the conversion. The algorithm thinks the student is a buyer and bids harder on similar profiles. A month later your CPL looks fine but sales is drowning in junk leads. The problem isn't the bid strategy or the audience or the creative — it's that your conversion signals are teaching the algorithm to find more students.

Most B2B SaaS teams running paid ads in 2026 spend 80% of their optimization energy at the wrong layer: bid adjustments, audience refinement, ad copy A/B tests. The signal layer underneath all of that is usually broken in 2–3 specific ways, and until those are fixed, every other optimization compounds against bad data.

This audit checks the five places where signal quality usually breaks for B2B SaaS — Google Ads form-fill ICP rate, LinkedIn Ads form-fill ICP rate, HubSpot → Google closed-won feedback, HubSpot → LinkedIn CAPI feedback, and conversion value tiering — and ranks the gaps by estimated cost-per-SQL impact. Run before any other Track 05 work.

The Five Audit Categories Ranked by usual leverage
01 Closed-won feedback to Google & LinkedInHubSpot offline conversions / LinkedIn CAPI Highest impact
02 Google Ads form-fill ICP qualification% of conversions matching ICP High impact
03 LinkedIn Ads form-fill ICP qualification% of conversions matching ICP High impact
04 Tiered conversion valuesTier A / B / C value differentiation Medium impact
05 Lifecycle workflow integrityHubSpot stage transition firing rules Compounds others
02 The Prompt

Copy this prompt into
Claude Desktop.

The gold variables — your ICP definition, audit window, output detail level — are the parts you edit. Default audit window is 90 days; shorter windows produce noisier results.

claude_desktop — signal_quality_audit.md
RoleYou are auditing my B2B SaaS ad signal layer across HubSpot, Google Ads, and LinkedIn Ads. The goal is to identify what percentage of conversions reaching each ad platform are ICP-qualified, what closed-won feedback loops are missing, and what fixes are highest-leverage. Output should be a 5-row signal quality table plus a prioritized fix-order list with estimated CPS impact. Audit WindowLast 90 days for all platforms. ICP DefinitionAn ICP-qualified conversion is one where the converting company matches all of: - Industry: [B2B SaaS, Software, IT Services, FinTech] - Company size: [51–5,000 employees] - Geography: [US, Canada, UK, EU, Australia] - Seniority of converting contact: [Manager and above] - Excluded segments: [Education, Government, Non-profit, Sub-50 employee companies] Task1. Pull all Google Ads form-fill conversions in the last 90 days using growthspree-mcp google_ads connector. For each, attempt to match to a HubSpot company record by email domain or GCLID. Score each conversion as ICP-qualified or non-ICP based on the matched company's firmographic data. 2. Pull all LinkedIn Ads form-fill conversions in the last 90 days using growthspree-mcp linkedin_ads connector. Match to HubSpot the same way. Score each as ICP-qualified or non-ICP. 3. Check Google Ads conversion actions for any active offline conversion events labeled with HubSpot lifecycle transitions (especially closed-won). Status: configured / not configured / configured but no data flowing. 4. Check LinkedIn Ads conversion list for any active CAPI events from HubSpot (especially deal closed-won). Status: configured / not configured / configured but no data flowing. 5. Check Google Ads and LinkedIn Ads conversion values. Are they flat (all conversions same value) or tiered (Tier A / B / C with different values)? 6. Compute estimated CPS impact for each gap: - Closed-won feedback missing: 30-50% potential CPS reduction (60-90 day window) - ICP non-match rate above 40%: 25-40% potential CPS reduction - ICP non-match rate 20-40%: 15-25% potential CPS reduction - Flat conversion values: 10-15% potential bid efficiency gain - Lifecycle workflow gaps: compounds all of above Output format1. Headline: total signal quality grade (% ICP-qualified across all platforms), biggest gap, estimated combined CPS impact if all gaps closed. 2. Five-row signal quality table: - Google Ads form-fill conversions — % non-ICP - LinkedIn Ads form-fill conversions — % non-ICP - HubSpot → Google closed-won feedback — status - HubSpot → LinkedIn closed-won feedback — status - Conversion value tiering — flat vs tiered For each row: status badge (good / medium / bad), specific gap, estimated CPS impact if fixed. 3. Three prioritized actions ranked by leverage: Action 01: The single highest-leverage fix — usually configuring closed-won feedback if missing. Action 02: The second-highest fix — usually adding ICP filtering to whichever platform has the worst non-ICP rate. Action 03: The third-highest fix — usually tiered conversion values once feedback loops are working. 4. Honest calibration notes: - If any connector is missing, flag what couldn't be audited. - If audit window has fewer than 50 conversions per platform, flag that confidence is limited. - If HubSpot doesn't have ICP data fields populated, flag that ICP scoring will fall back to email domain heuristics. // Be specific. "X% non-ICP" not "high percentage non-ICP." // If closed-won feedback is missing, name it as the top action regardless of other findings — it's almost always the highest-leverage fix. // Don't recommend implementation steps in the audit output. The audit identifies gaps; separate workflows handle the fixes.
i
Three connectors required. This prompt uses hubspot, google_ads, and linkedin_ads via the free Growthspree MCP. The most cross-platform of any workflow on this site. If only two are connected the audit gracefully degrades — the missing platform's rows are flagged as "unknown" rather than failing.
03 What Claude Returns

A 5-row diagnostic. Three actions to take this week.

Sample audit output for a B2B SaaS company spending $30K/mo combined across Google and LinkedIn. The pattern below is the most common one we see — closed-won feedback missing on both platforms, Google form-fills polluted with non-ICP, LinkedIn cleaner but still leaking.

Claude · via Growthspree MCP

Auditing the signal layer now.

growthspree.hubspot.get_active_contacts { window: 90d, lifecycle: [MQL, SQL, opportunity, closed_won] }
growthspree.google_ads.run_gaql { table: conversion_action, dim: [conversion_value, hubspot_match] }
growthspree.linkedin_ads.list_conversions { active_only: true, include_capi_status: true }

Bottom line: 62% of signals reaching your ad platforms are ICP-qualified. 38% are noise. Both closed-won feedback loops are missing, which is almost always the highest-leverage fix in B2B SaaS. Estimated combined CPS impact if all five gaps close: 30–50% lower cost per SQL within 60–90 days.

Signal Quality Audit · Last 90 Days 62% ICP-qualified across stack
Platform
Signal Quality
Impact if Fixed
Google Ads — form-fill conversions
58% non-ICP
~30-50% lower CPS
LinkedIn Ads — form-fill conversions
31% non-ICP
~15-25% lower CPS
HubSpot — closed-won feedback to Google
Not configured
Strongest signal — 60-90d gain
HubSpot — closed-won feedback to LinkedIn
Not configured
Strongest signal — 60-90d gain
Conversion value tiering
Flat values
Better algo bid prioritization

What this means. Your Google Ads algorithm is currently spending 58% of its learning capacity on conversions that match no part of your ICP — students, sub-50-employee companies, wrong industries. LinkedIn is in better shape because LinkedIn's targeting filters out some of that automatically, but 31% of LinkedIn form fills are still non-ICP. Both platforms are getting zero feedback about which conversions actually become customers, which means even when an enterprise CIO converts and closes for $80K, neither platform learns from that signal. The conversion value layer is flat, so the algorithm bids the same on a Tier A enterprise prospect and a Tier C SMB prospect.

Three Prioritized Actions
01
Configure closed-won feedback on both platforms. HubSpot offline conversions to Google Ads + HubSpot CAPI to LinkedIn Ads, both feeding deal closed-won events with revenue values. This is the single highest-leverage fix in B2B SaaS — algorithms need 30–60 days of closed-won data before they meaningfully shift bidding behavior, so starting this week vs starting next month is the difference between Q3 results and Q4 results. Documented case in our portfolio: PriceLabs went from 0.7x to 2.5x ROAS (350% improvement) after this exact change shifted Google Ads optimization from form-fillers to enterprise-fit visitors.
02
Add ICP filtering to Google Ads form-fill conversions. 58% non-ICP rate is bleeding budget. Implementing an ICP filter — either via QLA or by configuring HubSpot to only fire the conversion event after a contact passes ICP scoring — will redirect Smart Bidding toward enterprise-fit profiles. Compound effect with action 01: closed-won feedback teaches the algorithm what works, ICP filtering stops it from learning bad lessons in the first place.
03
Tier the conversion values. Tier A MQLs (perfect ICP fit, enterprise) get $200 conversion value. Tier B (mid-market, partial fit) get $100. Tier C (SMB, weak fit) get $25 or don't fire at all. Forces algorithms on both platforms to prioritize the right kind of conversion, multiplying the effect of actions 01 and 02. Implement after closed-won feedback is established — tiering without feedback is just guessing.
The audit identifies the gaps. Each gap has a corresponding workflow that closes it. Action 01 maps to the HubSpot → Google offline conversions and HubSpot → LinkedIn CAPI workflows. Action 02 maps to the ICP scoring rubric builder. Action 03 maps to the tiered conversion value calculator. Want me to draft the implementation order with effort estimates next?
TIME ELAPSED: 87 SECONDS   ·   SAME AUDIT BY HAND: 4-6 HOURS
04 Setup

Four steps. Fifteen minutes first time.

First run only. Every monthly audit after that takes under 2 minutes — paste the prompt, get the diagnostic.

01
Install · 5 min

Install the Growthspree MCP

Head to growthspreeofficial.com/mcp. Authorize HubSpot, Google Ads, and LinkedIn Ads through the OAuth flow. Read-only on all three — the audit only reads data, never writes.

Install now →
02
Verify · 1 min

Confirm all three connectors are green

Open Claude Desktop. Click the tools icon. You should see growthspree-mcp with hubspot, google_ads, and linkedin_ads all showing green. If any is red, re-run that platform's OAuth flow. The audit gracefully degrades if one is missing, but the full picture needs all three.

03
Configure · 6 min

Define your ICP

Copy the prompt from section 02. Edit the gold variables to match your ICP — target industries, company size band, geography, seniority floor, exclusions. The accuracy of the audit depends on the accuracy of the ICP definition. If you don't have a written ICP, the rough version is: industries you've closed at least 3 deals in, company sizes that match your average ACV, geographies your sales team can support.

04
Run monthly · 3 min

Make this the monthly health check

Run the audit monthly to catch drift — tracking pixel breakage, lifecycle workflow misfires, ICP definition staleness, new conversion events firing without ICP filtering. Signal quality is fragile because lifecycle stages, sales workflows, and ad platform configs all change. A monthly audit catches degradation before it shows up as CPS inflation 2 months later. Save each month's output to track quarter-over-quarter progress.

05 Prompt Variations

Three ways to cut the same audit.

Same five-category foundation, different framing. Pick the one that matches what you're trying to decide right now.

01 / Closed-won-only audit

Audit just the feedback loop layer

For teams who already know their form-fill conversions are noisy and just need to confirm whether closed-won feedback is configured. Skips ICP rate analysis, focuses entirely on whether HubSpot lifecycle events are reaching ad platforms and how stale the data is.

Tweak Replace task list with: "Check Google Ads and LinkedIn Ads for active offline conversion events from HubSpot. For each, report status, last sync timestamp, and any data quality issues."
02 / Junk-lead leakage trace

Find the source of non-ICP form fills

Goes deeper than the standard audit on signal 02 (Google Ads non-ICP rate). Surfaces which campaigns, audiences, ad groups, or landing pages are generating the worst-quality conversions. Often reveals one or two specific assets responsible for most of the noise.

Tweak Append: "For Google Ads non-ICP conversions, segment by campaign + ad group. For LinkedIn non-ICP conversions, segment by campaign + audience. Return the top 5 worst-offending sources with non-ICP conversion counts."
03 / Monthly signal health memo

Auto-draft the marketing-ops memo

Wraps the audit in a one-pager format suitable for distribution to leadership or marketing-ops stakeholders. Includes month-over-month signal quality movement (if previous audit data is in context), wins, regressions, and the next month's focus.

Tweak Append: "Output as a one-page memo with: This Month's Signal Quality Grade, Wins (what improved), Regressions (what got worse), and Next Month's Focus (top 1–2 fixes). Tone: marketing-ops board read."
07 Frequently Asked

Quick answers on the audit.

It pulls conversion data from HubSpot, Google Ads, and LinkedIn Ads, evaluates what percentage of signals reaching each ad platform are ICP-qualified vs noise, identifies which closed-won feedback loops are missing, and returns a prioritized fix-order list with estimated cost-per-SQL impact for each fix. The output is a 5-row diagnostic table with color-coded status badges and three concrete recommendations ordered by leverage.
Modern ad platforms — Google, LinkedIn, Meta — optimize on conversion signals, not audiences or bids. If 58% of your form-fill conversions reaching Google Ads are non-ICP (students, micro-companies, wrong industries), the algorithm spends 58% of its learning capacity on profiles that will never close. No bid adjustment, audience refinement, or creative test fixes that. Signal quality is the foundational layer — it determines whether every other optimization compounds or fights uphill against bad data. Once signal quality is fixed, documented case studies in B2B SaaS show 30–50% lower cost per SQL within 60–90 days.
Five categories. (1) Google Ads form-fill conversions — what percentage are ICP-qualified vs noise. (2) LinkedIn Ads form-fill conversions — same check. (3) HubSpot to Google Ads closed-won feedback — is offline conversion tracking configured at all, and if so, is closed-won data flowing. (4) HubSpot to LinkedIn Ads closed-won feedback — same check via LinkedIn CAPI. (5) Conversion value tiering — are MQL Tier A, B, C accounts assigned different conversion values, or is everything flat. The audit returns a status badge per row and ranks the gaps by estimated CPS impact.
Doing this by hand requires pulling data from three different platforms, cross-referencing conversion event lists with CRM records, calculating ICP match rates, and ranking the gaps — usually 4–6 hours of work for a senior operator. Claude with the Growthspree MCP runs the same analysis in under 2 minutes. The math is identical; the time-to-insight is the difference. For weekly or monthly health monitoring, the difference between 4 hours and 2 minutes is the difference between auditing and not auditing.
The audit gracefully handles missing connectors. If only HubSpot and Google Ads are connected, Claude runs the Google-specific portion of the audit and skips LinkedIn rows. If HubSpot is missing entirely, the audit can still run on the ad platforms alone but the closed-won feedback evaluation becomes impossible — the prompt flags this as a calibration limitation. The minimum useful version of the audit needs HubSpot plus at least one ad platform; the full version uses all three.
Three time horizons in B2B SaaS. Week 1–2: signals start flowing into ad platforms but algorithm learning is in early stages. Week 2–4: visible algorithm shift — bid changes, audience adjustments, early ICP-fit lead trickle. Day 60–90: meaningful cost-per-SQL improvements as ICP signals compound with offline conversion data. The strongest documented case from GrowthSpree's portfolio is PriceLabs — ROAS improved from 0.7x to 2.5x (350% improvement) after the signal layer was rebuilt to filter form-fillers and feed enterprise-fit conversions back to Google Ads.
Initial audit on day one of any new engagement or quarterly health check. Then monthly to catch drift — tracking pixel breakage, lifecycle workflow misfires, ICP definition staleness, new conversion events firing without ICP filtering. Signal quality is fragile in B2B SaaS because lifecycle stages, sales workflows, and ad platform conversion configs all change frequently. A monthly audit catches degradation before it shows up as CPS inflation 2 months later.

See what's broken
this afternoon.

Install the free Growthspree MCP, connect HubSpot + Google + LinkedIn, and run the audit. The five places your signal layer might be broken become visible in under 2 minutes. Or have senior GrowthSpree operators run the audit and deploy the fixes — closed-won feedback, ICP filtering, tiered values — across your stack.

300+ Accounts on MCP
4.9/5 G2
$60M+ Managed SaaS Spend
Month-to-Month