CRM migration
Field-level mapping, validation, and rollback between Click and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Click
Source
Freshsales
Destination
Compatibility
8 of 9
objects map 1:1 between Click and Freshsales.
Complexity
BStandard
Timeline
4-6 weeks
Overview
ClickDimensions is not a standalone CRM — it is a marketing automation layer that sits above Microsoft Dynamics 365 and does not store contacts independently. All base CRM records (Contacts, Accounts, Leads, Opportunities) must be migrated from the underlying Dynamics instance, not from ClickDimensions exports alone. We extract ClickDimensions marketing entities (Email Sends, Event Registrations, Web Tracking Events, Survey Responses) via the API, map them to Freshsales Contacts, Tasks, and custom fields, and resolve parent-record lookups to the migrated CRM records. Custom field writes on ClickDimensions Free Forever plans are capped at 60 uses per workspace, so we check plan tier during scoping and fall back to manual population for overflow records. Freshsales automations, workflows, and sequences do not migrate; we deliver a written inventory for the customer's admin to rebuild post-migration.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Click object lands in Freshsales, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Click
Contact (from Dynamics 365)
Freshsales
Contact
1:1ClickDimensions does not store contacts independently — it extends Microsoft Dynamics 365 contacts with marketing attributes (consent flags, email engagement scores, custom field data). We migrate contacts from the underlying Dynamics 365 instance, not from ClickDimensions directly. The Dynamics contact ID becomes the dedupe key during Freshsales import. Email address is used as the primary match field if a Freshsales contact already exists. ClickDimensions marketing annotations (consent status, engagement scores) map to Freshsales custom fields on the Contact record.
Click
Account (from Dynamics 365)
Freshsales
Organization
1:1Accounts in Dynamics 365 map to Freshsales Organizations. The account name, website, industry, address, and phone fields migrate directly. Freshsales Organization is created before any Contact import so that the organization lookup is satisfied at the moment of Contact insert. The contact-to-account relationship in Dynamics maps to Freshsales Contact-Organization linkage via the organization_id field.
Click
Lead (from Dynamics 365)
Freshsales
Lead
1:1Leads from Dynamics 365 map directly to Freshsales Lead records. Lead status, source, rating, and custom fields migrate. Any ClickDimensions marketing annotations on Dynamics Leads (lead scores, campaign responses) migrate to Freshsales custom Lead fields. We preserve the original Dynamics Lead ID in a reference field for audit and reconciliation purposes.
Click
Email Sends (ClickDimensions)
Freshsales
Contact + Activity Task
1:1ClickDimensions email send records (campaign name, send date, status, recipient count) map to Freshsales Contact records with an associated Activity Task documenting the send. Individual open and click events are mapped to Freshsales custom contact activities where the destination plan supports custom activity types; otherwise they are preserved as notes on the Contact. The parent contact is resolved via the Dynamics contact ID lookup before import.
Click
Event Registrations (ClickDimensions)
Freshsales
Contact + Custom Fields
1:1ClickDimensions event registration records are linked to CRM contacts via the Dynamics contact ID. Registration status, session choices, and custom registration fields map to Freshsales Contact custom fields (event_name__c, registration_status__c, session_choice__c). We extract registration data via the ClickDimensions API, resolve the parent contact, and append event history as structured custom field data on the Freshsales Contact record.
Click
Web Tracking Events (ClickDimensions)
Freshsales
Contact + Activity
1:1ClickDimensions web tracking captures behavioral events (page views, form submissions) tied to known contacts by email address. Known-contact events migrate to Freshsales Contact records as Activity tasks with a descriptive body (page URL, timestamp, event type). Anonymous visitor events are optionally migrated if the customer requests them; otherwise they are logged as a separate data artifact for the admin to handle manually.
Click
Survey Responses (ClickDimensions)
Freshsales
Contact + Custom Fields
1:1Survey responses in ClickDimensions are linked to contacts and include answer data in custom field structures. We extract response records via the API, resolve the parent contact, and map survey questions to Freshsales Contact custom fields. If survey answers exceed a reasonable number of custom fields per contact, we create a Survey_Response__c custom object with a lookup to Contact and store question-answer pairs as field-value records.
Click
Custom Fields (ClickDimensions)
Freshsales
Custom Fields (Freshsales)
lossyClickDimensions custom field definitions on tasks and other entities are mapped to Freshsales Contact custom fields. We check the destination Freshsales plan tier during scoping to confirm custom field availability (all plans support custom fields). ClickDimensions Free Forever plan limits Custom Field writes to 60 uses per workspace — we verify the plan tier and either use the API within the limit or fall back to manual UI-based population for overflow records before migration begins.
Click
Opportunity (from Dynamics 365)
Freshsales
Deal
1:1Dynamics 365 Opportunities map to Freshsales Deals. The opportunity name, amount, close date, stage, and probability migrate. Dynamics opportunity products and line items map to Freshsales Deal Line Items. The deal owner maps from the Dynamics user to a Freshsales User via email match. Any ClickDimensions marketing influence data attached to the opportunity is preserved as custom fields on the Freshsales Deal.
| Click | Freshsales | Compatibility | |
|---|---|---|---|
| Contact (from Dynamics 365) | Contact1:1 | Fully supported | |
| Account (from Dynamics 365) | Organization1:1 | Fully supported | |
| Lead (from Dynamics 365) | Lead1:1 | Fully supported | |
| Email Sends (ClickDimensions) | Contact + Activity Task1:1 | Fully supported | |
| Event Registrations (ClickDimensions) | Contact + Custom Fields1:1 | Fully supported | |
| Web Tracking Events (ClickDimensions) | Contact + Activity1:1 | Fully supported | |
| Survey Responses (ClickDimensions) | Contact + Custom Fields1:1 | Fully supported | |
| Custom Fields (ClickDimensions) | Custom Fields (Freshsales)lossy | Fully supported | |
| Opportunity (from Dynamics 365) | Deal1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Click gotchas
Custom Field write limit on Free Forever plans
ClickDimensions does not store contacts independently
Export and Import tools move Click records between Dynamics environments
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Discovery and source Dynamics authentication
We audit the source Microsoft Dynamics 365 instance to identify the CRM records (Contacts, Accounts, Leads, Opportunities) that ClickDimensions extends. We authenticate against Dynamics via the Web API, enumerate the ClickDimensions entities (email sends, event registrations, web tracking events, survey responses), and check the ClickDimensions plan tier to confirm API access and custom field write limits. The discovery output is a written migration scope listing record counts per entity, any plan-tier constraints, and a recommendation on which ClickDimensions marketing entities to include in the migration.
Freshsales schema provisioning
We create the destination schema in Freshsales before any data moves. This includes provisioning custom fields on Contact and Lead to receive ClickDimensions marketing annotations (consent flags, engagement scores, event history), creating any custom objects needed for survey response data, and configuring Freshsales User records to match the source Dynamics users. The Freshsales plan tier is confirmed during setup to ensure custom field limits are not a constraint during migration.
CRM record migration in dependency order
We migrate base CRM records from Dynamics 365 to Freshsales in dependency order: Organizations (from Dynamics Accounts), then Contacts (with OrganizationId resolved), then Leads (with OwnerId resolved), then Deals (with ContactId and OwnerId resolved). Each phase emits a row-count reconciliation report before the next phase begins. Dynamics internal IDs are preserved in Freshsales custom reference fields for audit and parent-record lookup during the subsequent ClickDimensions activity migration.
ClickDimensions marketing entity extraction
We extract ClickDimensions marketing entities via the REST API: email sends, event registrations, web tracking events, and survey responses. Each entity is filtered to records linked to the migrated CRM records (by Dynamics contact ID). We resolve the Dynamics contact ID to the corresponding Freshsales Contact ID using the mapping created during CRM migration, then stage the activity records for import into Freshsales.
Activity migration with parent-record resolution
We import ClickDimensions marketing activity into Freshsales as Contact Activities and custom field values. The parent Contact is resolved using the Dynamics-to-Freshsales ID mapping before each record insert. Email sends become Activity Tasks with descriptive body content; event registrations and survey responses become custom field values on the Contact record; web tracking events become Activity Tasks with page URL and timestamp. We run validation on a sample set before committing the full batch.
Cutover, validation, and automation handoff
We freeze writes to the source Dynamics instance during cutover, run a final delta migration of any records modified during the migration window, then enable Freshsales as the system of record. We deliver a written inventory of ClickDimensions automations and workflows requiring rebuild in Freshsales, noting that Freshsales automations and sequences do not migrate as code. We support a brief post-migration review window to resolve any data quality issues raised by the customer's team.
Platform deep dives
Click
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Click and Freshsales.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Click: Inherits Microsoft Dataverse and Power Platform service-protection limits (per-user request quotas published by Microsoft). The vendor does not publish Click-specific limits beyond those..
Data volume sensitivity
Click exposes a bulk API — large-volume migrations stream efficiently.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Click to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Click to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Click
Other ways to arrive at Freshsales
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.