CRM migration

Migrate from Salesforce Marketing Cloud Account Engagement to Freshsales

Field-level mapping, validation, and rollback between Salesforce Marketing Cloud Account Engagement and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.

Salesforce Marketing Cloud Account Engagement logo

Salesforce Marketing Cloud Account Engagement

Source

Freshsales

Destination

Freshsales logo

Compatibility

67%

10 of 15

objects map 1:1 between Salesforce Marketing Cloud Account Engagement and Freshsales.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Salesforce Marketing Cloud Account Engagement to Freshsales is a cross-platform migration that separates two objects which Pardot consolidates into one. Pardot uses a single Prospects object with a lifecycle stage property to track both early-stage and qualified buyers; Freshsales splits these into separate Lead and Contact objects. We compute the split during migration using the customer's lifecycle matrix, preserve Pardot scoring as custom fields on both Lead and Contact, and migrate historical Campaign activity. Engagement Programs and Automation Rules are not migratable because they reference internal Pardot IDs; we document their structure for the customer's admin to rebuild. Forms, Landing Pages, and Email Templates with complex merge fields are also not migratable as functional assets. Multi-Business Unit accounts require manual reconstruction in Freshsales using Teams and shared Products. The migration uses Freshsales REST API endpoints with rate-limit handling and batch chunking on large record sets.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Salesforce Marketing Cloud Account Engagement logo

Salesforce Marketing Cloud Account Engagement

What's pushing teams away

  • Steep learning curve and complex UI require dedicated training or consultant hours before teams can build sophisticated automations without trial-and-error.
  • High total cost of ownership beyond the license fee — agencies, developers, or additional consultants are frequently needed to configure and optimize campaigns at scale.
  • Contact volume limits by tier create billing surprises — teams that outgrow their tier's Prospect cap are forced to upgrade or pay overage fees, and there is no prorated credit for downgrades.
  • Limited flexibility for non-Salesforce CRMs — Account Engagement is architecturally tied to Salesforce, making it a poor fit for teams running HubSpot, Zoho, or Microsoft Dynamics as their CRM of record.
  • The platform's complexity creates slow time-to-value — even straightforward tasks like form creation or list segmentation require navigating multiple menu layers and configuration screens.

Choosing

Freshsales logo

Freshsales

What's pulling them in

  • Lowest barrier to entry among major CRMs — the free tier supports up to 3 users and includes core CRM functionality before committing to per-seat pricing.
  • Built-in chat, email, and phone reduce reliance on third-party integrations for basic sales communication and contact management.
  • Freddy AI contact scoring and deal insights are included on Pro plans at a lower price than comparable HubSpot tiers.
  • Kanban pipeline views across Contacts, Accounts, and Deals provide visual deal management without requiring custom configuration.
  • Integration with the broader Freshworks ecosystem (Freshdesk, Freshchat, Freshservice) reduces tool sprawl for teams already using Freshworks.

Object mapping

How Salesforce Marketing Cloud Account Engagement objects map to Freshsales

Each row shows how a Salesforce Marketing Cloud Account Engagement 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.

Salesforce Marketing Cloud Account Engagement

Prospect

maps to

Freshsales

Lead

1:many
Fully supported

Prospects with lifecycle stages of subscriber, marketing qualified lead, or sales accepted lead map to Freshsales Lead. We apply a computed split rule during migration using the Pardot lifecycle_stage and hs_lead_status properties. The original Pardot lifecycle stage is preserved in a custom field pardot_lifecycle_stage__c on the Lead for audit and segmentation. Any active Pardot owner assignment is resolved to a Freshsales User by email before Lead creation.

Salesforce Marketing Cloud Account Engagement

Prospect

maps to

Freshsales

Contact

1:many
Fully supported

Prospects with lifecycle stages of sales qualified lead, opportunity, customer, evangelist, or other map to Freshsales Contact. The original Pardot lifecycle stage is preserved in a custom field pardot_lifecycle_stage__c on the Contact. Contact is created after the related Account is established so the AccountId lookup is satisfied at insert time.

Salesforce Marketing Cloud Account Engagement

Custom Fields

maps to

Freshsales

Custom Fields

1:1
Mapping required

Pardot Custom Fields migrate as Freshsales custom fields on the Lead and Contact objects. Field type mapping applies: Pardot text, number, date, and picklist fields map to Freshsales equivalent field types. Required field constraints and picklist values are recreated in Freshsales before import. Pardot field labels are preserved as Freshsales field names with spaces retained for readability.

Salesforce Marketing Cloud Account Engagement

Accounts (Salesforce CRM)

maps to

Freshsales

Account

1:1
Fully supported

Pardot Prospects are associated to Accounts via the Salesforce CRM sync, but Account Engagement itself does not have a native Account object. We extract the linked Account name from the Pardot-Salesforce sync data and create Freshsales Account records. If no Salesforce Account is linked, we create the Account from the Prospects company field or use the email domain as a fallback dedupe key.

Salesforce Marketing Cloud Account Engagement

Campaigns

maps to

Freshsales

Deals

1:1
Mapping required

Pardot Campaigns track marketing initiative performance and associate to Prospects. We map Campaign records to Freshsales Deals, with the Campaign name becoming the Deal name and the Campaign budget or cost mapped to the Deal Amount field. Each migrated Deal is linked to the Account and Contact derived from the associated Prospects. Campaign-level Prospect activity history migrates as Deal-related tasks and notes.

Salesforce Marketing Cloud Account Engagement

Scoring Categories

maps to

Freshsales

Fit Score + Engagement Score

lossy
Mapping required

Pardot Scoring Categories with custom weights and category names require manual rebuild in Freshsales. Freshsales Pro+ has native Fit Score and Engagement Score fields on Lead and Contact, but Pardot's custom Scoring Category logic cannot be imported as code. We export the category definitions and weight rules during scoping and deliver a written specification for rebuilding the scoring model in Freshsales scoring rules post-migration. Historical Prospect scores migrate as static custom field values for reference.

Salesforce Marketing Cloud Account Engagement

Custom Objects

maps to

Freshsales

Custom Objects

lossy
Mapping required

Pardot Custom Objects (available on Advanced+ tier) can reference Salesforce objects linked to Prospects. In Freshsales, we recreate the destination schema as Freshsales custom modules with lookup relationships to Contacts and Accounts. Custom object records migrate via the Freshsales REST API. Automation rules on custom objects (which Pardot marks as read-only) do not migrate.

Salesforce Marketing Cloud Account Engagement

Engagement Programs (Automation Rules)

maps to

Freshsales

N/A (documented for rebuild)

1:1
Not supported

Engagement Programs and Automation Rules are not migratable. They reference internal Pardot object IDs that do not exist in Freshsales. We export the full program structure during scoping, including trigger conditions, action sequences, wait steps, and completion actions, and deliver a written inventory for the customer's admin to rebuild as Freshsales workflows or a separate marketing automation tool. This is scoped as a separate rebuild project outside standard migration.

Salesforce Marketing Cloud Account Engagement

Forms

maps to

Freshsales

N/A (manual rebuild required)

1:1
Mapping required

Pardot Forms capture Prospect data and are tied to Landing Pages and Custom Fields. Freshsales CRM has no native form builder equivalent. We export form definitions, field mappings, and handler logic as a written specification. The customer rebuilds forms in a separate form tool (Typeform, HubSpot Forms, or Freshworks Freshdesk forms) and maps field outputs to Freshsales custom fields. Form handler URLs cannot be migrated because they reference internal Pardot IDs.

Salesforce Marketing Cloud Account Engagement

Landing Pages

maps to

Freshsales

N/A (manual rebuild required)

1:1
Mapping required

Pardot Landing Pages are static web assets hosted within or pointing to Account Engagement, tied to internal form IDs. Freshsales CRM has no Landing Page object. We export page content, layouts, and associated form bindings as a written asset inventory. Landing pages are rebuilt in a separate CMS or form tool post-migration. The customer documents URL redirects for any indexed landing pages before decommissioning the Pardot instance.

Salesforce Marketing Cloud Account Engagement

Email Templates

maps to

Freshsales

Email Templates

1:1
Mapping required

Email Template HTML content migrates to Freshsales Email Templates. Merge field syntax requires rewriting: Pardot uses double-brace syntax such as %%first_name%% and Freshsales uses single-brace syntax such as {{contact.first_name}}. We rewrite standard merge fields during template export. Dynamic content blocks with conditional branching logic are flagged for marketer-level review and manual reconstruction rather than automated import.

Salesforce Marketing Cloud Account Engagement

Tags

maps to

Freshsales

Tags

1:1
Fully supported

Pardot Tags used for Prospect segmentation migrate as Freshsales Tags on Contact records. Tags export cleanly via the Pardot API as label-value pairs per Prospect. In Freshsales, Tags are a native segmentation feature available on Contact and Deal objects. Tag assignments migrate as tag membership records against the relevant Contact derived from the Prospect.

Salesforce Marketing Cloud Account Engagement

Lists (Static and Dynamic)

maps to

Freshsales

Contact Groups

1:1
Fully supported

Pardot Static List memberships migrate as Contact records tagged with the corresponding list name. Dynamic Lists with rule-based criteria cannot migrate as active lists because the criteria engine differs between platforms. We export the dynamic list membership snapshot at migration time and deliver a written rule translation for rebuilding the equivalent Contact Group logic in Freshsales.

Salesforce Marketing Cloud Account Engagement

Business Units

maps to

Freshsales

Teams

lossy
Mapping required

Pardot Business Units partition prospects, users, and branding within a single account. Freshsales has no Business Unit equivalent; it supports a single account with Teams for internal segmentation. For multi-Business Unit migrations, we migrate each Business Unit's Prospects as separate scoped imports and deliver a written configuration plan using Freshsales Teams, shared Products, and territory-based Assignment Rules to approximate the original Business Unit structure.

Salesforce Marketing Cloud Account Engagement

Users (Assigned Owners)

maps to

Freshsales

Users

1:1
Fully supported

Pardot Users or Assigned Owners correspond to Freshsales Users responsible for Prospect records. We resolve Pardot user email addresses against the Freshsales User table. Any Pardot Owner without a matching Freshsales User goes to a reconciliation queue for admin provisioning before record import begins. Owner assignments on Prospects migrate as the OwnerId on the resulting Lead or Contact in Freshsales.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Salesforce Marketing Cloud Account Engagement logo

Salesforce Marketing Cloud Account Engagement gotchas

High

Engagement Programs and Automation Rules cannot be exported

High

Prospect contact volume limits enforced per tier

High

Email address is the sole unique identifier for Prospect matching

Medium

Multi-Business Unit accounts require separate migration scoping

Medium

Email Template merge fields use Pardot syntax incompatible with most destinations

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

Pair-specific challenges

  • Pardot lifecycle stage split has no automated default

    Pardot Prospects with a single lifecycle stage property must be split into Freshsales Lead and Contact records. A prospect who is a marketing qualified lead in Pardot should land as a Freshsales Lead; a customer should land as a Contact attached to an Account. We define the split rule during scoping based on the customer's lifecycle matrix, apply it as the first transform during migration, and preserve the original Pardot lifecycle stage in a custom field on both Lead and Contact. Migrations that skip this step end up with orphaned Contacts or Leads that should have been categorised differently, breaking routing and scoring at the destination.

  • Merge field syntax incompatibility between platforms

    Pardot uses double-brace merge field syntax such as %%first_name%%, which differs from Freshsales single-brace syntax such as {{contact.first_name}}. We rewrite standard merge fields as part of template export, but conditional content blocks and dynamic content with branching logic require manual review and reconstruction at the destination. Templates with complex branching are flagged for marketer-level rebuild rather than automated import to avoid broken personalised content in live emails.

  • Engagement Programs and Automation Rules are not exportable

    Pardot Engagement Programs and Automation Rules reference internal Pardot object IDs that do not exist in Freshsales. Salesforce Help explicitly lists these as non-exportable assets. We document the full program structure during scoping, including triggers, conditions, wait steps, and action sequences, and deliver a written rebuild specification. Automation rebuild is scoped as a separate project outside the standard migration because it requires platform-native logic construction that cannot be migrated as data or code.

  • Multi-Business Unit scoping has no Freshsales equivalent

    Pardot Business Units partition prospects, users, and branding within a single account. The Pardot API operates within a single Business Unit scope and cannot cross-query all BUs simultaneously. Freshsales supports a single account with Teams for user segmentation but has no Business Unit object. For multi-Business Unit migrations, we scope each Business Unit as a separate migration project, export Prospects independently per BU, and deliver a written configuration plan using Freshsales Teams, territory-based Assignment Rules, and shared Products to approximate the original structure.

  • No native marketing automation in Freshsales CRM

    Pardot is a dedicated B2B marketing automation platform with Engagement Programs, Automation Rules, Forms, and Landing Pages. Freshsales CRM does not include these marketing automation capabilities in its standard tiers. Engagement Programs, Forms, and Landing Pages cannot migrate as functional assets. We deliver a written asset inventory for each and recommend rebuilding in a dedicated marketing automation tool or implementing Freshsales Pro+ workflow automations as a replacement for simple nurture sequences.

Migration approach

Six steps for a successful Salesforce Marketing Cloud Account Engagement to Freshsales data migration

  1. Discovery and scoping

    We audit the Pardot account across tier (Growth+, Plus+, Advanced+, Premium+), prospect volume, custom fields, Scoring Categories, Campaigns, Custom Objects, Business Units, email templates, and Engagement Program inventory. We assess Freshsales tier requirements against the customer's data model and deliver a written migration scope that includes the Lead-Contact split rule, custom field mapping, Scoring Category rebuild specification, and a list of assets that require manual rebuild post-migration rather than automated migration.

  2. Schema design in Freshsales

    We design the Freshsales schema to receive the Pardot data. This includes recreating all custom fields with type-mapped Freshsales field types on Lead and Contact objects, recreating Scoring Category logic as Freshsales Fit Score and Engagement Score rules, configuring the deal pipeline with stages mapped from Pardot Campaigns, designing the Lead-Contact split rule using the customer's lifecycle stage matrix, and setting up Teams for multi-Business Unit scenarios. Schema is validated in a Freshsales test account before production migration.

  3. Sandbox migration and reconciliation

    We run a full migration into a Freshsales sandbox environment using a representative subset of prospect records. The customer's admin reconciles record counts (Leads in, Contacts in, Accounts in, Deals in), spot-checks field values against the Pardot source, and validates the split logic against 25-50 randomly sampled records. Email template rendering is tested with merge field substitutions. Sign-off on the sandbox reconciliation precedes the production migration date.

  4. Owner reconciliation and User provisioning

    We extract every distinct Pardot Assigned Owner referenced on Prospect records and match by email against the Freshsales User table. Any Owner without a matching Freshsales User is added to a reconciliation queue for the customer's admin to provision before record import begins. OwnerId references are required on Leads, Contacts, and Deals, so provisioning must complete before the production migration phase starts.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Accounts first (from Pardot Salesforce-linked Account names or company field), then Leads and Contacts with the lifecycle stage split applied, then Deals from Pardot Campaigns linked to Accounts and Contacts, then Products and Deal Line Items, then Campaign-related activity history as Freshsales Tasks and notes, then custom field values on Lead and Contact, and finally Tags. Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and rebuild handoff

    We freeze writes to Pardot 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 the Engagement Program, Automation Rule, Form, and Landing Page inventory documents for the customer's admin to rebuild. We support a one-week hypercare window where we resolve any record reconciliation issues raised by the sales team. Automation rebuild is a separate engagement outside standard migration scope.

Platform deep dives

Context on both ends of the pair

Salesforce Marketing Cloud Account Engagement logo

Salesforce Marketing Cloud Account Engagement

Source

Strengths

  • Salesforce-native bidirectional CRM sync keeps Prospect and Contact data aligned without manual export.
  • Einstein AI lead scoring from the Plus tier onwards prioritises high-intent Prospects automatically.
  • Engagement Studio enables visual, multi-step B2B nurture sequences without developer involvement.
  • B2B-specific data model — Grading, Scoring Categories, and multi-touch attribution — reflects complex buying committees.
  • Diverse pricing tiers from Growth through Premium+ serve startups through enterprise marketing teams.

Weaknesses

  • Engagement Programs and Automation Rules are not exportable, requiring full manual rebuild at the destination.
  • Steep learning curve demands ongoing admin investment or agency fees to configure and maintain effectively.
  • Contact volume limits by tier create billing surprises when teams exceed their included Prospect count.
  • Limited value outside the Salesforce ecosystem — poor fit for HubSpot, Zoho, or Microsoft Dynamics CRM environments.
  • Complex UI with multiple navigation layers slows day-to-day tasks for non-technical marketing users.
Freshsales logo

Freshsales

Destination

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Salesforce Marketing Cloud Account Engagement and Freshsales.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    C

    Salesforce Marketing Cloud Account Engagement: Daily API quota varies by Account Engagement edition (tier); resets at start of day in the account's time zone. Maximum 5 concurrent requests per Business Unit. Exceeding the daily limit returns error code 122..

  • Data volume sensitivity

    A

    Salesforce Marketing Cloud Account Engagement exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your Salesforce Marketing Cloud Account Engagement to Freshsales migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Salesforce Marketing Cloud Account Engagement to Freshsales data migrations

Answers to the questions buyers ask most during Salesforce Marketing Cloud Account Engagement to Freshsales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Salesforce Marketing Cloud Account Engagement to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Straightforward migrations under 10,000 Prospects and 2,000 Deals with no custom objects, Scoring Category rebuilds, or multi-Business Unit scoping land between three and five weeks. Migrations with custom Scoring Categories, custom objects, multi-Business Unit accounts, or engagement histories exceeding 200,000 records move to eight to twelve weeks because of scoring recalculation, schema recreation in Freshsales, and batch processing time on large data sets.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Salesforce Marketing Cloud Account Engagement.
Land in Freshsales, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day