The Data Migration Tool is not a single command. Its version must match the target Magento version exactly, and it runs in 3 ordered modes. Settings moves configuration, websites and store views. Data moves the catalog, customers and orders. Delta keeps the 2 databases in sync while the new store is tested. Delta mode installs m2_cl_* changelog tables and triggers directly into the live Magento 1 database, then runs in a loop until it is stopped with Ctrl-C. Attributes and CMS pages created in Magento 1 after delta starts are not migrated, so a merchandiser who builds a campaign landing page or adds a size attribute during that window will find it missing at go-live. Freeze content and attribute creation in Magento 1 on the day delta begins, and put the freeze in writing.
The url_rewrite table is the second failure point. With "Generate URL Rewrites for Products on Category Save" enabled, Magento 2 writes a rewrite row for every product in every category it is assigned to. A catalog of 3,000 products assigned across 200 categories can therefore generate up to 600,000 rewrite rows. A rewrite table that is regenerated rather than migrated looks correct in staging and drops redirects in production. Export the legacy URL map before cutover, hold it as flat 301 rules at the web server or CDN rather than inside Magento, and re-test the top 500 URLs by traffic in the week after launch.
The module audit is the third. Magento 1 extensions do not run on Magento 2, so every installed module resolves to a rebuild, a paid Magento 2 replacement, or a deletion because Magento 2.4 covers the function natively. The audit is the cheapest phase to run and the easiest to skip when agencies are competing on a fixed price, which is how a fixed price turns into a change order once the module list is finally opened.
EAV attribute collisions are the quieter failure. Two attributes sharing an attribute_code across different attribute sets, or an attribute a Magento 1 extension created with a type Magento 2 treats differently, will either fail mid data-mode or write nulls without raising an error. Map attribute codes before the first data run rather than after it.
Scope the target version, not only the project. Adobe's release lifecycle page lists 2.4.6 as having left regular support on August 11, 2026 with extended support to August 31, 2027, 2.4.7 in regular support until May 31, 2027 with extended support to May 31, 2028, and 2.4.8 in regular support until May 31, 2028. A migration that lands on a version whose support window closes within the year books the next upgrade project on the day it goes live. Pick the target version off Adobe's published dates before the rebuild is scoped.