Gating a Marketo Shutdown on Five Conditions, Not a Calendar Date
Marketo access was set to close on a fixed date with no guaranteed grace period, so the database it held couldn't simply be exported and trusted. We built the migration around an explicit rule excluding the tens of thousands of contact records with no email address, then gated the shutdown itself on a five-condition check validated against the first live submissions, not assumed from the migration run alone.
Executive Summary
Context
The Marketo-to-HubSpot marketing automation migration ran inside a phased engagement that also moved the client onto a new CMS and a new Salesforce sync, but the platform closure carried its own deadline: Marketo access ended March 30 with no guaranteed grace period, independent of how the other workstreams landed. The database itself, and the shutdown it fed, needed a rule and a gate of their own.
What We Built
We built a pre-cutover audit of the Marketo database, a migration rule excluding any contact record with no email address, and a five-condition Definition of Safe Shutdown gate covering task parity, console behaviour, reporting, an archived export, and a completed contact migration, checked against the first live submissions before Marketo was switched off ahead of its fixed access cutoff.
Tech Stack
- Marketo
- HubSpot
- Salesforce Sales Cloud
Not a fit if every legacy contact record has to land in the new platform regardless of data quality: this migration deliberately held back tens of thousands of records with no email address rather than import them. Also not a fit if a shutdown can be scheduled on a date alone; the gate here only cleared once real submissions were checked against it, not once the migration script finished running.
The Challenge
The Marketo database held 186,681 contacts, 174,508 of them marketable, and 73,843 with no email address on file. HubSpot deduplicates incoming contacts on email by default. So importing the emailless group as recorded risked creating tens of thousands of duplicate contacts instead of a clean set.
All of this had to be settled before a fixed date. Marketo access was set to end on March 30, and there was no guaranteed grace period once the account closed.
Our Approach
We excluded any contact record without an email address, rather than build a process to catch the duplicates that HubSpot's dedupe would otherwise create. That kept the import to the 174,508 marketable contacts the audit had already confirmed.
Decommissioning Marketo then ran against a documented Definition of Safe Shutdown. It had five conditions: Salesforce task parity with the legacy system, correct appearance in the live console, matching reports, an archived historical export, and a completed contact migration. All five had to be true at once before the account could close.
We didn't trust the gate to the migration's completion alone. The team checked the first ten live submissions end to end, comparing the Salesforce Qualification Tasks the rebuilt routing created against what Marketo would have produced, before scaling the cutover to the full database.
Impact
Tens of thousands of emailless records excluded on purpose
Of the Marketo database's 186,681 contacts, 73,843 carried no email address. Excluding them from the migration kept the import to the 174,508 marketable contacts the audit had already confirmed, rather than risk HubSpot's default email-based dedupe creating duplicates at that scale.
Shutdown gated on five named conditions, not a date
A documented Definition of Safe Shutdown required Salesforce task parity, correct console appearance, matching reports, an archived historical export, and a completed contact migration, all five true at once, before Marketo access was allowed to close.
The gate checked against real submissions before scaling
The team validated the first ten live submissions end to end, comparing HubSpot's Salesforce Qualification Tasks against what Marketo's legacy routing would have produced, before trusting the gate for the full cutover.
Migration held to a fixed, non-negotiable cutoff
Marketo access was scheduled to end March 30 with no guaranteed grace period. The Implementation Tracker's last edit marked the Marketo-import workstream Completed, confirming the migration and its shutdown gate cleared against that fixed date.
The audit counted 186,681 total contacts, 174,508 marketable, and 73,843 with no email address, giving the migration rule a specific number to exclude rather than a general data-quality guess.
Rather than build a process to catch the duplicates HubSpot's default email-based dedupe would create, the migration held back any record with no email address, keeping the import to contacts the audit had already confirmed marketable.
Task parity, correct console appearance, matching reports, an archived historical export, and a completed contact migration each had to be true; the Definition of Safe Shutdown treated the five as a single gate, not separate sign-offs.
Before scaling the cutover, the team checked the first ten live submissions end to end, comparing the Salesforce Qualification Tasks the rebuilt routing created against what Marketo's legacy routing would have produced.
The Marketo database is audited before cutover, and contacts with no email address are held back by an exclusion rule, because HubSpot deduplicates on email and would otherwise create duplicates. Marketable contacts migrate to HubSpot. Live submissions in HubSpot are then compared with the legacy Qualification Tasks in Salesforce to confirm task parity. Marketo is switched off only once the Definition of Safe Shutdown gate shows all five conditions met.
FAQ
HubSpot deduplicates incoming contacts on email by default. Importing the 73,843 records in the Marketo database with no email address risked creating tens of thousands of duplicates rather than a clean set, so the migration excluded them and kept the import to the 174,508 contacts already confirmed marketable.
A documented Definition of Safe Shutdown named five conditions, including Salesforce task parity with the legacy system and a completed contact migration, that all had to be true. The team checked the gate against the first ten live submissions end to end before trusting it for the full cutover, ahead of Marketo's fixed access deadline.