Answers
People move both ways and both work. What follows is the same either way; only the names swap.
Connect the new CRM alongside the old one. As soon as both are live, MyVitalAssistant asks a question it will not answer for you: which is the source of truth. The other becomes read only, and from that moment nothing is written there. Two systems writing the same contact is how a record ends up with two versions of the truth and no way to tell which is newer.
Answering “I am still deciding” is a real answer. It parks the question for thirty days and stops asking, then raises it again on its own, because somebody comparing two systems has answered and pestering them to hurry teaches them to lie to the screen.
The migration shows you exactly what it would do before it does anything: how many contacts move, which ones already exist on the other side, and which will be skipped. Read it. This is the one step people skip and the one where a surprise is cheap to fix and expensive to discover afterwards.
Contacts move, with their attribution, so a customer who arrived from a Google ad two years ago still says so afterwards. Historical revenue does not move, and should not: it already exists in your reports here, and copying old orders into a new CRM creates records its automation may act on, which is how somebody gets a receipt for a sale from last March. Your dashboard keeps the whole history regardless of which CRM is connected today.
A contact created without consent evidence lands unmailable, and stays that way until somebody notices the sequence never ran. The migration carries opt in reason across for every contact that has one, so people arrive marketable on the other side. Contacts without any consent evidence arrive unmailable on purpose, because inventing consent during a migration is the one mistake nobody can undo.
Disconnect the old CRM when you are done, not before. Disconnecting offers to remove the tracking fields it holds; leave that unchecked unless it is a permanent goodbye, because the attribution values on your contacts go with them and Keap will not give the field names back if you want them again.
Your tracking snippet, your forms, your call number map and your reports do not change. They point at the account, not at the CRM.