CRM migration

Migrate from Adobe Campaign to Microsoft Dynamics 365 Sales

Field-level mapping, validation, and rollback between Adobe Campaign and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .

Adobe Campaign logo

Adobe Campaign

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

40%

4 of 10

objects map 1:1 between Adobe Campaign and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

5-8 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Adobe Campaign to Microsoft Microsoft Dynamics 365 Sales is a marketing-to-sales platform migration, not a like-for-like replacement. Adobe Campaign organizes data around Recipients, Deliveries, and campaign programs; Microsoft Dynamics 365 Sales uses Contacts, Accounts, Leads, and Opportunities. These schemas do not align natively, which means campaign orchestration logic, delivery logs, and subscription management records require explicit mapping or custom entity design before migration. We pre-build the destination schema in a Dynamics 365 Sandbox, resolve the Recipient-to-Contact or Recipient-to-Lead split based on lifecycle status, preserve Active Profile billing flags in a custom field to prevent downstream billing surprises, and handle Adobe Campaign's list export ceiling of 100,000 rows by configuring chunked workflow-based extraction for large profile sets. Workflows, targeting logic, and delivery automations do not migrate; we deliver a written inventory of every active workflow for the customer's admin to rebuild in Microsoft Dynamics 365 Sales or a companion marketing tool.

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

Adobe Campaign logo

Adobe Campaign

What's pushing teams away

  • Steep learning curve and complex UI require significant internal training investment, pushing smaller teams toward simpler alternatives.
  • High enterprise cost with opaque pricing and per-active-profile billing creates budget pressure, especially as contact lists grow beyond initial contract estimates.
  • Known issues with analytics and reporting lag behind competitor expectations, making performance measurement and campaign attribution harder to surface.
  • API documentation gaps and version-specific restrictions make integrations and automations brittle and difficult to maintain without specialist developer support.
  • Landing page timeouts and slow load times in the web interface frustrate marketers who need to move quickly during campaign windows.

Choosing

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

What's pulling them in

  • Deep Microsoft 365, Teams, and Outlook integration makes Microsoft Dynamics 365 Sales a natural fit for Microsoft-first organizations already invested in that ecosystem
  • Sales Enterprise and Premium tiers offer unlimited custom tables and advanced AI-driven forecasting and predictive analytics not available in lower tiers
  • Professional tier pricing at $65 per user per month offers a lower entry cost than Salesforce for SMB teams with straightforward CRM needs
  • Flexible customization options allow businesses to build bespoke apps, tailor forms and views, and integrate with other Dynamics 365 modules
  • Microsoft Copilot AI tools are embedded directly into the sales workflow on Enterprise and Premium, automating routine tasks and providing deal intelligence

Object mapping

How Adobe Campaign objects map to Microsoft Dynamics 365 Sales

Each row shows how a Adobe Campaign object lands in Microsoft Dynamics 365 Sales , including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Adobe Campaign

Recipient (nms:recipient)

maps to

Microsoft Dynamics 365 Sales

Contact or Lead (split required)

1:many
Fully supported

Adobe Campaign Recipients with a known account relationship and engagement history map to Microsoft Dynamics 365 Sales Contact attached to an Account. Recipients that are purely marketing list entries with no sales touch history map to Lead for initial qualification routing. We compute the split using the Recipient's last delivery date, subscription status, and any custom lifecycle field, and preserve the original recipient ID in a custom field ac_recipient_id__c for audit. Extended nms:recipient schema fields migrate as custom Contact or Lead fields; we parse the schema XML to derive the underlying column name before mapping.

Adobe Campaign

Organization (nms:organization)

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Adobe Campaign Organization records map directly to Microsoft Dynamics 365 Sales Account. Organization name becomes Account Name, and the organization's country or industry sector maps to standard Account fields. The Account is created before any Contact import so that the CustomerId lookup is satisfied at the moment of Contact insert. If the source uses only Recipients without a separate Organization table, we extract the domain from each Recipient email address to group them into Account records during migration.

Adobe Campaign

Delivery (nms:delivery)

maps to

Microsoft Dynamics 365 Sales

Campaign + custom delivery field

lossy
Fully supported

Adobe Campaign Deliveries have no direct equivalent in Microsoft Dynamics 365 Sales . We create a Microsoft Dynamics 365 Sales Campaign record for each Adobe Campaign delivery, storing the delivery label as Campaign Name, the send date as Start Date, and the delivery status as a custom ac_delivery_status__c picklist field. Total sent count, total opened count, and total clicked count migrate as numeric custom fields on the Campaign. Delivery content (email body, subject line, personalisation tokens) is not migratable; we document the content inventory for the customer's marketing team to rebuild in their chosen campaign execution tool.

Adobe Campaign

BroadLog (delivery logs)

maps to

Microsoft Dynamics 365 Sales

CampaignMember + custom entity

1:many
Fully supported

BroadLog records track every message sent per Recipient per delivery. We migrate these as Microsoft Dynamics 365 Sales CampaignMember records linked to the Contact or Lead and the Campaign, with delivery status (Sent, SoftBounce, HardBounce, Delivered) mapped to CampaignMember Status values. v8's FFDA dual-database architecture means BroadLogs may exist in both the local and cloud database; we query both and deduplicate by Recipient ID and delivery ID before inserting into Dynamics. Aggregate open and click rates recalculate in Dynamics from the migrated tracking log data.

Adobe Campaign

Service and Subscription (nms:service)

maps to

Microsoft Dynamics 365 Sales

Custom entity (ac_subscription) or Marketing List

lossy
Fully supported

Adobe Campaign Services represent opt-in subscription lists with double-opt-in confirmation flows. Microsoft Dynamics 365 Sales has no native subscription management object. We create a custom ac_subscription entity in Dataverse with fields for service name, subscription status (Subscribed, Unsubscribed, Pending), subscription date, and confirmation date, linked to the Contact via a lookup. The customer chooses between a custom entity approach or a Marketing List approach during scoping based on their downstream marketing tool plan.

Adobe Campaign

Program (nms:program)

maps to

Microsoft Dynamics 365 Sales

Campaign hierarchy or custom entity

lossy
Fully supported

Adobe Campaign Standard and v8 Programs are hierarchical containers for campaigns, workflows, and targeting logic. Microsoft Dynamics 365 Sales Campaigns are flat; no native hierarchy exists. We map top-level Programs to a custom ac_program__c field on Campaign, and if multi-level hierarchy is required, we create a self-referencing lookup on Campaign to model the parent-child structure. Program-specific permissions do not migrate and must be reconfigured in Microsoft Dynamics 365 Sales security roles.

Adobe Campaign

Custom schema (nms:ext: or FDA-linked)

maps to

Microsoft Dynamics 365 Sales

Custom entity in Dataverse

1:1
Fully supported

Adobe Campaign custom schemas built via schema extension or FDA connectors to external SQL databases require custom extraction logic. We inspect the schema XML during the pre-migration audit to derive the underlying table structure and column types, then design a corresponding custom entity in Microsoft Dynamics 365 Sales Dataverse with matching field types, lookups, and optionsets. Custom entity naming follows the source schema name with a prefix to avoid naming collisions with standard Dynamics objects.

Adobe Campaign

Tracking log (NmsTrackingLog)

maps to

Microsoft Dynamics 365 Sales

Custom entity (ac_tracking_log)

1:1
Fully supported

Adobe Campaign tracking logs store open events, click events, and URL click-throughs per Recipient per delivery. Microsoft Dynamics 365 Sales has no native tracking log object. We create a custom ac_tracking_log Dataverse entity with fields for Recipient (lookup to Contact), Campaign (lookup to Campaign), event type (Open, Click, Bounce), URL clicked, and timestamp. Click-through URLs and timestamped events migrate for reporting continuity; aggregate open and click rates recalculate in the destination from these individual event records.

Adobe Campaign

Enumerations and picklists

maps to

Microsoft Dynamics 365 Sales

Optionsets or picklist fields

1:1
Mapping required

Adobe Campaign enumerations defined in schema XML (such as deliveryStatus, gender, format preference) use internal integer values that differ from Microsoft Dynamics 365 Sales optionset labels. We maintain a value-mapping table keyed by enumeration name and map the integer value to the corresponding Dynamics optionset label before insert. Format preference (HTML vs Plain Text) maps to the Contact's email format field if Dynamics supports it, or to a custom ac_email_format__c optionset field.

Adobe Campaign

Workflow (nms:workflow)

maps to

Microsoft Dynamics 365 Sales

Not migratable

lossy
Fully supported

Adobe Campaign targeting workflows, campaign workflows, and technical workflows are not migratable. Workflow XML packages contain dynamic content blocks, queryDef expressions, and delivery activities that do not map to Microsoft Dynamics 365 Sales or Power Automate equivalents. We deliver a written inventory of every active workflow during scoping, documenting the workflow name, trigger type, query criteria, segmentation logic, delivery actions, and approval gates. The customer's admin or a Dynamics 365 partner rebuilds the workflow logic in Power Automate, Microsoft Dynamics 365 Sales Playbooks, or a dedicated marketing automation tool.

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.

Adobe Campaign logo

Adobe Campaign gotchas

High

ACS to ACC schema migration breaks dynamic content blocks

High

Per-active-profile billing counts every imported Recipient

Medium

Technical operator IMS migration mandatory in v8.5+

Medium

v8 FFDA dual-database architecture complicates data mapping

Low

List export ceiling of 100,000 rows requires chunking

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales gotchas

High

Professional tier 15-table custom table limit blocks migrations

High

October 2024 pricing increase applies at renewal for all customers

Medium

Custom fields must be created in the UI before API writes

Medium

Power Platform request limits apply to bulk migrations

Medium

Activity records orphaned to inactive owners fail silently

Pair-specific challenges

  • Delivery logs have no native equivalent in Microsoft Dynamics 365 Sales

    Adobe Campaign BroadLog records (sent, opened, clicked, bounced per Recipient per delivery) are marketing campaign metrics with no direct Microsoft Dynamics 365 Sales object. Microsoft Dynamics 365 Sales CampaignMember tracks campaign response but does not capture the granular send-level and event-level detail that Adobe Campaign tracks per message. We create a custom ac_tracking_log Dataverse entity to preserve click-through URLs and timestamps, but aggregate reporting (open rates, click rates per delivery) recalculates in the destination from the migrated event data rather than migrating the calculated rates directly. Teams that rely on Adobe Campaign's delivery-level reporting for SLA tracking or inbox placement analysis need to rebuild those reports in Power BI against the custom entity.

  • v8 FFDA dual-database requires cross-referencing both tables before export

    Adobe Campaign v8 stores profile data and delivery logs across a local PostgreSQL database (real-time UI interactions) and a cloud database (campaign execution and batch operations). REST API writes target the local database; workflow operations write to the cloud database. A record may exist in one, the other, or both with slight timestamp differences. We query both databases during extraction, deduplicate by primary key, and produce a single reconciled export set before loading to Microsoft Dynamics 365 Sales . Skipping this reconciliation step produces duplicate Contact records or missing delivery attribution.

  • Subscription and service records require custom entity design

    Adobe Campaign Services with double-opt-in confirmation flows and subscription status flags have no native equivalent in Microsoft Dynamics 365 Sales . Importing subscription records as standard Contact fields (HasOptedOutOfEmail, DoNotBulkEmail) loses the service-level context (which subscription list, confirmation date, pending status). We design a custom ac_subscription Dataverse entity with the necessary fields, but the customer must decide whether this custom entity connects to their chosen marketing execution tool (Dynamics 365 Marketing, Marketo, Klaviyo) or operates as a standalone reference table for sales reps.

  • List export ceiling of 100,000 rows requires chunked workflow extraction

    Adobe Campaign Standard's list export feature is capped at 100,000 rows by the Nms_ExportListLimit option. Profile sets above this threshold must be exported via workflow-based data extraction using the Load file and Transfer file activities, with chunking by date range or alphabetical block. We configure these workflow exports during the extraction phase, combine the resulting files into a single import set, and validate record counts against the source database before loading to Microsoft Dynamics 365 Sales . The extraction workflow scope is included in the migration estimate.

  • Workflow and targeting logic does not migrate and requires separate rebuild scope

    Adobe Campaign targeting workflows contain queryDef expressions, segmentation criteria, dynamic content blocks, and delivery activity configurations that are not portable to Microsoft Dynamics 365 Sales or Power Automate. We do not migrate workflows as code. We deliver a written inventory of every active workflow during the discovery phase, documenting the trigger, query logic, segmentation rules, delivery actions, and approval gates. Rebuilding these in Power Automate or Microsoft Dynamics 365 Sales Playbooks is a separate engagement that we can scope upon request, or the customer's internal admin or a Dynamics partner handles it post-migration.

Migration approach

Six steps for a successful Adobe Campaign to Microsoft Dynamics 365 Sales data migration

  1. Discovery and source audit

    We audit the source Adobe Campaign instance across all active editions (Classic v7, Standard, v8) to capture Recipients, Organizations, delivery history, subscription records, custom schemas, and workflow inventory. For v8 instances, we query both the local and cloud FFDA databases to produce a reconciled profile set. We identify any schema extensions to the nms:recipient table, FDA-linked external tables, and custom enumeration values that require value mapping. The discovery output is a written migration scope, a data volume estimate, and a recommendation on the Recipient-to-Contact-or-Lead split logic based on engagement history.

  2. Schema design and custom entity build

    We design the destination schema in a Microsoft Dynamics 365 Sales Sandbox. This includes provisioning custom entities for ac_subscription, ac_tracking_log, and any custom schema equivalents from Adobe Campaign; custom fields on Contact, Lead, Account, and Campaign for Adobe Campaign extended fields and delivery metrics; optionsets for migrated enumeration values; and the campaign hierarchy structure for Programs. We configure the Microsoft Dynamics 365 Sales Campaign object to receive Adobe Campaign delivery metadata. All custom schema is validated against the source field inventory before any data loads begin.

  3. Extraction, deduplication, and value mapping

    We extract profile data from Adobe Campaign using the appropriate method for the edition and volume: workflow-based data extraction with chunking for profile sets above 100,000 rows, REST API for smaller sets, or database query against both FFDA tables for v8. We apply the Recipient-to-Contact-or-Lead split logic during extraction, map enumeration values using the value-mapping table, flag Active Profile billing status in a custom field, and deduplicate records across both v8 databases before producing the final export set. The extraction emits a record-count reconciliation report against the source query result.

  4. Sandbox migration and reconciliation

    We run a full migration into a Microsoft Dynamics 365 Sales Sandbox using production-equivalent data volume. The customer's CRM administrator reconciles record counts (Accounts in, Contacts in, Leads in, Campaign Members in, Custom entity records in), spot-checks 25-50 random records against the Adobe Campaign source, and validates that the Recipient-to-Contact-or-Lead split produced the expected distribution. Any schema corrections, field mapping adjustments, or value-mapping fixes happen in the Sandbox before production migration begins.

  5. Production migration in dependency order

    We run production migration in record-dependency order: custom entity metadata first (so the target schema exists), Accounts (from Adobe Campaign Organizations), Leads and Contacts (with the split applied and AccountId resolved), Campaigns (with delivery metadata from Adobe Campaign deliveries), CampaignMembers (BroadLog records linked to the resolved Contact or Lead and Campaign), ac_subscription records linked to Contact, and ac_tracking_log records linked to Contact and Campaign. Each phase emits a row-count reconciliation report before the next phase begins. We use Microsoft Dynamics 365 Sales Dataverse bulk API operations with batch chunking and exponential backoff on throttling responses.

  6. Cutover, validation, and workflow inventory handoff

    We freeze Adobe Campaign writes during cutover, run a final delta migration of any records modified during the migration window, then enable Microsoft Dynamics 365 Sales as the system of record. We deliver the Adobe Campaign workflow inventory document to the customer's admin team with recommended Power Automate or Microsoft Dynamics 365 Sales Playbook equivalents for each workflow requiring rebuild. We support a one-week hypercare window where we resolve any record reconciliation issues. We do not rebuild Adobe Campaign workflows or delivery automations inside the migration scope; that is a separate engagement for the customer's admin or a Dynamics partner.

Platform deep dives

Context on both ends of the pair

Adobe Campaign logo

Adobe Campaign

Source

Strengths

  • Comprehensive multi-channel coverage (email, SMS, push, direct mail, WhatsApp) in a single platform reduces point-solution sprawl.
  • Federated Data Access connectors allow live query of external databases without full data replication.
  • Visual workflow engine with targeting, segmentation, and approval gates handles complex campaign orchestration.
  • XML-schema extensibility allows enterprises to model custom business objects beyond standard CRM profiles.
  • Strong deliverability infrastructure with dedicated IP warming and inbox placement tooling built into Managed Cloud tiers.

Weaknesses

  • Three active editions (Classic v7, Standard, v8) with non-compatible schema structures complicate migrations and upgrades.
  • Per-active-profile licensing means every imported record affects billing, with no concept of a truly inactive record for billing purposes.
  • No published API rate limits and limited bulk REST API coverage means large-scale data extraction requires workflow-based exports.
  • Steep onboarding and specialist skill requirements make internal teams dependent on Adobe partners for routine operations.
  • Analytics and reporting are widely cited as below enterprise expectations, especially compared to Adobe Analytics integration.
Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

Destination

Strengths

  • Native integration with Microsoft 365, Teams, Outlook, and SharePoint for unified productivity workflow
  • Unlimited custom tables and complex workflows on Enterprise tier enable deep customization for complex sales processes
  • AI-driven predictive analytics and deal intelligence on Enterprise and Premium tiers help sales teams prioritize pipeline
  • Dataverse unified data layer provides a consistent API and data model across all Dynamics 365 and Power Platform apps
  • Strong security model with Field-Level Security and Record Ownership rules for governance-conscious enterprises

Weaknesses

  • Sales Professional tier caps custom tables at 15, creating a migration ceiling for highly customized SMB environments
  • October 2024 pricing increases of $15 per user across all tiers apply to existing customers upon renewal
  • Implementation typically requires costly certified partners, adding 30–50% to total project cost
  • Updates and platform releases can disrupt customizations and plugins, requiring regression testing after each wave
  • Non-Microsoft integrations require additional configuration or middleware, limiting flexibility for heterogeneous tech stacks

Complexity grading

How hard is this migration?

Standard CRM migration. All 8 core objects map 1:1 between Adobe Campaign and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Adobe Campaign and Microsoft Dynamics 365 Sales .

  • Object compatibility

    A

    All 8 core objects map 1:1 between Adobe Campaign and Microsoft Dynamics 365 Sales .

  • 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

    B

    Adobe Campaign: Not publicly documented; throughput limits are contract-specific and enforced at the infrastructure level.

  • Data volume sensitivity

    B

    Adobe Campaign doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Adobe Campaign to Microsoft Dynamics 365 Sales 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 Adobe Campaign to Microsoft Dynamics 365 Sales data migrations

Answers to the questions buyers ask most during Adobe Campaign to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Adobe Campaign to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between five and eight weeks for straightforward profile sets under 50,000 Recipients with no v8 FFDA complexity, no custom FDA schemas, and a clean Organization-to-Account mapping. Migrations with v8 dual-database extraction, custom schema XML parsing, large tracking log histories, or a parallel Dynamics 365 Marketing implementation move to twelve to eighteen weeks because of the extraction complexity, custom entity design, and reconciliation across both Adobe Campaign databases.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Adobe Campaign.
Land in Microsoft Dynamics 365 Sales , 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