{"id":783,"date":"2026-06-25T09:00:00","date_gmt":"2026-06-25T03:30:00","guid":{"rendered":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/"},"modified":"2026-06-25T09:00:00","modified_gmt":"2026-06-25T03:30:00","slug":"salesforce-data-migration-load-order","status":"publish","type":"post","link":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/","title":{"rendered":"Salesforce Data Migration: Load Order, External IDs and Relationships"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Salesforce Data Migration is the planned move of records from an old system, such as spreadsheets or another CRM, into Salesforce without losing links between them. A single import is easy. A full move of accounts, contacts, courses and enrollments, all linked correctly, needs a plan. In our <a href=\"https:\/\/swapnilzambare.com\/blog\/salesforce-data-loader-import-wizard\/\">Data Loader guide<\/a>, you met insert, update, upsert and External IDs. This post shows how to use them together for a real move.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this post, you will learn the load order, how External IDs keep parent and child records linked, how to prepare owners and record types, and how to switch off automation safely during a load. Then you will plan and run a small migration for Bright Path Tutors from its old student database. You should know master-detail and lookup fields from our <a href=\"https:\/\/swapnilzambare.com\/blog\/master-detail-vs-lookup-salesforce\/\">relationships guide<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is Salesforce Data Migration?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A data migration moves existing business data into Salesforce once, usually before go-live. It includes cleaning the data, mapping old columns to Salesforce fields, loading records in the right order and checking the result.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The hard part is relationships. An enrollment in the old system points to &#8220;student 1042&#8221; and &#8220;course ENG-101&#8221;. In Salesforce, those records get new 18-character IDs. So you need a way to connect them without looking up thousands of IDs by hand.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is a simple analogy. Think of moving house with labelled boxes. You move the furniture first, then the boxes that go inside each room. The labels tell the movers which room each box belongs to. In a migration, parent records are the furniture, child records are the boxes, and External IDs are the labels.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why Salesforce Data Migration Matters<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bad migrations cause problems that last for years. Duplicates confuse sales reps, broken links hide history, and wrong owners give people access they should not have.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here are some real situations at Bright Path Tutors.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>3,000 parent records and 4,500 students must move from an old MySQL database.<\/li>\n\n<li>Every enrollment must link to the right student and the right course.<\/li>\n\n<li>Old records were created years ago, and finance wants the original created dates.<\/li>\n\n<li>Validation rules and flows must not fire welcome emails to old students during the load.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">So a planned migration protects data quality from day one.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How Salesforce Data Migration Works<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Every good migration follows the same stages. First, you extract the data from the old system into CSV files. Next, you clean it, removing duplicates and fixing formats like dates and phone numbers. Then you map each column to a Salesforce field, including External ID fields. After that, you load the files in parent-to-child order, using upsert. Finally, you check record counts and sample records, and fix any errors before the next file.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-1-1024x640.png\" alt=\"Salesforce Data Migration diagram showing extract, clean, map, load and validate stages\" class=\"wp-image-708\" srcset=\"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-1-1024x640.png 1024w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-1-300x188.png 300w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-1-768x480.png 768w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-1-1536x960.png 1536w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-1-2048x1280.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">How Salesforce Data Migration works: extract, clean, map, load parents before children with upsert, then validate.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Always run the full process in a sandbox first. It shows you the errors and the time each load takes before you touch production. For example, at Bright Path Tutors the enrollment file took 12 minutes in a Full sandbox. So the team planned a two-hour window on a Sunday for the real move, with time left to fix errors.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Key Parts of Salesforce Data Migration<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Load order<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">First, load records that others depend on. Users usually come first, then accounts, then contacts, then custom parents like courses, and finally children like enrollments. A child cannot point to a parent that does not exist yet.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">External IDs for relationships<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Next, give every object an External ID field that holds the old system&#8217;s key, such as Legacy_Id__c. When you load a child, you put the parent&#8217;s old key in the file. Data Loader then finds the parent through its External ID, so you never need Salesforce IDs in the file.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Owners and record types<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Then map owners and record types. The old system may use names like &#8220;Rahul&#8221; for owners, but Salesforce needs a user. So you look up user IDs once and replace the names. Record types work the same way, using their IDs or developer names.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Audit fields<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Salesforce can keep the original Created Date and Created By if you turn on &#8220;Set Audit Fields upon Record Creation&#8221; in User Interface settings. Then you give the loading user that permission. This only works when you insert records, not when you update them. So plan to load these objects with insert or upsert on the first run, while the audit permission is on.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Automation during the load<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, decide which automation should run. Welcome emails and assignment rules usually should not fire for old data. A bypass switch in a hierarchy custom setting, like the one in our <a href=\"https:\/\/swapnilzambare.com\/blog\/custom-metadata-types-vs-custom-settings\/\">custom metadata guide<\/a>, lets the integration user skip them safely.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The table below shows the load order for Bright Path Tutors.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Order<\/th><th>Object<\/th><th>Matching key<\/th><th>Depends on<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>User<\/td><td>Username<\/td><td>Nothing<\/td><\/tr><tr><td>2<\/td><td>Account (family or school)<\/td><td>Legacy_Id__c<\/td><td>Owner user<\/td><\/tr><tr><td>3<\/td><td>Contact (student)<\/td><td>Legacy_Id__c<\/td><td>Account<\/td><\/tr><tr><td>4<\/td><td>Course<\/td><td>Course_Code__c<\/td><td>Nothing<\/td><\/tr><tr><td>5<\/td><td>Enrollment<\/td><td>Legacy_Id__c<\/td><td>Student and Course<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Salesforce Data Migration vs a One-Time Import<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Many admins treat a migration like a simple import, and that is where problems start. The table below compares them.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Feature<\/th><th>Full data migration<\/th><th>One-time import<\/th><\/tr><\/thead><tbody><tr><td>Objects<\/td><td>Many, linked together<\/td><td>Usually one<\/td><\/tr><tr><td>Matching<\/td><td>External IDs and upsert<\/td><td>Often insert only<\/td><\/tr><tr><td>Automation<\/td><td>Planned bypass switches<\/td><td>Runs as normal<\/td><\/tr><tr><td>Testing<\/td><td>Full rehearsal in a sandbox<\/td><td>Rarely tested<\/td><\/tr><tr><td>Best for<\/td><td>Go-live or system replacement<\/td><td>Adding a small list<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In short, use a simple import for a list of new leads. Plan a full Salesforce Data Migration whenever several objects must stay linked.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-2-1024x640.png\" alt=\"Salesforce Data Migration diagram comparing a full migration with a one-time import\" class=\"wp-image-709\" srcset=\"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-2-1024x640.png 1024w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-2-300x188.png 300w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-2-768x480.png 768w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-2-1536x960.png 1536w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-diagram-2-2048x1280.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">A full data migration compared with a one-time import, and when to use each one.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Hands-on Example: Salesforce Data Migration for Enrollments<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s move students and enrollments in your Developer Edition org.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Add External ID fields<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to Setup, then Object Manager, then Contact, and create a Text field &#8220;Legacy Id&#8221; (length 20).<\/li>\n\n<li>Tick External ID and Unique, then save. Do the same on Enrollment.<\/li>\n\n<li>Course already has Course Code as an External ID, from our Data Loader post.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Prepare the files<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the student file. Each row holds the old key and the parent account&#8217;s old key.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Legacy_Id__c,FirstName,LastName,Email,Account_Legacy_Id\nSTU-1042,Priya,Nair,priya.nair@example.com,FAM-220\nSTU-1043,Aarav,Shah,aarav.shah@example.com,FAM-221<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The enrollment file points to the student and the course using their old keys.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Legacy_Id__c,Student_Legacy_Id,Course_Code,Fee_Paid__c\nENR-5001,STU-1042,ENG-101,9000\nENR-5002,STU-1043,PY-201,4500<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Upsert with Data Loader<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open Data Loader, click Upsert, choose Contact, and pick your CSV.<\/li>\n\n<li>Choose Legacy_Id__c as the matching field.<\/li>\n\n<li>On the related objects screen, choose Legacy_Id__c for Account. Then map Account_Legacy_Id to Account in the mapping step.<\/li>\n\n<li>Repeat for Enrollment. Use Legacy_Id__c for Student and Course_Code__c for Course.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">In the mapping file, Data Loader writes these relationship fields as Account:Legacy_Id__c and Course__r:Course_Code__c. That tells it to find the parent through the External ID, not the Salesforce ID.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Check the results<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Compare counts with the old system using a SOQL query.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT COUNT(Id) total, COUNT(Student__c) linked\nFROM Enrollment__c\nWHERE Legacy_Id__c != null<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If total and linked match the number of rows in your file, every enrollment found its student. Then open the error CSV from Data Loader, fix the rows and upsert again. Upsert never creates duplicates when the key already exists.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Common Mistakes with Salesforce Data Migration<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Loading children first.<\/strong> Child rows fail because their parents do not exist yet.<\/li>\n\n<li><strong>No External IDs.<\/strong> You end up matching thousands of Salesforce IDs in Excel by hand.<\/li>\n\n<li><strong>Leaving automation on.<\/strong> Old students suddenly get welcome emails from flows.<\/li>\n\n<li><strong>Skipping the sandbox rehearsal.<\/strong> The first errors appear in production, on go-live day.<\/li>\n\n<li><strong>Ignoring date formats.<\/strong> A day and month mix-up quietly breaks Start Date values.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Best Practices for Salesforce Data Migration<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Clean data before the load.<\/strong> Fixing duplicates in Salesforce later takes much longer.<\/li>\n\n<li><strong>Keep legacy keys forever.<\/strong> They help with audits and later fixes.<\/li>\n\n<li><strong>Load in small test batches first.<\/strong> Ten rows show mapping mistakes quickly.<\/li>\n\n<li><strong>Use a dedicated integration user.<\/strong> Bypass switches and audit trails stay clear.<\/li>\n\n<li><strong>Freeze the old system on cut-over day.<\/strong> New changes there would be lost.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Practice Task<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Create two accounts with Legacy Id values, then upsert three contacts that point to them through Account:Legacy_Id__c. Run the same file again and check that no duplicates appear.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hint: the second run should show three successful updates and zero inserts.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Salesforce Data Migration FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Should I use Data Import Wizard or Data Loader?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use Data Loader for migrations. It handles more records, more objects and External ID relationships.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can I keep the old Created Date?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, on insert, if you turn on the audit fields setting and give the loading user that permission.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How do I undo a bad load?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Data Loader&#8217;s success file lists the new IDs. You can use it to delete or fix those records.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Official Resources<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.dataLoader.meta\/dataLoader\/data_loader.htm\" target=\"_blank\" rel=\"noopener noreferrer\">Data Loader Guide (Salesforce Developers)<\/a><\/li>\n\n<li><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.data_import_wizard.htm&amp;type=5\" target=\"_blank\" rel=\"noopener noreferrer\">Data Import Wizard (Salesforce Help)<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Quick Recap<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Salesforce Data Migration moves linked records from an old system in a planned way.<\/li>\n\n<li>Load parents before children, starting with users and accounts.<\/li>\n\n<li>External IDs link children to parents without Salesforce IDs.<\/li>\n\n<li>Upsert prevents duplicates when you load the same file twice.<\/li>\n\n<li>Rehearse in a sandbox and switch off unwanted automation first.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s Next?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Your data is now in Salesforce. Next, learn how to see and change your whole data model on one visual canvas. Read <a href=\"https:\/\/swapnilzambare.com\/blog\/salesforce-schema-builder-guide\/\">Salesforce Schema Builder: See and Edit Your Data Model<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Salesforce Data Migration is the planned move of records from an old system, such as spreadsheets or another CRM, into Salesforce without losing links&hellip;<\/p>\n","protected":false},"author":1,"featured_media":710,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_swapz_level":"","_swapz_series_part":0,"_swapz_hide_toc":false,"_swapz_hide_featured":false,"_swapz_description":"","footnotes":""},"categories":[67,8,13],"tags":[68,27,7],"swapz_series":[],"class_list":["post-783","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-advanced-admin","category-salesforce","category-salesforce-admin","tag-advanced","tag-data-management","tag-salesforce"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Salesforce Data Migration: Load Order and Upsert<\/title>\n<meta name=\"description\" content=\"Salesforce Data Migration explained: load order, External IDs, owners, audit fields and automation bypass, with a hands-on student and enrollment move.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Salesforce Data Migration: Load Order and Upsert\" \/>\n<meta property=\"og:description\" content=\"Salesforce Data Migration explained: load order, External IDs, owners, audit fields and automation bypass, with a hands-on student and enrollment move.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/\" \/>\n<meta property=\"og:site_name\" content=\"Swapnil Zambare - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-25T03:30:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-featured.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Swapnil Zambare\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Swapnil Zambare\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-data-migration-load-order\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-data-migration-load-order\\\/\"},\"author\":{\"name\":\"Swapnil Zambare\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#\\\/schema\\\/person\\\/922ac0131aaa7088c78c2cb1700e0c9a\"},\"headline\":\"Salesforce Data Migration: Load Order, External IDs and Relationships\",\"datePublished\":\"2026-06-25T03:30:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-data-migration-load-order\\\/\"},\"wordCount\":1567,\"publisher\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-data-migration-load-order\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/salesforce-data-migration-load-order-featured.png\",\"keywords\":[\"Advanced\",\"Data Management\",\"Salesforce\"],\"articleSection\":[\"Advanced Admin\",\"Salesforce\",\"Salesforce Admin\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-data-migration-load-order\\\/\",\"url\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-data-migration-load-order\\\/\",\"name\":\"Salesforce Data Migration: Load Order and Upsert\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-data-migration-load-order\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-data-migration-load-order\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/salesforce-data-migration-load-order-featured.png\",\"datePublished\":\"2026-06-25T03:30:00+00:00\",\"description\":\"Salesforce Data Migration explained: load order, External IDs, owners, audit fields and automation bypass, with a hands-on student and enrollment move.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-data-migration-load-order\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-data-migration-load-order\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-data-migration-load-order\\\/#primaryimage\",\"url\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/salesforce-data-migration-load-order-featured.png\",\"contentUrl\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/salesforce-data-migration-load-order-featured.png\",\"width\":2400,\"height\":1260,\"caption\":\"Salesforce Data Migration featured image: plan, load and validate linked records\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-data-migration-load-order\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Salesforce Data Migration: Load Order, External IDs and Relationships\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/\",\"name\":\"Swapnil Zambare - Blog\",\"description\":\"Salesforce &amp; Tech Guides\",\"publisher\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#organization\",\"name\":\"Swapnil Zambare - Blog\",\"url\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/site-icon-512.png\",\"contentUrl\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/site-icon-512.png\",\"width\":512,\"height\":512,\"caption\":\"Swapnil Zambare - Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/theSwapnilZambare\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#\\\/schema\\\/person\\\/922ac0131aaa7088c78c2cb1700e0c9a\",\"name\":\"Swapnil Zambare\",\"sameAs\":[\"https:\\\/\\\/swapnilzambare.com\\\/blog\"],\"url\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/author\\\/swapnil-zambare\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Salesforce Data Migration: Load Order and Upsert","description":"Salesforce Data Migration explained: load order, External IDs, owners, audit fields and automation bypass, with a hands-on student and enrollment move.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/","og_locale":"en_US","og_type":"article","og_title":"Salesforce Data Migration: Load Order and Upsert","og_description":"Salesforce Data Migration explained: load order, External IDs, owners, audit fields and automation bypass, with a hands-on student and enrollment move.","og_url":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/","og_site_name":"Swapnil Zambare - Blog","article_published_time":"2026-06-25T03:30:00+00:00","og_image":[{"width":2400,"height":1260,"url":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-featured.png","type":"image\/png"}],"author":"Swapnil Zambare","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Swapnil Zambare","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/#article","isPartOf":{"@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/"},"author":{"name":"Swapnil Zambare","@id":"https:\/\/swapnilzambare.com\/blog\/#\/schema\/person\/922ac0131aaa7088c78c2cb1700e0c9a"},"headline":"Salesforce Data Migration: Load Order, External IDs and Relationships","datePublished":"2026-06-25T03:30:00+00:00","mainEntityOfPage":{"@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/"},"wordCount":1567,"publisher":{"@id":"https:\/\/swapnilzambare.com\/blog\/#organization"},"image":{"@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/#primaryimage"},"thumbnailUrl":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-featured.png","keywords":["Advanced","Data Management","Salesforce"],"articleSection":["Advanced Admin","Salesforce","Salesforce Admin"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/","url":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/","name":"Salesforce Data Migration: Load Order and Upsert","isPartOf":{"@id":"https:\/\/swapnilzambare.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/#primaryimage"},"image":{"@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/#primaryimage"},"thumbnailUrl":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-featured.png","datePublished":"2026-06-25T03:30:00+00:00","description":"Salesforce Data Migration explained: load order, External IDs, owners, audit fields and automation bypass, with a hands-on student and enrollment move.","breadcrumb":{"@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/#primaryimage","url":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-featured.png","contentUrl":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-data-migration-load-order-featured.png","width":2400,"height":1260,"caption":"Salesforce Data Migration featured image: plan, load and validate linked records"},{"@type":"BreadcrumbList","@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-data-migration-load-order\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/swapnilzambare.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Salesforce Data Migration: Load Order, External IDs and Relationships"}]},{"@type":"WebSite","@id":"https:\/\/swapnilzambare.com\/blog\/#website","url":"https:\/\/swapnilzambare.com\/blog\/","name":"Swapnil Zambare - Blog","description":"Salesforce &amp; Tech Guides","publisher":{"@id":"https:\/\/swapnilzambare.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/swapnilzambare.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/swapnilzambare.com\/blog\/#organization","name":"Swapnil Zambare - Blog","url":"https:\/\/swapnilzambare.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/swapnilzambare.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/09\/site-icon-512.png","contentUrl":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/09\/site-icon-512.png","width":512,"height":512,"caption":"Swapnil Zambare - Blog"},"image":{"@id":"https:\/\/swapnilzambare.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/in\/theSwapnilZambare"]},{"@type":"Person","@id":"https:\/\/swapnilzambare.com\/blog\/#\/schema\/person\/922ac0131aaa7088c78c2cb1700e0c9a","name":"Swapnil Zambare","sameAs":["https:\/\/swapnilzambare.com\/blog"],"url":"https:\/\/swapnilzambare.com\/blog\/author\/swapnil-zambare\/"}]}},"_links":{"self":[{"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/posts\/783","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/comments?post=783"}],"version-history":[{"count":0,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/posts\/783\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/media\/710"}],"wp:attachment":[{"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/media?parent=783"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/categories?post=783"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/tags?post=783"},{"taxonomy":"swapz_series","embeddable":true,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/swapz_series?post=783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}