RevOps Playbook: Field Mapping, Sync Direction, and Lifecycle Stages (HubSpot ↔ Salesforce)
Field mapping is where integrations live or die. Misaligned fields, ambiguous ownership, or bi‑directional sync without conflict control quickly erode trust. This playbook establishes a crisp, version‑controlled field map across HubSpot and Salesforce, clarifies who owns each field, and codifies lifecycle transitions from Subscriber to Customer. Use it to prevent drift, simplify troubleshooting, and accelerate onboarding for new teammates.
Principles that keep data trustworthy
Data trust is earned through determinism and clarity:
- One owner per field, documented and enforced.
- One‑way sync wherever possible; bi‑directional only with guardrails.
- Enumerations over free text; shared picklists with strong validation.
- Lifecycle transitions with explicit criteria, timestamps, and actor provenance.
Building your field map
Start by inventorying all fields used in reporting, routing, scoring, and compliance. Align names and descriptions across systems and define a contract per field: owner, sync direction, transform, validation, and downstream dependencies.
Minimal viable field dictionary
For Contacts:
- Identity: Email (primary), Secondary Emails, First/Last Name.
- Firmographics: Job Title, Department, Seniority, Country/State, Timezone.
- Consent: Subscription Status, Legal Basis, Source.
- Lifecycle: Lifecycle Stage, Lead Status, MQL/SQL flags, MQL/SQL Dates, Disqualification Reason.
- Ownership: SDR/AE/CSM Owner, Territory, Segment.
For Companies:
- Identity: Company Name, Domain, Website, Parent Account.
- Firmographics: Industry, Employee Range, Revenue Range, HQ Country/State.
- Commercials: ICP Fit, Segment/Tier, Current Product(s), ARR Band.
- Lifecycle: Customer Status, Onboarding Status, Churn Risk.
For Opportunities/Deals:
- Forecast: Stage, Amount, Probability, Close Date.
- Attribution: Primary Campaign, Source, Touchpoints.
- Roles: Opportunity Contact Roles, Buying Committee.
Sync direction and authority
Assign an authoritative system for each field. A practical pattern:
- HubSpot authoritative: Engagement, subscriptions, behavioral scores, first/last touch, form data, UTMs.
- Salesforce authoritative: Account/Opportunity data, ownership, territory, commercial statuses, lead statuses.
- Shared: Person and company identity fields—decide the master and mirror appropriately.
Document decisions in a versioned table and publish the rationale to prevent regressions.
Transformations and validation
Transform at the edges. Normalize casing, strip whitespace, validate emails and domains, and map picklists to shared dictionaries. Where you cannot enforce identical picklists in both systems, convert to canonical values in the integration layer.
Examples
- Country: convert synonyms and two‑letter codes to a canonical name.
- Industry: collapse long tails into a managed taxonomy aligned to reporting.
- Consent: derive “Marketing Eligible” from region + subscription + legal basis.
Lifecycle stages and handoffs
Lifecycle is a shared contract, not a marketing‑only concept. Define the states and promotion criteria both teams trust:
- Subscriber → Lead: explicit opt‑in or form submission with consent captured.
- Lead → MQL: meets ICP fit + intent threshold; bot/role filters applied.
- MQL → SQL: human validation or automated response signals; owner assigned.
- SQL → Opportunity: validated pain + timeframe + authority; opportunity created in Salesforce.
- Opportunity → Customer: closed‑won; onboarding status starts.
Record timestamps for each promotion/regression and the actor (automation, user, or integration). Without timestamps, funnel analytics and SLA monitoring degrade.
Picklists, enums, and shared dictionaries
Picklists protect reporting. Create shared dictionaries for:
- Lead Status (New, Working, Attempted, Nurture, Disqualified).
- Disqualification Reasons (No Budget, No Fit, Timing, Competitor, Role).
- Source/Channel (Paid Search, Paid Social, Organic Search, Direct, Referral, Event).
- Industry and Segment (curated lists only; no free text).
When values must differ between systems, transform them in the integration layer and push back proposed changes during monthly schema reviews.
Bi‑directional sync without chaos
Bi‑directional sync is appropriate when users in both systems must edit a field (e.g., phone numbers). To avoid collisions:
- Track per‑field last‑updated timestamps and user/system actor.
- Use optimistic concurrency: reject mid‑air edits and alert.
- Prefer “hub‑and‑spoke” updates through the integration to preserve audit trails.
Version control and release management
Treat your field map like code. Store it in a repo as JSON/CSV, review with pull requests, and ship changes alongside integration updates. Each release should include a migration script (backfill defaults, transform enums) and a rollback plan. In sandboxes, validate picklist diffs, required field updates, and backfills on representative data.
QA and contract tests
Automate checks that fail fast:
- Required field presence and type.
- Allowed values for picklists and enums.
- Referential integrity for owner/territory lookups.
- Sync latency thresholds for lifecycle fields.
Troubleshooting patterns
When something looks wrong in a report, trace it back through the contract:
- Confirm authoritative system and last writer.
- Inspect raw value in both systems and any transforms in the integration.
- Check picklist dictionaries and recent schema releases.
- Sample adjacent records to detect batch/edge cases.
FAQ
Who should own the field dictionary?
Data stewards in RevOps. They collaborate with GTM owners to approve new fields, enforce naming conventions, and coordinate deprecations.
How often should we update picklists?
Monthly at most. Batch changes behind a release so analytics can accommodate the new values and backfills can be executed deliberately.
What’s the safest way to add a new field?
Create it in the authoritative system first, populate defaults, propagate to the mirror, and only then enable sync and UI exposure. Validate with contract tests in a sandbox before production.
Can we keep free‑text “Other” values?
Yes, but funnel them to a steward queue or data product for curation. Regularly promote the most common Others into your controlled dictionary or remove them.
How do we handle regional privacy differences?
Drive eligibility through derived fields (e.g., Marketing Eligible) that combine consent, region, and purpose restrictions. Make the derived field authoritative in HubSpot and mirror it to Salesforce.
More RevOps Playbooks from Bles Software
- Attribution & Pipeline Reporting Setup | Bles Software
- Field Governance & Picklists | Bles Software
- Data Mapping Checklist (Leads/Contacts/Opportunities) | Bles Software
- Sync Rules: Deduping, Owners, Lifecycle | Bles Software
- HubSpot ↔ QuickBooks Integration Playbook | Bles Software
- Security, Consent, PII Flow | Bles Software
- HubSpot ↔ Salesforce: Cost & Timeline Drivers | Bles Software
- HubSpot ↔ Salesforce Integration: Executive Guide | Bles Software
- Daily AI Roundup: AI agent, model and enterprise AI news