HubSpot ships without a partner attribution module. The pieces are all there: deal properties, UTM capture, workflows, reporting. You assemble them yourself, and where you assemble them wrong is where the partner number stops surviving a finance review.

This is the build, layer by layer, followed by the two places the native model gives out: multiple partners on one deal, and attribution at the level of the individual partner rep. For the argument behind why these definitions matter more than the tooling, see the pillar: partner attribution is an operating-model decision, not a reporting task.

Part 1: HubSpot referral attribution

Partner attribution in HubSpot is assembled from four layers: deal properties (primary tracking), contact properties (UTM capture), workflows (propagation logic), and report builder (revenue reporting). There is no single "partner module" to activate. Each layer is configured deliberately.

The approach differs based on whether you are tracking inbound referrals (a partner sends a contact to you), co-sell assists (a partner is active inside a deal already in pipeline), or both.

Step 1: Deal properties

Go to Settings > Properties > Deal Properties and create the following custom fields:

Property Type Notes
Referring Partner Dropdown or single-line text Use dropdown if the partner list is fixed and known
Partner Source Type Dropdown Options: Referral, Co-sell, Influenced, Reseller
Partner Deal Registration Date Date For programs with formal deal registration
Attribution Confirmed Checkbox Manual sign-off step before reporting

Configuration note. Set Referring Partner and Partner Source Type as required fields on the deal creation form, at the pipeline stage where partner deals enter. Required fields enforced at stage entry are the most effective way to prevent blank attribution records accumulating over time.

Step 2: Pipeline structure

If partner-sourced deals follow a different qualification or approval path (deal registration review, co-sell approval), create a dedicated pipeline under Settings > Deals > Pipelines. This produces clean pipeline reporting by source without relying on saved filters, and keeps partner deals from mixing with direct inbound in forecast views.

If deal volume does not yet justify a separate pipeline, set a required Lead Source property to "Partner Referral" and segment using list filters. This is the right starting point for programs with fewer than 20 active partners.

Step 3: UTM tracking for digital referrals

For partners who send traffic to your website, generate unique UTM links per partner using this structure:

Parameter Value
utm_source partner
utm_medium referral
utm_campaign [partner-name]

HubSpot captures UTM parameters on contact records automatically when a form is submitted or a tracking cookie is set. Map utm_campaign to a persistent contact property ("Referring Partner") on first conversion using a contact-based workflow.

Known limitation. UTM data is contact-level, not deal-level. A workflow is required to copy the value from the contact record to the associated deal. See Step 4.

Step 4: Propagation workflow

Create a deal-based workflow to move attribution data from contact to deal:

  • Trigger: Deal is created and the associated contact has the "Referring Partner" contact property populated.
  • Action: Copy the contact property value to the deal property "Referring Partner".

This is the bridge between UTM capture (which lives on the contact) and revenue reporting (which lives on the deal). Without this workflow, UTM attribution is invisible in deal-level reports.

Step 5: Reporting on partner-attributed revenue

In Report Builder, configure a deal-based report as follows:

  • Data source: Deals
  • Filter: Referring Partner is known, or Referring Partner equals [partner name]
  • Metrics: Deal Amount, Deal Count, Close Date, Pipeline Stage

Save these to a Partner Attribution Dashboard and share it with the partner team on a monthly cadence.

Scope note. HubSpot's built-in Attribution Reports (Marketing Hub Professional and above) are designed for ad and content attribution. They do not cover deal-level partner attribution. Do not use them for partner revenue tracking.

Common gaps to avoid

  1. Not distinguishing sourced from influenced. A partner who introduced the deal is different from one who supported a deal already in pipeline. Both are valuable, but combining them makes the metric untrustworthy. Capture both Partner Source Type values and report them separately.
  2. Manual entry without field enforcement. Required properties at stage entry are the most reliable enforcement mechanism. Relying on training and goodwill produces inconsistent data within one quarter.
  3. Losing UTM data on return visits. UTM parameters are not set on a contact's second visit if they arrive without them. The contact property capturing the first-touch value must be set to "never overwrite" to preserve the original referral source.
  4. Counting influenced deals as sourced. This inflates partner revenue figures and erodes trust with Finance and the CRO. Define attribution rules in writing before building reports, and have RevOps agree them before they go into any leadership deck.

Minimum viable configuration

For teams starting from scratch, this is sufficient for programs with fewer than 20 active partners and takes one day to implement:

  1. Add "Referring Partner" as a required deal property (dropdown).
  2. Add "Partner Source Type" as a required deal property (dropdown: Referral, Co-sell, Influenced).
  3. Train the team to populate both at deal creation.
  4. Build one custom report filtering closed-won deals by Referring Partner.
  5. Review against total closed-won ARR monthly.

This needs no integrations or workflows. It needs process discipline. Introduce UTMs and workflow propagation in the next phase, once the attribution data is clean.

Part 2: Multi-partner attribution

HubSpot's default property model assumes one partner per deal. When several partners are involved, you build the data model deliberately. Three options, in rising order of complexity.

The problem

A single deal can involve more than one partner. A referral partner opens the door. A solutions partner runs implementation scoping. A technology partner's integration is the reason the prospect evaluated you at all. Each contributed something. The question is how to record it without either losing the data or making reporting unusable.

HubSpot has no native multi-partner attribution. The three options below differ in complexity, reporting quality, and the HubSpot tier required.

Option 1: Sequential deal properties

Add a fixed set of partner attribution property pairs to the deal object:

Property Type
Partner 1 Name Dropdown
Partner 1 Attribution Type Dropdown: Sourced / Influenced / Technical / Delivery
Partner 2 Name Dropdown
Partner 2 Attribution Type Dropdown: Sourced / Influenced / Technical / Delivery
Partner 3 Name Dropdown
Partner 3 Attribution Type Dropdown: Sourced / Influenced / Technical / Delivery

Limitation. Reporting on "all deals where [Partner X] appears in any attribution slot" requires filtering across three properties with OR logic. It is buildable in HubSpot's report builder but must be replicated by hand for each partner. It does not scale cleanly beyond three partners or 15 active partners.

Option 2: Partner Attribution custom object (Enterprise)

HubSpot Sales Hub Enterprise supports custom objects. Create a Partner Attribution custom object with these fields:

  • Associated Deal (lookup)
  • Partner Name (dropdown)
  • Attribution Type (dropdown: Sourced / Influenced / Technical / Delivery)
  • Attribution Weight % (number, 0 to 100), optional, for programs that split credit

Each deal can have multiple Partner Attribution records associated to it, one per partner involved. This is the cleanest data model: reporting by partner is accurate regardless of which slot the partner occupied, with no arbitrary three-partner cap.

Requirement: HubSpot Sales Hub Enterprise. Custom objects are not available on lower tiers.

Option 3: PRM-managed attribution

Most mature PRMs handle multi-partner attribution natively and integrate with HubSpot via API or native connector. If you have a PRM in place, use it as the system of record for multi-partner attribution and sync a summary field to HubSpot for visibility.

Sync a "Partner Attribution Summary" text field from the PRM to HubSpot deals. This keeps attribution logic in the PRM where it belongs and gives CRM users a readable summary without duplicating the data model.

Attribution weight logic

If the program pays or credits partners based on deal contribution, define the weight model before the properties are built. The properties you create should match the model exactly, so data capture and downstream calculations are aligned from day one.

Model Description Best for
First touch 100% credit to the partner who originated the deal Referral-first programs
Last touch 100% credit to the partner most active before close Co-sell programs
Equal split Divide credit equally across all attributed partners Simple programs, early stage
Role-based Fixed % by role, e.g. referral 40%, delivery 40%, technology 20% Mature programs with defined partner types

Pre-build requirement. Define the weight model in writing and get Finance and the CRO to acknowledge it before building any properties. Changing the model after data is collected requires either a backfill or an acknowledged break in the time series. Neither is easy to explain in a QBR.

Part 3: Partner rep attribution

Beyond which partner organization is credited, rep-level attribution records the specific individual who worked the deal. This matters for QBRs, partner incentive reviews, and commission calculations.

What rep-level tracking captures

Partner attribution usually stops at the company level: "Acme Systems sourced this deal." Rep-level attribution goes one layer deeper: "Jordan at Acme Systems registered and progressed this deal." The distinction matters when:

  • Running partner rep leaderboards or incentive programs
  • Preparing QBR scorecards for specific partner accounts
  • Calculating commission or spiff payouts for individual partner reps
  • Diagnosing which reps at a partner are actively selling versus dormant

Step 1: Create partner contact records

Partners are companies in HubSpot. Partner reps are contacts associated to those companies. Set this up as follows:

  1. Create or import partner company records under Companies. Tag each with a property: Company Type = Partner.
  2. Create contact records for each partner rep. Associate each contact to their partner company record.
  3. Add a contact property: Contact Type = Partner Rep. This enables filtering contacts by role in reports without relying on manual naming conventions.

Step 2: Associate the partner rep to the deal

HubSpot allows multiple contacts to be associated to a single deal. When creating or updating a partner-attributed deal, associate the partner rep contact alongside the end-customer contacts.

Add these custom deal properties to make the association explicit and reportable without relying on contact association queries:

Property Type Trade-off
Partner Rep Name Single-line text or Contact lookup Lookup is cleaner for reporting; text is faster to implement
Partner Rep Email Email Use as a unique identifier for grouping in reports
Partner Company Company association or dropdown Association is cleaner; dropdown if the company list is stable

Implementation note. The contact lookup approach ties the rep to their actual HubSpot contact record, which enables richer cross-object reporting. The text field approach is faster to implement and sufficient if the only requirement is grouping closed-won revenue by rep name in a single report.

Step 3: Report on partner rep performance

In Report Builder, configure a combined Deals + Contacts report:

  • Data source: Deals + Contacts (combined)
  • Filter: Contact Type equals Partner Rep
  • Group by: Partner Rep Name or Partner Rep Email
  • Metrics: Deal count, closed-won amount, average deal size, pipeline stage breakdown

This produces a per-rep performance view that can feed directly into QBR decks or partner incentive review cycles.

If you use a PRM

PRMs maintain their own partner rep profiles and deal registration records. Rep attribution is tracked inside the PRM and typically synced to HubSpot as a text field on the deal (partner rep name or email). This is sufficient for CRM-level reporting and deal visibility.

If you need rep-level commission calculation, that calculation stays in the PRM or a dedicated incentive tool. HubSpot does not calculate or track partner rep commissions natively.

Minimum viable configuration

Rep-level attribution without a PRM, built in one afternoon:

  1. Import partner reps as contacts in HubSpot with Contact Type = Partner Rep. Associate each to their partner company.
  2. Associate each partner-attributed deal to the relevant partner rep contact at deal creation or registration.
  3. Add Partner Rep Email as a required deal property in the partner pipeline.
  4. Build a deal report grouped by Partner Rep Email showing closed-won revenue and deal count.

This gives rep-level visibility without any integration and without a PRM. It requires one manual step per deal (associating the rep contact) but is fully auditable and sufficient for programs with fewer than 50 active partner reps.


The tooling here is the easy part. What makes the number hold up is the layer above it: the definitions agreed before the properties exist, the fields enforced at stage entry, and the weight model.