Workflow · Attribution ~15 min setup HubSpot · LinkedIn Ads · MCP

LinkedIn Ads true revenue attribution
via HubSpot + Claude.

A copy-paste Claude prompt that reveals how much pipeline LinkedIn actually sourced — including the 60–80% typically misattributed to organic or direct traffic. Runs on the free Growthspree MCP. No GAQL, no CSV exports, no BI tool.

60-80%
LinkedIn revenue misattributed
15min
End-to-end setup time
2-3×
Typical true revenue vs reported
90d
CRM match window
01 The Problem in 60 Seconds

LinkedIn sourced the deal.
Your CRM credits organic search.

A VP of Engineering sees your LinkedIn ad on Monday. Three weeks later, she Googles your company name, visits your site directly, books a demo, and closes in July. LinkedIn's 7-day click window expired months ago. Your CRM logs her as "organic search." LinkedIn gets zero credit.

Across 300+ B2B SaaS accounts, 60–80% of LinkedIn's actual revenue contribution is misattributed to other channels. This workflow fixes that. It uses the free Growthspree MCP to match LinkedIn impression data to HubSpot contacts in a 90-day window — surfacing the dark-funnel revenue that LinkedIn's native reporting misses entirely.

The prompt below reads across LinkedIn Ads and HubSpot in a single Claude conversation. No manual exports. No SQL. The first run takes 15 minutes. Every run after that takes under 2.

02 The Prompt

Copy this prompt into
Claude Desktop.

Paste it as-is. The two variables in gold — account name and date range — are the only things you typically change between runs.

claude_desktop — attribution_prompt.md
RoleYou are analyzing LinkedIn Ads true revenue attribution for [ACCOUNT_NAME]. LinkedIn's native 7-day click window underreports B2B revenue by 60–80% because deals typically close weeks after the initial ad view — through organic, direct, or brand search — and LinkedIn loses the credit. Your job is to reveal that gap using live data from the Growthspree MCP. Task1. Pull all LinkedIn Ads impressions and engagements from the last 90 days via the growthspree-mcp linkedin_ads connector. Include campaign name, impression date, engagement type, and company/contact identifiers where available. 2. Pull all HubSpot contacts created or updated in the last 90 days via the growthspree-mcp hubspot connector. Include email, company, original source, recent source, associated deals, deal amount, and deal stage. 3. Match LinkedIn-exposed people/accounts to HubSpot contacts using three signals: a. Email match (from LinkedIn Lead Gen Forms → HubSpot contacts) b. Company-level match (LinkedIn company-targeted impressions → HubSpot contacts from same company, within 90-day window) c. Identity match (LinkedIn Matched Audiences → HubSpot contacts) 4. Calculate and return four metrics: • Native attribution: what LinkedIn's 7-day click window reports (baseline) • CRM-matched attribution: LinkedIn-exposed contacts who converted via any channel within 90 days • Account-level influence: LinkedIn-served companies that entered pipeline within 180 days • Dark-funnel gap: the revenue LinkedIn actually sourced but didn't get credited for Output formatReturn a summary table with contact count, deal count, and total deal amount for each of the four categories above. Flag the top 5 campaigns contributing the largest dark-funnel gap. End with a recommendation on budget reallocation. // If HubSpot contacts are missing original_source or recent_source, fall back to created_at vs first_linkedin_exposure comparison. // If LinkedIn impression data doesn't include company identifiers, use the Matched Audience overlap instead.
i
First-time setup required. You need the free Growthspree MCP installed in Claude Desktop before this prompt works. Scroll to section 04 below for the 4-step install. It takes about 10 minutes end-to-end.
03 What Claude Returns

What the output actually looks like.

A sample run from a mid-market B2B SaaS account. Real structure, illustrative numbers. The dark-funnel gap is typically the most important number Claude returns.

Claude · via Growthspree MCP

Running the attribution analysis. I'll query LinkedIn first, then HubSpot, then match.

growthspree.linkedin_ads.get_campaign_performance { window: 90d, include: [impressions, engagements, companies] }
growthspree.hubspot.search_contacts { created_after: 90d, include: [deals, sources] }

Matched 3,847 LinkedIn-exposed contacts against 1,204 HubSpot records. Here's the breakdown.

Attribution Model Comparison · Last 90 Days
Native LinkedIn attribution
7-day click window · what Campaign Manager reports
14 deals
$84,000
CRM-matched attribution
90-day window · LinkedIn-exposed HubSpot conversions
41 deals
$247,000
Account-level influence
180-day window · LinkedIn-served companies in pipeline
67 accounts
$412,000
Dark-funnel gap
Matched minus native · what LinkedIn actually sourced
+27 deals
+$163,000

Top 5 campaigns contributing the dark-funnel gap:

ABM — Enterprise Tier 1 Accounts
+8 deals
+$62,000
Awareness — RevOps Leaders US
+6 deals
+$34,000
Thought Leadership — Sponsored Posts
+5 deals
+$28,000
Retargeting — 60-day visitors
+4 deals
+$22,000
Document Ad — ICP Playbook
+4 deals
+$17,000
Recommendation. LinkedIn's true revenue contribution is $247K over 90 days, not the $84K Campaign Manager reports. The ABM and Awareness campaigns are your dark-funnel workhorses — both show strong account-level influence with delayed conversion patterns. Recommend increasing budget on these two by 25% next quarter and running this attribution prompt monthly to track the trend. Want me to draft a memo to your CFO summarizing the full 90-day dark-funnel picture?
TIME ELAPSED: 72 SECONDS   ·   SAME ANALYSIS MANUALLY: 4-6 HOURS
04 Setup

Four steps. About ten minutes.

First run only. After this, every subsequent run takes under two minutes.

01
Install · 3 min

Install the free Growthspree MCP

Head to growthspreeofficial.com/mcp. Click install and authorize the OAuth flow. This grants Claude read access to LinkedIn Ads, HubSpot, Google Ads, GA4, and Search Console in one step.

Install now →
02
Verify · 1 min

Confirm the connection in Claude Desktop

Open Claude Desktop. Click the tools icon in the input bar. You should see growthspree-mcp listed with all five connectors showing green. If LinkedIn Ads or HubSpot show red, re-run the OAuth flow for that specific account.

03
Paste · 1 min

Paste the attribution prompt

Copy the prompt from section 02 above. Paste it into Claude. Replace [ACCOUNT_NAME] with your company name. Adjust the 90-day window if your sales cycle runs materially longer or shorter.

04
Review · 5 min

Review the output and save the report

Claude returns the four-metric breakdown in 60–90 seconds. Save the output as a markdown file or share directly with your CFO. Re-run monthly to track the dark-funnel trend over time. Typical result: LinkedIn's true revenue is 2–3x what Campaign Manager reports.

05 Prompt Variations

Three ways to push this further.

Same foundation, different lens. Pick the variation that matches your next question — or chain them together in one Claude session.

01 / Longer cycle

For enterprise sales cycles (180+ days)

Long-cycle deals often break the 90-day window entirely. Expand the match window and add a pipeline-stage filter to surface influence on deals still in-flight.

Tweak Change 90 days to 180 days. Add: "Include deals in stages 3+ even if not yet closed-won."
02 / Campaign drill-down

Break the gap down by campaign type

Useful before budget planning. Separate ABM, awareness, retargeting, and lead gen to see which campaign types drive the most dark-funnel revenue.

Tweak Add: "Group the dark-funnel gap by campaign objective: ABM, awareness, retargeting, lead gen. Return the contribution of each."
03 / CFO memo

Auto-draft the CFO-ready one-pager

Skip the manual rewrite. Have Claude produce a plain-English summary in the exact format your CFO reads — pipeline contribution, cost per dollar of pipeline, trend vs last quarter.

Tweak Append: "Draft a one-page memo to the CFO with: LinkedIn's true pipeline contribution, CAC blended, trend vs previous quarter, and one recommendation."
07 Frequently Asked

Quick answers on the workflow.

This prompt instructs Claude to pull 90 days of LinkedIn Ads impression and click data via the Growthspree MCP, match it to HubSpot contact records using email and company-level signals, and calculate how much pipeline and closed-won revenue LinkedIn actually influenced — including deals HubSpot attributes to direct or organic search. The output shows native LinkedIn attribution, CRM-matched influenced revenue, and the gap between them — which is typically 2–3x the reported number.
The Growthspree MCP includes LinkedIn Ads as one of five connected platforms — you do not need a separate LinkedIn Ads MCP. A standalone LinkedIn Ads MCP is not freely available today, and the community versions require significant engineering. The Growthspree MCP abstracts all of that. One authentication flow and you are running queries in Claude within minutes.
This specific workflow requires HubSpot because the dark-funnel match relies on HubSpot contact and deal records. If you use a different CRM, the same pattern works but requires a connector for your CRM. Growthspree prioritizes connector requests based on customer demand — reach out if your CRM is critical.
The 90-day window is calibrated to the typical B2B SaaS buying journey. Average B2B sales cycles are 84 days and 70% of the journey is anonymous before sales contact. A 90-day window captures most ad-influenced conversions without false positives from unrelated historical impressions. You can shorten the window for shorter sales cycles or lengthen it for enterprise deals — the prompt supports both.
Claude returns four things: native LinkedIn attribution (what LinkedIn's 7-day click window reports), CRM-matched attribution (LinkedIn viewers who converted via any channel within 90 days), account-level influence (LinkedIn-served companies that entered pipeline within 180 days), and the dark-funnel gap (the difference between native and matched — revenue LinkedIn actually sourced but isn't credited for). The output includes contact counts, deal amounts, and pipeline value.
The first run takes about 15 minutes end-to-end — 10 minutes to install and authenticate the Growthspree MCP, 5 minutes to paste the prompt and review the output. Subsequent runs take under 2 minutes because the connections are already authenticated. This replaces a 4–6 hour manual process of exporting LinkedIn data, exporting HubSpot contacts, merging in a spreadsheet, and guessing at match logic.
No. LinkedIn's Revenue Attribution Report uses LinkedIn's own lookback windows and attribution logic and is limited to what LinkedIn can see. This workflow uses a 90-day CRM-matched window that captures conversions attributed to other channels — the dark-funnel revenue LinkedIn misses. Teams running both typically find LinkedIn's true contribution is 2–3x higher than the Business Manager report shows.

Run this workflow
this week.

Install the free Growthspree MCP, paste the prompt, see your LinkedIn dark-funnel revenue in under 15 minutes. Or have senior GrowthSpree operators implement and run it across your entire stack.

300+ Accounts on MCP
4.9/5 G2
Google & HubSpot Partner
Month-to-Month