Migrating from Pipedrive to HubSpot: What Transfers, What Gets Lost, and How to Close the Data Gap

Migrating from Pipedrive to HubSpot transfers contacts, companies, and deals without loss when custom fields are mapped correctly. The problem is the activity history: after the Pipedrive API change in March 2024, each Activity is linked to exactly one object, whereas a HubSpot Engagement supports associations with multiple entities simultaneously. Without an API-level migration, three years of calls and correspondence will end up “orphaned” in the new system.

If you have already studied the platform differences, our HubSpot vs Pipedrive comparison for B2B teams describes when switching is justified. This article is the next step: what specifically happens to the data and how to transfer it without loss.

A head of sales opens a contact card in HubSpot and sees history only from the migration date. Forty calls, correspondence on a technical brief, internal notes over 18 months - all left in Pipedrive. For enterprise sales with a long cycle this means that when a lead is handed off between reps, context is restored from memory or not restored at all.

Engagement (in HubSpot): an activity object (call, email, meeting, note, task) linked to one or more CRM objects via the Associations API.

Why Companies Move from Pipedrive to HubSpot

Pipedrive is an excellent tool for a team of 5-15 salespeople with a linear pipeline. Three signals that the system has stopped keeping up:

  • Marketing works in a separate tool, and “lead -> deal -> revenue” attribution is assembled manually in Google Sheets
  • The B2B pipeline has grown complex: multiple stakeholders on the client side, approval stages, multi-touch touchpoints
  • A service module is needed - tickets, onboarding, NPS - integrated with the sales history

HubSpot solves all three problems within a single platform. The move is justified. But the data requires careful handling.

The Core Architectural Problem: Activities and Engagements Are Incompatible

This is the key data gap on the Pipedrive -> HubSpot route.

In Pipedrive: an Activity is an activity record (call, task, meeting, email). After the Pipedrive API change in March 2024, each Activity is linked to exactly one object: a deal, a lead, or a project. Not to a contact and a deal simultaneously - to one thing only.

In HubSpot: an Engagement via the Associations API can be linked to multiple contacts, companies, and deals simultaneously. This is why a note on a contact in HubSpot is visible in the associated deal and company.

What happens during a CSV migration: Activities from Pipedrive land in one HubSpot entity or lose their associations entirely. A contact in HubSpot cannot see the activity history from a deal they were associated with in Pipedrive. Data becomes “orphaned.”

A similar problem - on a different migration route - is covered in the article about losing activity history when migrating from Bitrix24 to HubSpot. The same mechanism, but with Bitrix24-specific objects.

An API-level migration solves this: for each Activity from Pipedrive, an Engagement is created in HubSpot with explicit associations - contactId, companyId, dealId - via POST /crm/v3/objects/notes and POST /crm/v4/associations/{fromObjectType}/{fromObjectId}/batch/create.

Pipedrive -> HubSpot Object Mapping Table

Pipedrive ObjectHubSpot ObjectWhat Transfers CleanlyWhat Requires Work
PersonContactName, email, phone, cityCustom fields: 40-char hashes must be mapped to Contact properties
OrganizationCompanyName, website, phoneCustom fields, industry, employee count
DealDealName, amount, statusPipeline stages: manual stage-to-stage mapping; lost reason
ActivityEngagement (Note/Call/Email/Meeting/Task)Type, date, textAssociations: without API all links are lost
LeadContact or Deal-Pipedrive Leads have no direct HubSpot equivalent; conversion strategy must be agreed before migration
ProductProductName, priceProduct lines, discounts, tax codes
FileFile in HubSpot media-No automatic migration; manual upload or scripted via Files API

Custom fields - a mandatory first step. In the Pipedrive CSV export, custom fields are represented by 40-character hash keys (a4b2c3d1e5f6...), not human-readable names. Before import, you need to call GET /v2/deals/fields, map hashes to names, and create equivalent custom properties in HubSpot via the Properties API. Without this step, custom field data is not imported correctly.

Why Standard Tools Leave a Data Gap

HubSpot Import Tool - built-in CSV import. Works for basic objects: contacts, companies, deals. Cannot transfer Activities with associations and does not resolve custom hash fields automatically.

SyncMatters / Trujay - automated migration services. Transfer core objects, but Activities are transferred as simple Notes without multiple associations. After such a migration, a contact in HubSpot cannot see the history of associated deals.

CSV + manual import - suitable only for a “clean start”: new data goes into HubSpot, old data stays in Pipedrive as an archive. If history matters - this path does not work.

Zapier / Make - not designed for one-time migration. Pipedrive API rate limits (100 requests/10 sec) and HubSpot’s will turn the transfer of 10,000 records into a multi-day process with the risk of partial duplication.

Important detail: Pipedrive V1 API shuts down on July 31, 2026. Everything built on /api/v1/ will stop working - including some migration scripts and existing integrations. If you are planning a data transfer from Pipedrive, use V2 API and verify your migration tools for compatibility.

Step-by-Step Process for a Correct Pipedrive to HubSpot Migration

Step 1. Data Audit

Get volumes for each type via Pipedrive V2 API:

GET /api/v2/persons       - contact count
GET /api/v2/organizations - company count
GET /api/v2/deals         - deal count (including archived)
GET /api/v2/activities    - activity count

Define the time horizon: which activities to transfer (last 2 years, 3 years, all?). Typically 2-3 years are transferred; older data is archived or stays in Pipedrive as read-only.

Step 2. Custom Field Mapping

Export the field schema from Pipedrive:

GET /api/v2/deals/fields
GET /api/v2/persons/fields
GET /api/v2/organizations/fields

Build a table: hash -> name -> data type -> HubSpot equivalent. Create custom properties in HubSpot via POST /crm/v3/properties/{objectType} before starting the object import. This is a blocking step - without it data will be lost.

Step 3. Pipeline Stage Mapping

In Pipedrive, stages are your own (First meeting, Proposal sent, Contract negotiation). HubSpot has standard stages (appointmentscheduled, qualifiedtobuy, contractsent, closedwon, closedlost). Each Pipedrive stage needs a HubSpot equivalent assigned. This is manual work - only your team knows what “Proposal sent” means in your process.

Step 4. Test Migration (10% of Data)

Run the migration on a 10% sample. Check:

  • Custom fields are populated correctly (not hashes, but values)
  • Contact-Company-Deal associations are preserved
  • Activities are linked to the correct objects and visible in the Timeline
  • Timestamps are correct (account for the Pipedrive account timezone)

Step 5. Full Migration with Delta Sync

While the full migration is running, Pipedrive continues receiving data. Therefore the process is built in three phases:

  1. Full migration: transferring the entire historical dataset
  2. Delta sync: after the full migration, top up records updated during the transfer period (use the updated_at filter in the Pipedrive API and upsert in HubSpot via POST /crm/v3/objects/{objectType}/batch/upsert with idProperty)
  3. Cutover: the team switches to HubSpot, Pipedrive moves to read-only

Step 6. Post-Migration Verification

Checklist:

  • Spot-check 20-30 deals: contacts are linked, activity history is visible in the Timeline
  • Check closed deals (closedlost) - they must be present for win/loss analysis
  • Check for contact duplicates by email
  • Check file attachments (if a scripted migration via Files API was used)

Common Migration Mistakes

Duplicate contacts. In Pipedrive one person can appear in multiple deals as a separate Person. In HubSpot, deduplication by email is automatic during import. If one email appears in 5 Pipedrive Persons - pre-deduplication is needed, otherwise contacts will merge unpredictably.

Loss of closed deals. Some automated tools only transfer active deals. Historical closed deals are data for win-rate analysis, average deal cycle, and forecasting. They must be transferred explicitly.

Timezone offset in activities. Pipedrive stores time in UTC relative to the account timezone. When transferring activity timestamps, account for the timezone of both systems - otherwise all meetings will be shifted by several hours, breaking the timeline.

Leads vs Contacts/Deals. Pipedrive Leads are a separate entity with no direct HubSpot equivalent. In HubSpot “lead” is a Lifecycle Stage on a Contact, not a separate object. The conversion strategy (Lead -> Contact + Deal, or Contact only) must be agreed with the team before migration starts.

Real Case

In a typical B2B migration project for a team of 20 people with three years of Pipedrive history (approximately 5,000 deals, 15,000 contacts, 80,000 activities):

  • Basic objects (contacts, companies, deals) transfer in 4-6 hours accounting for rate limits
  • Resolving custom fields and creating HubSpot properties: 1-2 days of preparation
  • Activities with multiple associations via batch API (100 records per request): another 1-2 days
  • Total with test migration and verification: 1-2 weeks

A similar task - transferring activity history to HubSpot - is described in detail in the article about migrating from Kommo to HubSpot. The same association problems there, but with Kommo-specific objects: digital pipeline, widgets, tags.

Result: the team sees the full history in HubSpot Timeline from day one. A rep opens a contact card and sees all calls, emails, and notes, including those attached to old deals in Pipedrive.

For Which Companies This Is Relevant

A Pipedrive -> HubSpot move is justified when:

  • Sales team of 15-50 people, and marketing already works (or should work) with the same data
  • B2B pipeline with a long cycle (3+ months) - touch history is critical when handing a deal between reps
  • ServiceHub is needed: tickets, onboarding, NPS, linked to sales history
  • Reporting requires attribution from first click to closed deal

If HubSpot seems excessive but Pipedrive no longer satisfies - see the Pipedrive -> Kommo route: a simpler system focused on messengers and a B2B pipeline for international teams.

Frequently Asked Questions

Can data be migrated from Pipedrive to HubSpot without programming?

The built-in HubSpot Import and automated services (SyncMatters, Trujay) cover basic objects: contacts, companies, deals. Transferring Activities with preserved associations requires API integration. Without it the activity history is either lost or transferred without links to the correct objects: a contact cannot see the history of their deal. This is not a tool limitation - it is an architectural incompatibility between Pipedrive Activities and HubSpot Engagements, which can only be resolved at the API level.

How long does a Pipedrive to HubSpot migration take?

For a team of 10-30 people with 2-3 years of history - 1 to 3 weeks. Custom field and pipeline stage mapping preparation: 3-5 days. Test migration and verification: 2-3 days. Full migration with delta sync: 3-7 days. Timelines depend on the number of custom objects, volume of activities, and how cleanly data is structured in Pipedrive.

What happens to custom fields when migrating from Pipedrive to HubSpot?

In the Pipedrive CSV export, custom fields are represented by 40-character hash keys, not names. Before import you need to use GET /api/v2/deals/fields to get the hash -> name mapping and create corresponding custom properties in HubSpot via the Properties API. Without this step, custom field values are not imported correctly: data is either lost or lands in the wrong fields.

What will happen to Pipedrive integrations after V1 API shuts down on July 31, 2026?

All integrations on Pipedrive API V1 will stop working. This includes custom migration scripts, Zapier/Make integrations (if they use V1 endpoints), and legacy connectors in SyncMatters and similar services. Migration to V2 API is mandatory. If you are planning a Pipedrive data migration - verify your tools for V2 compatibility and start the process before the deadline.

Should Pipedrive be kept after the migration?

The recommended scenario: keep Pipedrive in read-only mode for 3-6 months as an archive. This is insurance for historical data requests that were out of migration scope: file attachments, very old activities, specific custom objects. After 6 months the Pipedrive account is typically closed.


Summary

Migration from Pipedrive to HubSpot is technically possible without data loss when four conditions are met:

  • Resolve custom fields from hash keys before starting import
  • Transfer Activities via API with explicit Contact-Deal-Company associations
  • Plan Lead conversion and pipeline stage mapping before launch
  • Use Pipedrive V2 API - V1 shuts down July 31, 2026

If you are currently planning a move from Pipedrive to HubSpot - describe your data volume and current team stack to the Exceltic.dev team. We will analyze the migration architecture and estimate the timeline.

More articles

All →