What is the right Salesforce custom field strategy for a $50M ARR company that started on Pipedrive � what migrates, what gets rebuilt, what gets left behind?
Salesforce Custom Field Strategy for a $50M ARR Pipedrive Migrant
DIRECT ANSWER BLOCK
At $50M ARR, your Pipedrive-to-Salesforce custom field strategy follows three buckets: migrate core transactional fields that map cleanly (deal value, close date, stage, owner); rebuild anything that was a Pipedrive workaround for missing relational logic; and leave behind the junk fields your team stopped populating in 2022.
---
THE DETAIL
This migration is a schema-translation project, not a CSV upload. Pipedrive organizes everything around a linear pipeline — Organizations, Persons, Deals, Activities — with a flat custom-field layer and no custom objects. That flat model was fine at $5M ARR. At $50M, it's a reporting liability.
Bucket 1: MIGRATE (direct map, data intact)
Export Organizations → Accounts, People → Contacts, Deals → Opportunities, Activities → Tasks/Events. Every field in this category has a clean Salesforce standard-field equivalent. Use Salesforce Data Loader (not the Import Wizard) for anything over 10K records.
Fields that migrate cleanly:
- Deal value / ACV, close date, pipeline stage
- Account name, domain, phone, billing address
- Contact title, email, mobile
- Deal owner (map to Opportunity Owner)
- Won/Lost reason (becomes a picklist on Opportunity)
Bucket 2: REBUILD (don't port the workaround, fix the underlying need)
Pipedrive does not support custom objects. You get custom fields across standard entities, but you cannot create entirely new data categories — so when your business needed to model subscriptions or multi-entity deal structures, Pipedrive forced workarounds.
Rebuild as Salesforce custom objects, not custom fields:
- Subscription / Contract object — linked to Opportunity via master-detail
- Competitor Tracking object — instead of a text field called "Competitor Notes"
- Product/SKU data — use Salesforce Products + Price Books, not a Deal custom field
- Segment / ICP scoring — build a formula field or junction object, not a free-text field your ops team is cleaning manually
- Activities split: Pipedrive Activities are a single object covering calls, meetings, tasks, and deadlines. Salesforce splits these into two separate objects: Tasks and Events. Reclassify during migration, don't just dump everything into Tasks.
Bucket 3: LEAVE BEHIND (archive, don't import)
The most expensive migrations are the ones that migrate everything. Before a single record moves, define what the business is actually trying to achieve — that objective determines what data is essential and what should be archived, purged, or left behind.
Kill these on arrival:
- Fields with >40% null rate (query Pipedrive's API to check populate rates before you touch SFDC)
- Free-text fields used as picklists ("Enterprise", "enterprise", "Ent", "ENT" — all the same value)
- Pipeline stages that no longer exist in your current sales motion
- Any field that existed because Pipedrive couldn't do a proper report join
Pre-Migration Non-Negotiables
Dirty data loaded into Salesforce doesn't stay dirty quietly — it breaks automation rules, produces inaccurate reports, degrades Einstein AI output, and erodes user trust in the CRM within weeks of go-live. Data cleansing means deduplicating records, correcting inconsistent field formats, and standardizing picklist values before they enter the staging environment.
Run a sandbox load first. Migrate a small amount of data to a sandbox environment and monitor the process in real-time to gauge potential challenges.
| Field Category | Action | Salesforce Object |
|---|---|---|
| Deal/Opp core data | Migrate | Opportunity (standard) |
| Account firmographics | Migrate | Account (standard) |
| Contact info | Migrate | Contact (standard) |
| Subscription/renewal data | Rebuild | Custom Object |
| Competitor intel | Rebuild | Custom Object |
| Products/pricing | Rebuild | Products + Price Book |
| Null-heavy / stale fields | Archive | Do not import |
| Free-text "classification" fields | Rebuild as picklist | Opportunity/Account custom field |
---
---