CRM migration

Migrate from Salesforce Marketing Cloud Account Engagement to Salesforce Sales Cloud

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

Salesforce Marketing Cloud Account Engagement logo

Salesforce Marketing Cloud Account Engagement

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

62%

8 of 13

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

Complexity

BStandard

Timeline

4-6 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Salesforce Marketing Cloud Account Engagement into Salesforce is a lateral consolidation within the same vendor family. Account Engagement stores Prospects, Custom Fields, Scoring Categories, and engagement data that all map to standard Salesforce objects, but the architectural differences between a marketing automation layer and a CRM layer create mapping decisions that must be resolved before any record moves. Prospects with lifecycle data must split into either Salesforce Lead or Contact depending on their stage and existing CRM associations. Engagement Studio programs and Automation Rules reference internal Pardot object IDs that do not exist in Salesforce and cannot be imported; we document every program structure and deliver a rebuild handoff. We use the Salesforce Bulk API 2.0 with batch chunking and exponential backoff for engagement history because CSV loaders cannot handle the volume. Merge fields in exported Email Templates use Pardot double-brace syntax (%%first_name%%) which requires rewriting to Salesforce merge syntax ({{!Contact.FirstName}}) before import. Lists, Tags, and Custom Field definitions migrate cleanly; Dynamic Lists, Forms, and Landing Pages require rebuild at the destination. We do not migrate Workflows, Sequences, Automations, or Forms as code; these are delivered as a written inventory for your admin to rebuild.

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

Salesforce Sales Cloud logo

Salesforce Sales Cloud

What's pulling them in

  • The AppExchange marketplace with 5,000+ prebuilt apps gives enterprises integrations for nearly every business workflow without custom development.
  • Native Einstein AI for lead scoring, opportunity insights, and predictive forecasting adds intelligence without a separate platform purchase.
  • Territory management, multi-currency support, and advanced forecasting satisfy the needs of complex B2B sales organizations with structured revenue teams.
  • Slack, Tableau, and CPQ are deeply integrated into the core platform, keeping the sales stack unified for teams already in the Salesforce ecosystem.
  • Organizations with a large, established Salesforce implementation choose it because switching costs — integrations, custom code, trained admins — are prohibitive.

Object mapping

How Salesforce Marketing Cloud Account Engagement objects map to Salesforce Sales Cloud

Each row shows how a Salesforce Marketing Cloud Account Engagement object lands in Salesforce Sales Cloud, 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

Salesforce Sales Cloud

Lead or Contact (split required)

1:many
Fully supported

Account Engagement Prospects map to either Salesforce Lead or Contact depending on their lifecycle stage and existing CRM associations. Prospects with no linked Salesforce Contact or Account become Salesforce Leads. Prospects with an existing Salesforce Contact (synced via Pardot-Salesforce Connector) map directly to that Contact record. Prospects that already have a linked Account and Opportunity become Salesforce Contacts attached to the matched Account. We preserve the original Pardot Prospect ID in a custom field pardot_prospect_id__c on both Lead and Contact for audit and reconciliation. Opted-out status migrates to HasOptedOutOfEmail on the Salesforce record.

Salesforce Marketing Cloud Account Engagement

Custom Field

maps to

Salesforce Sales Cloud

Custom Field (__c)

1:1
Fully supported

Pardot Custom Fields are first-class objects in the v5 API with full CRUD support. We export all field definitions (label, API name, type, associated tags) and their values per Prospect record, then pre-create equivalent Salesforce Custom Fields in the destination org before importing any Prospect data. Field type mapping is direct for text, number, date, and picklist fields. Multi-select picklist fields from Pardot map to Salesforce multi-select picklists. Custom field dependencies on Pardot Forms and Landing Pages are noted and flagged for rebuild.

Salesforce Marketing Cloud Account Engagement

Scoring Category

maps to

Salesforce Sales Cloud

Custom Field + Assignment Rules

lossy
Fully supported

Account Engagement Scoring Categories define named buckets (behavioural score vs. demographic score) with weight rules per category. We export category definitions and score values per Prospect. Scoring logic does not recalculate automatically in Salesforce because Pardot scoring rules do not migrate as automation logic. We store the imported score values in custom fields (behavioural_score__c, demographic_score__c) on Lead and Contact, and recommend rebuilding scoring logic as Salesforce Flow criteria or Lightning Flow BPA post-migration.

Salesforce Marketing Cloud Account Engagement

Tag

maps to

Salesforce Sales Cloud

Multi-Select Picklist or Campaign

1:many
Fully supported

Pardot Tags are used for Prospect segmentation and attach to Custom Fields and Prospects via the API. We export tag definitions and their assignments per Prospect. Tags migrate to Salesforce either as a multi-select picklist field on Lead and Contact (recommended for fewer than 150 unique tags) or as Campaign Membership records linked to a tag-equivalent Salesforce Campaign. The customer selects the strategy during scoping.

Salesforce Marketing Cloud Account Engagement

Static List

maps to

Salesforce Sales Cloud

Campaign (Static)

1:1
Fully supported

Pardot Static Lists segment Prospects for targeted campaigns. We export list memberships as Prospect records per list and create corresponding Salesforce Campaigns with Campaign Members populated from the Prospect-to-Contact mapping. Each Campaign preserves the original Pardot list name and creation date. Campaign Member Status values are mapped from Pardot list subscription status.

Salesforce Marketing Cloud Account Engagement

Dynamic List

maps to

Salesforce Sales Cloud

Campaign (Recipients need manual re-population)

lossy
Fully supported

Pardot Dynamic Lists are rule-based segments that evaluate Prospect records at send time. These rules are not exportable because they reference internal Pardot IDs and evaluation logic that does not exist in Salesforce. We document every Dynamic List definition (rule criteria, operators, field references) in a written inventory. Salesforce Campaigns with equivalent audience logic must be rebuilt using Salesforce Reports or Flow criteria.

Salesforce Marketing Cloud Account Engagement

Email Template

maps to

Salesforce Sales Cloud

Email Template

1:1
Fully supported

Pardot Email Templates contain HTML content, dynamic content blocks, and merge fields in Pardot syntax (%%first_name%%). We export template HTML and metadata. Merge field syntax is rewritten from Pardot double-brace format to Salesforce merge syntax ({{!Contact.FirstName}}) during the export transform. Dynamic content blocks with conditional branching require manual review and reconstruction in Salesforce Content Builder because the conditional logic structure differs from Pardot dynamic content.

Salesforce Marketing Cloud Account Engagement

Campaign

maps to

Salesforce Sales Cloud

Campaign + Campaign Member

1:1
Fully supported

Account Engagement Campaigns track marketing initiative performance and link to Salesforce Campaigns via the Pardot-Salesforce Connector. We export Campaign metadata and Prospect-level activity data (opens, clicks, form submissions) per Campaign. Campaign influence data migrates as Campaign Member records with custom fields for engagement metrics (email_opens__c, email_clicks__c, form_submissions__c). Pardot Campaign IDs stored on Prospect records are preserved in a custom field pardot_campaign_id__c.

Salesforce Marketing Cloud Account Engagement

User / Assigned User / Owner

maps to

Salesforce Sales Cloud

User

1:1
Fully supported

Pardot Users (Assigned Users / Owners) correspond to Salesforce Users who are responsible for Prospect records. We map Pardot user_id to Salesforce user_id by email match during the migration. Any Pardot User without a matching Salesforce User goes to a reconciliation queue for the customer's admin to provision before record import resumes. Active/inactive status is preserved in a custom field pardot_user_active__c.

Salesforce Marketing Cloud Account Engagement

Engagement History (Visitor Activity)

maps to

Salesforce Sales Cloud

Campaign Member + Task + Custom Activity Fields

1:1
Fully supported

Pardot Visitor Activities track Prospect interactions (email opens, email clicks, form submissions, page views) as historical engagement data. This activity history cannot be imported as native Salesforce objects because Salesforce's activity model (Task, Event) is not structured to receive third-party engagement data at scale. We store engagement metrics as custom fields on Campaign Member (last_email_open_date__c, last_email_click_date__c, total_form_submissions__c, total_page_views__c) and as Activity records (Task with type=Email) for significant engagement milestones. Bulk API 2.0 chunking handles volumes over 500,000 activity records.

Salesforce Marketing Cloud Account Engagement

Form

maps to

Salesforce Sales Cloud

Web-to-Lead or Experience Cloud Form (rebuild required)

1:1
Fully supported

Pardot Forms capture Prospect data and are tied to Landing Pages and Custom Fields. We export form definitions and field mappings. Form IDs and handler URLs are internal to Account Engagement and must be re-created at the destination. We document every form's field structure, submission logic, and Custom Field mapping as a written specification for the customer's admin or web team to rebuild using Salesforce Web-to-Lead, Experience Cloud forms, or Marketing Cloud Engagement forms.

Salesforce Marketing Cloud Account Engagement

Landing Page

maps to

Salesforce Sales Cloud

Experience Cloud Site or External Hosting (rebuild required)

1:1
Fully supported

Pardot Landing Pages are static web assets hosted within or pointing to Account Engagement. We export page content, layouts, and associated form bindings. Because Landing Pages reference internal Pardot form IDs and tracking domains, they cannot be imported as functional pages in Salesforce. We deliver a written asset inventory with page structure, associated forms, and form field mappings so that the customer's marketing team can rebuild using Experience Cloud, a CMS, or their web agency.

Salesforce Marketing Cloud Account Engagement

Business Unit

maps to

Salesforce Sales Cloud

Org + Record Types / Sharing Rules

lossy
Fully supported

Account Engagement Business Units partition Prospect records, Users, and branding within a single Account Engagement account. The Pardot v5 API operates within a single Business Unit scope — there is no endpoint to cross-query all BUs simultaneously. We scope each Business Unit as a separate migration project, export its Prospect records independently, and configure Business Unit-level settings (sender profiles, tracking domains, IP warm-up pools) manually at the destination or as a separate configuration engagement. Sender profiles and tracking domains must be re-created in Salesforce Authentication Settings and Marketing Cloud (if applicable) post-migration.

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

Salesforce Sales Cloud logo

Salesforce Sales Cloud gotchas

High

Workflow Rules and Process Builder are retired

High

Bulk API batch quota exhaustion during large imports

Medium

Storage overage billing is non-obvious

Medium

Account-Contact many-to-many relationship mapping

Low

Territory and team member import ordering dependencies

Pair-specific challenges

  • Engagement Studio and Automation Rules cannot be migrated

    Account Engagement Engagement Studio programs and Automation Rules reference internal Pardot object IDs that do not exist in Salesforce. Attempting to import them produces orphaned references and broken workflows. We document every active program during scoping — including trigger conditions, step sequences, wait actions, and CRM update actions — in a written rebuild handoff document. The customer's admin or a Salesforce implementation partner rebuilds Engagement Studio logic in Salesforce Flow post-migration. This is a manual rebuild; we do not migrate automation rules as code in a standard migration scope.

  • Prospect contact volume limits enforced per tier create billing exposure

    Account Engagement pricing tiers enforce Prospect volume caps (Growth+ at 10,000, Plus+ at 10,000, Advanced+ higher, Premium+ at 75,000). Teams approaching or exceeding these limits face overage billing or suspended automations. We audit the full Prospect count during scoping, flag whether the current tier's limit accommodates the migration volume, and identify records eligible for archive or suppression to reduce the active Prospect count before migration. Unresolved volume overages after migration can trigger surprise billing on the Account Engagement side if the platform is retained for any parallel use.

  • Email address is the sole unique identifier for Prospect matching

    Pardot uses email address as the primary key for Prospect identity and deduplication. There is no stable external ID equivalent. When migrating Prospects that have been synced bidirectionally with Salesforce Contacts, we use a three-pass matching strategy: exact email match, normalized email match (stripped of case and punctuation), then flagged for manual resolution. Prospects with duplicate email addresses across Pardot Business Units will merge on import unless explicitly prevented by the dedupe rule configuration.

  • Pardot merge field syntax requires full rewrite before Salesforce import

    Account Engagement Email Templates use Pardot double-brace merge field syntax (%%first_name%%, %%email%%). Salesforce CRM merge field syntax differs (%%first_name%% is invalid in Salesforce; the correct form is {{!Contact.FirstName}} or {!Lead.FirstName}). We rewrite merge field syntax during the template export transform, but dynamic content blocks and conditional logic require manual review and reconstruction. Templates with complex branching are flagged for marketer-level rebuild rather than automated import.

  • Multi-Business Unit accounts require separate migration scoping per BU

    The Pardot v5 API operates within a single Business Unit scope — there is no endpoint to query all Business Units simultaneously. We scope each Business Unit as a separate migration project, export its Prospect records independently, and configure Business Unit-level settings (sender profiles, tracking domains, IP warm-up pools) manually at the destination. Teams managing more than three Business Units face additional coordination overhead during migration because each BU's export is sequential rather than parallel.

Migration approach

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

  1. Discovery and scoping

    We audit the source Account Engagement instance across all Business Units, pricing tier, Prospect volume, Custom Field definitions, Scoring Categories, active Engagement Studio programs, Automation Rules, form definitions, Landing Page assets, and engagement history volume. We pair this with a review of the destination Salesforce org: existing Lead and Contact record types, Account structure, Opportunity pipelines, custom field schemas, and Sharing Rules. The discovery output is a written migration scope document that includes the Business Unit enumeration, Prospect-to-Lead-Contact split rule, Custom Field mapping table, and a list of every asset that will migrate versus rebuild.

  2. Schema design and Salesforce custom field provisioning

    We pre-create all Salesforce Custom Fields required for the migration before any data import. This includes pardot_prospect_id__c (text) on Lead and Contact, behavioural_score__c and demographic_score__c (number) on Lead and Contact, hs_original_lifecycle__c (text) for audit trail, and any custom fields derived from Pardot Scoring Categories and Tags. We also configure Record Types, Page Layouts, and Sales Processes in the destination org. Schema is deployed into a Salesforce Sandbox first for validation before production migration begins.

  3. Sandbox migration and reconciliation

    We run a full migration into a Salesforce Sandbox using production-equivalent data volume. The customer's Salesforce admin and marketing lead review record counts (Prospects in, Leads out, Contacts out, Accounts in, Campaign Members in), spot-check 25-50 random records against the Account Engagement source, and sign off the schema and mapping before production migration begins. Any field type mismatches, validation rule rejections, or lookup resolution failures surface here and are corrected before production.

  4. Pardot merge field rewrite and Email Template export

    We export all Pardot Email Templates with HTML content. During the export transform, we rewrite Pardot double-brace merge field syntax (%%field_name%%) to Salesforce merge syntax ({{!Contact.FieldName}}) for Contact fields and ({{!Lead.FieldName}}) for Lead fields. Dynamic content blocks with conditional branching are flagged for manual reconstruction in Salesforce Content Builder. We deliver a written template audit report listing every template, its merge fields, dynamic content usage, and rebuild status.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Salesforce Users (validated, not migrated), Accounts (created or matched by domain), Opportunities (created or matched by name and Account), Custom Fields (provisioned), Leads (for Prospects with no existing Salesforce Contact), Contacts (for Prospects linked to existing Salesforce Contacts), Scoring Category values (custom fields), Tags (multi-select picklist or Campaign Members), Static Lists (Salesforce Campaigns), Email Templates (with rewritten merge fields), and engagement history (Bulk API 2.0 with chunking and exponential backoff). Each phase emits a row-count reconciliation report before the next phase begins.

  6. Engagement Studio inventory and Flow rebuild handoff

    We deliver the Engagement Studio and Automation Rule inventory document to the customer's Salesforce admin team. This document includes every active program with its trigger type, step-by-step sequence, CRM update actions, wait actions, and a recommended Salesforce Flow equivalent for each step. We do not rebuild Engagement Studio as Salesforce Flow inside the migration scope; that is a separate engagement. We support a one-week hypercare window post-cutover for reconciliation issues.

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.
Salesforce Sales Cloud logo

Salesforce Sales Cloud

Destination

Strengths

  • Largest enterprise app ecosystem in CRM with 5,000+ AppExchange integrations covering nearly every vertical workflow.
  • Native Einstein AI delivers lead scoring, opportunity insights, and predictive forecasting without a third-party layer.
  • Advanced territory management, multi-currency, and flexible forecasting satisfy complex B2B revenue structures.
  • Deep platform extensibility: Custom Objects, Apex, Flow, and the Metadata API allow full schema customization.
  • Well-documented REST API, Bulk API, and Composite API with published rate limits for programmatic migration.

Weaknesses

  • Pricing model is layered and opaque in practice: per-seat fees plus storage overages, add-on subscriptions, and annual uplifts compound to 30–40% above sticker price.
  • Workflow Rules and Process Builder are deprecated, forcing all orgs onto Salesforce Flow — a migration task that catches many teams by surprise.
  • Steep administrative complexity: meaningful configuration requires a dedicated Salesforce admin or consultant.
  • API rate limits are edition-gated (100k/day base for Enterprise) and easily exhausted by large historical imports without throttling.
  • Data export is exportable via Data Loader but preserving relationship integrity across 30+ objects requires careful ETL sequencing.

Complexity grading

How hard is this migration?

Standard CRM migration. 1 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 Salesforce Sales Cloud.

  • Object compatibility

    B

    1 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 Salesforce Sales Cloud 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 Salesforce Sales Cloud data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between four and six weeks for accounts under 25,000 Prospects with standard Scoring Categories, fewer than three Business Units, and no custom objects. Migrations with multiple Business Units, engagement histories over 500,000 records, custom objects, complex Scoring Category logic, or a large form and Landing Page asset library move to ten to sixteen weeks because of Pardot API scoping per Business Unit, Bulk API chunking time for activity history, and the Pardot merge field rewrite scope.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Salesforce Marketing Cloud Account Engagement.
Land in Salesforce Sales Cloud, 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