CRM migration
Field-level mapping, validation, and rollback between Altcraft and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Altcraft
Source
Salesforce Sales Cloud
Destination
Compatibility
7 of 12
objects map 1:1 between Altcraft and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Altcraft is an omnichannel CDP and marketing automation platform that combines customer Profiles, behavioral tracking, multi-channel messaging, and campaign analytics under profile-count billing. Migrating to Salesforce Sales Cloud restructures that data model significantly: Altcraft Profiles with behavioral histories map to Salesforce Contacts (with custom fields for channel subscriptions and behavioral attributes), Segments map to Campaign Members or custom List objects depending on whether the customer uses Salesforce Marketing Cloud Account Engagement, and Products and Orders transfer as standard Salesforce Product2 records or custom objects. We cannot migrate Automation Scenarios as code because Altcraft's visual builder produces conditional branching, loop constructs, and webhook calls with no export format; we deliver a structured Scenario inventory and rebuild guide instead. Communication channels (Email, SMS, Web Push, Messengers) require fresh configuration in Salesforce because sender credentials and approved sending domains are platform-bound. The engagement and behavioral data that makes Altcraft profiles rich migrates as custom fields on Contact so that the 360-degree view survives the transition.
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 Altcraft 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.
Altcraft
Profile (Customer Profile)
Salesforce Sales Cloud
Contact + Account
1:manyAltcraft Profiles map to Salesforce Contact as the primary record, with the behavioral history, channel subscriptions, device context, and location metadata stored as custom fields on Contact. The Altcraft Profile email address becomes the Contact Email field and is used as the dedupe key during import. We pre-create a default Account (using Account Name derived from the Profile's company field or a placeholder) so that AccountId is resolved at Contact insert time. Any loyalty tier or promo eligibility attributes transfer as custom fields on Contact.
Altcraft
Custom Profile Fields
Salesforce Sales Cloud
Contact Custom Fields
1:1Altcraft user-defined fields on the Profile object export as structured columns in the profile CSV. We map each field to a Salesforce custom field on Contact, handling type differences (string, date, number, boolean, picklist) and creating a custom field migration matrix during discovery. Behavioral attributes like last_channel_interaction or engagement_score become custom Number or Text fields on Contact for use in Salesforce reports and Flow criteria.
Altcraft
Automation Scenarios
Salesforce Sales Cloud
Salesforce Flow (documented rebuild)
lossyAltcraft Scenarios include conditional branching, loop constructs, time delays, and API webhook calls that have no standard export format. We cannot generate a drag-and-drop import package for Salesforce Flow. We export each Scenario as a structured description document listing the trigger, all branches, loop exits, referenced Profiles, and webhook endpoints, then deliver a Scenario Inventory to the customer's admin for manual Flow rebuild. This is documented configuration, not a code migration.
Altcraft
Segment (Static & Dynamic)
Salesforce Sales Cloud
Campaign + CampaignMember or Custom List Object
1:manyStatic segments export as straightforward record lists tied to Profile IDs. We map them to Salesforce Campaign Members by resolving the Profile ID to the new Contact ID post-migration. Dynamic segments depend on real-time behavioral criteria that have no direct Salesforce equivalent; we export the segment definition as a structured description and recommend Salesforce Marketing Cloud Account Engagement (Pardot) Lists or a custom Salesforce List object with criteria-based population rules as the equivalent.
Altcraft
Message Templates
Salesforce Sales Cloud
EmailTemplate
1:1Altcraft message templates export in standard formats. A/B test variants transfer as separate EmailTemplate records. Subject lines, HTML bodies, and merge field names migrate directly; the merge field references update from Altcraft syntax to Salesforce merge field syntax (e.g., {{Profile.FirstName}} becomes {!Contact.FirstName}) during the template transformation step.
Altcraft
Campaign
Salesforce Sales Cloud
Campaign + CampaignMember
1:1Altcraft Campaign records (including send history, open and click analytics, and channel assignment) map to Salesforce Campaign. Performance metrics like open rate and click rate migrate as custom fields on Campaign because Salesforce's native Campaign reporting tracks member counts and revenue rather than engagement ratios. We preserve the campaign-channel association as a custom field on Campaign for reporting purposes.
Altcraft
Control Group
Salesforce Sales Cloud
Campaign Member Status + Custom Field
1:1Altcraft Control Groups are assigned to specific Profile IDs. If Profiles receive new IDs during the Salesforce import, the Control Group association breaks. We preserve Control Group membership as an explicit attribute on each Profile record before export, then re-apply the assignment after Salesforce Contact IDs are established, ensuring that comparative analytics (treatment vs. holdout) remain valid in the destination Campaign reporting.
Altcraft
Communication Channel
Salesforce Sales Cloud
Email Relay / Marketing Cloud Channel (configuration)
lossyAltcraft supports Email, SMS, Web Push, Mobile Push, and Messenger channels with sender IDs, API credentials, and approved sending domain configurations. These credentials are platform-bound and do not transfer. We document the existing channel configuration (sending domain, SMS sender ID, messenger app credentials) and re-establish them in Salesforce or Salesforce Marketing Cloud as part of the migration configuration step. Salesforce Email relay or Marketing Cloud Email Studio replaces Altcraft's native email channel by default.
Altcraft
Products & Orders
Salesforce Sales Cloud
Product2 + Custom Order Object
1:1Altcraft Products transfer as Salesforce Product2 records with Standard Price Book entries created during import. ProductCode maps from the Altcraft SKU field. Order history is linked to the Contact at migration time via a custom Order__c object with a Contact lookup, preserving purchase history for segmentation and reporting in Salesforce. If the destination org uses Salesforce Order Management, we map directly to the native Order object.
Altcraft
Loyalty Program
Salesforce Sales Cloud
Custom Loyalty Object + Fields on Contact
1:1Altcraft loyalty program tiers, point balances, and promo code pools transfer as a custom LoyaltyProgram__c object with a lookup to Contact. Promo code pools export as a custom PromoCode__c object linked to the LoyaltyProgram. We preserve the full loyalty structure and promo rules as structured data; recreation in Salesforce depends on whether the customer implements a native loyalty app from AppExchange or builds a custom solution with Apex triggers.
Altcraft
Form & NPS Survey
Salesforce Sales Cloud
Web-to-Lead / Custom Survey Object
1:1Altcraft Form definitions and NPS survey question structures export cleanly as structured data. Survey responses already embedded in Profile records migrate as standard Profile data. Standalone response logs transfer as a custom SurveyResponse__c object linked to Contact. The form definition itself (field layout, conditional logic) does not migrate; we document the structure for recreation in Salesforce Web-to-Lead, Experience Cloud, or a third-party survey tool.
Altcraft
Web Layer (Popups, Goals, Tag Manager)
Salesforce Sales Cloud
Salesforce Analytics / Experience Cloud Tag Configuration
lossyAltcraft's Web Layer module (popups, tracking goals, tag manager) is client-side configuration independent of Profile data. We do not migrate these as they require re-implementation in the destination platform's tag management or equivalent module. We deliver a written inventory of all active popup triggers, goal definitions, and tag rules for the customer's web team to re-implement in Salesforce Experience Cloud or a tag manager like Google Tag Manager post-migration.
| Altcraft | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Profile (Customer Profile) | Contact + Account1:many | Fully supported | |
| Custom Profile Fields | Contact Custom Fields1:1 | Fully supported | |
| Automation Scenarios | Salesforce Flow (documented rebuild)lossy | Mapping required | |
| Segment (Static & Dynamic) | Campaign + CampaignMember or Custom List Object1:many | Fully supported | |
| Message Templates | EmailTemplate1:1 | Fully supported | |
| Campaign | Campaign + CampaignMember1:1 | Fully supported | |
| Control Group | Campaign Member Status + Custom Field1:1 | Fully supported | |
| Communication Channel | Email Relay / Marketing Cloud Channel (configuration)lossy | Fully supported | |
| Products & Orders | Product2 + Custom Order Object1:1 | Mapping required | |
| Loyalty Program | Custom Loyalty Object + Fields on Contact1:1 | Fully supported | |
| Form & NPS Survey | Web-to-Lead / Custom Survey Object1:1 | Fully supported | |
| Web Layer (Popups, Goals, Tag Manager) | Salesforce Analytics / Experience Cloud Tag Configurationlossy | Mapping required |
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.
Altcraft gotchas
Profile-count pricing means database size drives the bill
Automation Scenarios do not export as portable logic
API developer guide returns HTTP 301, blocking programmatic discovery
Private Cloud and on-premise use separate support contracts
Control Group assignment is Profile-ID dependent
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Discovery and export path determination
We audit the Altcraft portal across deployment tier (Cloud, Cloud Pro, Private Cloud, or On-premises), profile count, custom field inventory, segment count and definition types, active Scenario count, campaign history, channel configuration, loyalty program structure, and web layer setup. Because the Altcraft API developer guide returns a 301, we determine the primary export path during discovery: UI-based CSV export for Profiles and Templates, Albato integration if available, or direct database credentials if the customer has provided them. The discovery output is a written migration scope, an object mapping matrix, and a Salesforce edition recommendation based on the customer's record volume and feature requirements.
Schema design and Salesforce destination setup
We design the Salesforce destination schema before any data moves. This includes provisioning custom objects for LoyaltyProgram__c and PromoCode__c if applicable, custom fields on Contact for behavioral attributes and channel subscriptions, custom fields on Campaign for engagement rate metrics, Record Types for Campaign segmentation, and the Control Group reassignment strategy. Schema is deployed into a Salesforce Sandbox first for validation. We also document the Scenario Inventory (all automation triggers, branches, and actions) during this phase for the rebuild handoff.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox (Full Copy or Partial Copy) using production-like data volume. The customer reconciles record counts (Contacts in, Campaigns in, CampaignMembers in, custom object records in), spot-checks 25-50 random Contacts against the Altcraft source data for field accuracy, and validates that Control Group membership re-applied correctly on the destination Campaign. Any mapping corrections happen in Sandbox before production migration begins.
Profile export, transformation, and Control Group preservation
We export Altcraft Profile records via the determined export path (CSV, Albato, or database). Each Profile is enriched with a Control_Group_Membership__c attribute before export so that the holdout assignment survives the ID reassignment. We run the transformation step that converts Altcraft merge field syntax to Salesforce merge field syntax on templates, normalizes date formats, maps custom field types, and splits behavioral attributes into the appropriate custom fields on Contact. All custom field values are validated for Salesforce field type compatibility before import.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (created as placeholder for Contact lookups), Contacts (with custom fields populated, Control_Group_Membership preserved), Products and Pricebook entries, LoyaltyProgram and PromoCode records, Campaigns (with engagement metric custom fields populated), CampaignMembers (with holdout status applied), SurveyResponse records, and EmailTemplates. Each phase emits a row-count reconciliation report before the next phase begins. We use Salesforce Bulk API 2.0 for large batches with exponential backoff on API limit responses.
Cutover, validation, and Scenario rebuild handoff
We freeze Altcraft writes during cutover, run a final delta migration of any records modified during the migration window, then enable Salesforce as the system of record. We deliver the Scenario Inventory and Automation Rebuild Guide to the customer's admin team with recommended Flow equivalents for each Altcraft Scenario trigger and branch logic. We support a one-week hypercare window where we resolve reconciliation issues raised by the customer's team. We do not rebuild Altcraft Scenarios as Salesforce Flow inside the migration scope; that work is handled by the customer's admin or a Salesforce implementation partner. Channel re-configuration (Email relay setup, SMS credentials) is completed in parallel during the cutover window.
Platform deep dives
Altcraft
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 Altcraft and Salesforce Sales Cloud.
Object compatibility
1 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
Altcraft: Configurable via API_MAX_REQUESTS_COUNT — exceeding returns HTTP 429. Specific numeric limits are not published in the developer guide and must be confirmed per deployment..
Data volume sensitivity
Altcraft 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 Altcraft to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Altcraft to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Altcraft
Other ways to arrive at Salesforce Sales Cloud
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.