The default install is a sales tool

HubSpot, out of the box, is configured for sales workflows. Contacts come in, get assigned to reps, move through deal stages, and either close or churn. The reporting available by default answers questions like “how many deals are in stage 3” and “what’s our average deal size.”

What it doesn’t answer by default: which marketing channel produced this revenue. To get there, the install needs deliberate configuration on five fronts.

1. UTM capture as a first-class field

Create three custom contact properties: Original Source, Original Medium, Original Campaign. These map to utm_source, utm_medium, and utm_campaign respectively.

Use HubSpot’s Tracking Code or your form plugin to capture UTMs from the browser cookie at the moment of form submit. Stamp them on the contact record. These should never be overwritten by later activity — the original source is what matters for attribution.

Add a second set: Latest Source, Latest Medium, Latest Campaign. These do get overwritten — they capture the most recent marketing touch before a meaningful action.

2. Lifecycle stages mapped to marketing definitions

Don’t use HubSpot’s default lifecycle stages without customisation. Define what each stage actually means for your business:

Without these definitions, your funnel reports are meaningless because everyone interprets the stages differently.

3. Deal pipeline structure that supports reporting

Build deal stages that track the conversation, not arbitrary milestones. Stages should be observable behaviours: “Discovery call booked,” “Discovery call completed,” “Proposal sent,” “Proposal reviewed,” “Contract sent,” “Contract signed.”

Avoid subjective stages like “Negotiating” or “Engaged” — these get used inconsistently and your reporting becomes opinion-based.

4. The attribution view that nobody builds

Build a custom report: closed-won deals, grouped by Original Source, with revenue summed.

This single view answers the question “where does our revenue come from?” If you’ve been running paid ads for 12 months and this report shows that organic search drives 60% of revenue, you have actionable information about where to invest.

Add a second report: closed-won deals, grouped by Latest Source. Compare to the first. The difference between Original and Latest Source reveals your assist channels.

5. Offline conversion sync

The piece most setups skip. When a deal closes in HubSpot, the conversion needs to flow back to Meta and Google as an offline conversion. Without this, the ad platforms optimise to Lead events forever, never knowing which leads became customers.

HubSpot’s native Meta and Google integrations handle this if configured. The setting is usually buried under Marketing > Ads. Enable it, map the events, and verify in Meta Events Manager that offline events are coming through with revenue.

The reporting cadence that actually drives decisions

Monthly: closed-won revenue by Original Source, new opportunities by source, MQL volume by source, sales cycle length by source. Compare against ad spend per source.

The output isn’t a report. It’s a budget reallocation conversation. Channels with low CAC and short cycles get more spend. Channels with high CAC and long cycles either get killed or get rebuilt with stricter qualification.

The maintenance discipline

Attribution setups break. Sales reps create contacts manually, marking the original source as “Direct Sales” and overwriting the real attribution. New form integrations skip UTM capture. Workflow rules accidentally overwrite Original Source fields.

Once a quarter, audit: pull a list of contacts with Original Source = “Direct” or empty, and investigate. Fix the leaks. Re-train the team. The attribution layer requires ongoing care — but the alternative is operating blind.

Leave a Reply

Your email address will not be published. Required fields are marked *