Campaigns, UTMs, and Attribution: Building a Reliable HubSpot–Salesforce Reporting Pipeline

Published by Bles Software, a custom software and AI company based in Yehud-Monoson, Israel, building web apps, AI agents and API integrations for clients in Israel, the US, the UK and the EU.

Attribution is only as good as the definitions, governance, and sync policies behind it. This playbook shows how to design a campaigns and UTMs pipeline that aligns HubSpot and Salesforce, so Marketing can prove impact without reconciling every board meeting and Sales can trust the source data that shows up on opportunities.

What We Mean by "Reliable"

Reliability isn’t perfection—it’s reproducibility. If you rerun your pipeline with the same inputs, you get the same outputs: first‑touch and last‑touch assignments, sourced vs. influenced pipeline, and campaign performance. The workflow today should still make sense three quarters from now.

Attribution Scope and Definitions

Lock definitions first. Every downstream decision depends on them.

Document these in a one‑page glossary and link it in field descriptions.

UTM Hygiene and Standardization

UTMs drive your classification logic. Bad UTMs infect everything.

Campaign Ownership and Mirror Strategy

Decide where campaigns live.

Pick one and write a mirror policy that names owner fields, read‑only mirrors, and update cadence.

Touchpoint Modeling

Store touchpoints as normalized events with dimensions you can sum and filter.

From UTMs to Source Enums

Introduce a simple classification layer between raw UTMs and reports.

Contact and Opportunity Attribution

Contacts

Opportunities

Sync Policy Across Systems

Governance and Change Safety

Attribution breaks when naming and value sets drift.

Reporting Blueprints

Operational Dashboards

Executive Board View

QA and Reconciliation

Set weekly reconciliation so small issues don’t pile up.

Warehouse Optionality

For mature teams, push touchpoints to a warehouse (Snowflake/BigQuery/Redshift) and compute multitouch models offline. Keep CRM‑level metrics as the official system for day‑to‑day GTM, with warehousing used for analysis and forecasting.

Common Pitfalls

Implementation Steps (Practical)

  1. Glossary: Publish definitions and link within field descriptions.
  2. UTM Catalog: Ship a link builder with enforced values.
  3. Source Enums: Normalize at capture; mirror to Salesforce.
  4. Campaign Mirror: Decide ownership, map fields, schedule syncs.
  5. Opp Rules: Primary campaign assignment policy tied to contact creation/conversion.
  6. QA Loop: Weekly reconciliations and drift alerts.

FAQ

Should we store raw UTMs in Salesforce?

Store raw UTMs in HubSpot and mirror normalized source enums plus campaign IDs to Salesforce. Raw fields in Salesforce tend to fragment quickly and add little value.

How do we decide primary campaign on an opp with multiple engaged contacts?

Pick a deterministic approach: use the contact that triggered opp creation or the earliest qualified last‑touch in the buying group. Document and apply consistently.

Can we trust HubSpot’s native attribution for board‑level reporting?

Yes, if you standardize inputs and lock definitions. For multitouch, supplement with a warehouse model and reconcile totals to CRM pipeline.

When is it safe to change campaign naming conventions?

Version conventions in a new catalog, run dual‑write translations for a period, then migrate historical records with scripts and freeze uncontrolled changes during the window.

More RevOps Playbooks from Bles Software