HubSpot–Salesforce Reporting and Attribution Funnel Playbook
Attribution is only as credible as the object relationships and mapping beneath it. This playbook shows how to stitch HubSpot’s marketing attribution with Salesforce’s revenue truth to produce a trustworthy funnel—from anonymous visit to closed‑won—and the board‑ready metrics your leadership expects.
Goals
Define the reporting contract once, then automate it:
- One pipeline truth: amounts, stages, probabilities come from Salesforce.
- One attribution engine: first/last touch and assisted touches calculated in HubSpot.
- Parity checks weekly to keep funnel counts consistent (<3% drift) across systems.
- Reusable dashboards that sales, marketing, and finance read the same way.
Data Sources and Ownership
Use a clear split of duties:
• Salesforce: Opp and forecast truth (stage, amount, currency, probability), Account and Contact SoR, product catalog, multi‑currency. • HubSpot: Original Source and UTMs, sessions and pages, campaign membership, first/last touch attribution, assisted touches, and lead scoring.
Attribution Model
Pick a model and stick with it for core KPI reporting; keep experiments sandboxed.
• Board KPIs: first‑touch and last‑touch for clarity; assisted touches for supporting insights, not headline revenue. • Experimentation: run W‑shaped or position‑based models inside Marketing dashboards; never mix model families in executive reports. • Immutability: write first‑touch and last‑touch once at Opportunity creation or association; lock after the initial write.
Object Relationships You Must Enforce
Attribution fails when Opportunities aren’t connected to the right Contacts and Campaigns. Enforce these:
• Primary Contact association to every Opportunity, set automatically on creation. • Campaign Member links for all Contacts attached to Opportunities. • Company/Account mapping with a stable Account ID mirrored to HubSpot.
Core Dashboards
Build a set of durable views that leaders use weekly:
• Pipeline Health (Salesforce): open pipeline by stage, age, coverage vs. quota, slippage. • Funnel Conversion (both): MQL→SAL→SQL→Opp→Closed‑Won with conversion rates and stage duration; parity checks show where counts diverge.
- Source Performance (HubSpot): influenced revenue by Original Source, campaign family, content theme; tie back to Opportunities by Contact associations.
- Velocity and Speed‑to‑Lead (both): medians and 95th percentiles for response times and stage progress.
SLA and Parity Governance
Make data contracts explicit:
• Parity: if HubSpot and Salesforce disagree by >3% on MQL, SAL, SQL, or Opp Created, open a severity‑2 incident. Investigate mapping, workflow timing, and deduping. • SLA: MQL response in <5 minutes; lead ownership assigned within 60 seconds. Track breaches and send weekly summaries. • Immutability: first/last touch fields are read‑only after initial write; violations trigger alerts.
Multi‑Touch Influence Without Double Counting
Avoid making assisted touches the headline story. Use them to inform channel mix and messaging, but tie revenue to Opportunities only after a Contact association exists. Build a “Contact Influence Score” that weights meaningful interactions (demos, pricing views, high‑intent content) and de‑weights vanity clicks.
Currency, Fiscal Calendars, and Cohorts
Standardize around Salesforce’s settings: fiscal months/quarters, corporate currency, and exchange rates. Build cohort reports (by Opp Created Month or by First Touch Month) that respect fiscal definitions. HubSpot should show read‑only currency values already converted by Salesforce.
Data Model for Reporting
• HubSpot: Original Source, UTM fields, First Touch, Last Touch, Assisted Touch Count, Session and Page stats, Campaign membership. • Salesforce: Opportunity Stage, Amount, Close Date, Forecast Category, Probability, Currency, Primary Contact, Product Family roll‑ups. • Shared keys: Contact ID, Account/Company ID, Opportunity ID.
Quality Gates and Audits
Build “blockers” so bad data can’t reach dashboards:
- Require a Primary Contact on all Opportunities.
- Validate allowed picklist values for Lead Source and Campaign Type; block unknowns.
- Lock original source/UTM fields after first write.
- Reconcile weekly funnel counts; if drift persists two weeks, open a corrective project.
Enablement and Change Control
Document KPI definitions in a 2‑page “Metrics Spec.” Any change to definitions, attribution rules, or funnel math must include a before/after example and a 30‑day bake‑off where both old and new are reported side by side. Only switch the executive dashboard after sign‑off by Sales, Marketing, and Finance.
FAQ
Which attribution model should finance use?
First/last touch for core KPIs. Keep more complex models for marketing optimization. Simplicity and repeatability beat precision illusions.
How do we prevent revenue double counting across campaigns?
Tie influence to Opportunities only through Contacts associated as Campaign Members. Use Contact‑level influence counts, not direct Opportunity–Campaign revenue splits.
Can we change models mid‑quarter?
Avoid it. If you must, run both models in parallel for at least one full cycle and annotate executive dashboards with the switchover date.
What about offline events and SDR touches?
Log them as Campaigns with standardized types. Ensure SDR sequences attach to the right Campaign and Contact before associating to Opportunities.
How should we handle multi‑currency in attribution?
Convert amounts in Salesforce and expose the converted numbers to HubSpot. Do not attempt currency math in HubSpot workflows.
More RevOps Playbooks from Bles Software
- Attribution & Pipeline Reporting Setup | Bles Software
- Data Mapping Checklist (Leads/Contacts/Opportunities) | Bles Software
- HubSpot ↔ Salesforce: Cost & Timeline Drivers | Bles Software
- HubSpot ↔ Salesforce Integration: Executive Guide | Bles Software
- HubSpot ↔ QuickBooks Integration Playbook | Bles Software
- Field Governance & Picklists | Bles Software
- Sync Rules: Deduping, Owners, Lifecycle | Bles Software
- Salesforce ↔ NetSuite Integration Playbook | Bles Software
- Daily AI Roundup: AI agent, model and enterprise AI news