Twelve weeks. 70,000 contacts, close to 50 live campaigns, roughly 2,000 duplicate records, and a Marketo contract that could not be extended. That was CyCognito's move to HubSpot, and it cut over with zero issues. The part that decided the budget wasn't the contact count. It was the campaigns.
That's the pattern in almost every Marketo to HubSpot migration we scope. Teams budget for the data move and underestimate the logic sitting on top of it. This guide covers what the project costs in 2026, what moves the number, and how to read a partner's quote before you sign one. We publish our own prices, so you'll get real figures, not "it depends."
"Migration" can mean a contact import or a rebuild of how marketing and sales run. Five things decide which one you're buying.
Hubs. Marketing Hub alone is the lightest scope. Add Sales Hub and you're designing pipelines, mapping owners and moving deals. Add Service Hub and tickets, SLAs and conversation history come with it.
Integrations. Marketo rarely runs alone. There's a CRM connector, an enrichment feed, a webinar tool, sometimes an ERP integration for order data. Each one gets rebuilt, replaced with a native HubSpot app, or retired.
Smart campaigns. This is the one people miss. An instance that has run for three or four years collects hundreds of programs, and most of them are logic nobody remembers building. Every one you rebuild costs money. Every one you rebuild that didn't need to exist costs it twice.
Database health. Duplicates, records with no email, suspended leads with no reason attached, a scoring model built by someone who left years ago. Cleaning in Marketo before the move is cheaper than cleaning in HubSpot after go-live.
The CRM. Most teams on Marketo also run Salesforce or Dynamics behind it. If the CRM moves too, you add deals, custom objects, activity history and association mapping.
These are the figures on our pricing page, taken from statements of work we've signed in the last 18 months. They're project fees for the migration, not HubSpot subscriptions.
$40k for a lighter build: one hub live on HubSpot with your data in it. $90k for the typical move: marketing and sales on one platform and the legacy system switched off. $165k for a heavier build: four hubs, CPQ and quoting, and finance and product systems connected. Custom integrations add $10k each and native connectors $2.5k.
The migration fee is flat however many systems you're leaving. Moving Marketo and Salesforce together doesn't double it, which is one reason we'd rather you moved both. The migration cost calculator works out your version. No email needed to see the number, and it also shows what you pay twice for while both stacks run. That second number is usually the bigger one.
If part of your business already runs on HubSpot, the AI-readiness audit ($5k to $15k) looks at that portal before anything new lands in it. Every dollar is credited if we go on to do the work.
Migrating everything into HubSpot moves the problem without fixing it. So before any data moves, every Marketo program goes into one of three groups. First, things HubSpot does natively, so nothing gets rebuilt. Second, programs that exist only because of how Marketo is built, haven't fired in months, and won't be missed. Third, real business logic that gets rebuilt properly in HubSpot.
At CyCognito, Marketo was under-used, so nobody wanted it rebuilt as it stood. The audit is what made twelve weeks possible, and the 2,000 duplicates were resolved before anything was copied. As Igal Zeifman, VP Marketing at CyCognito, put it: "This was a complex migration, and they handled it with a high level of ownership and care, resulting in a smooth transition with zero issues."
The same logic applies to data. Contacts who haven't engaged in two years, hard bounces, purchased lists and suspended leads inflate your HubSpot marketing contact tier and hurt deliverability. Leave them behind or bring them in as non-marketing contacts. Custom fields under ten percent populated that don't feed scoring, segmentation or reporting don't get recreated. If nobody can say what a field does in one sentence, it stays in Marketo.
Smart lists become active segments in HubSpot. The filter logic is similar, but field names and operators differ, so each one gets checked. Static lists and standard contact and company fields move cleanly with proper mapping.
Engagement programs and nurture tracks become workflows, and a complex multi-branch program may become several. The Revenue Cycle Modeler maps to lifecycle stages with some simplification. Lead scoring gets rebuilt in HubSpot's scoring tool rather than copied rule by rule.
Some things don't carry over at all. Marketo's behavioral history (opens, clicks, web visits) can't be imported as native HubSpot activity that triggers workflows. You can store a summary in custom properties for segmentation, but it won't show on the timeline. Historical stage transitions from the revenue cycle model have no direct equivalent either, so decide which reports you need on day one and rebuild those.
On Marketo plus Salesforce, the MQL-to-SQL handoff crosses a sync. A lead qualifies in one system, syncs to the other, and a rep picks it up. That sync is where handoff gaps hide.
On HubSpot, marketing and sales work on the same record. The handoff is a lifecycle stage change. Teams usually find out the old process had delays nobody could see. That's uncomfortable at first and useful for a lot longer. It's also the practical case for moving the CRM in the same project. You close the gap once, instead of rebuilding the sync that caused it.
Marketo keeps global unsubscribes on the lead record. In HubSpot, consent lives in subscription types and, if you're under GDPR, the legal basis for processing on each contact. Map both deliberately, recreate suppression lists, and then reconcile. Pull every opted-out contact in HubSpot and check it against your Marketo unsubscribe export before the first send.
Your sending setup doesn't transfer either. Authenticate your domain in HubSpot (SPF, DKIM, DMARC), because the Marketo configuration stays with Marketo. Suppress hard bounces before you send anything. If you're used to large sends, ramp volume over the first few weeks rather than blasting the whole database on day one. Then send a test to an internal seed list and check where it lands.
Marketo isn't a failing product, and some teams should keep it. If your marketing ops team is big enough that the campaign queue is short, your attribution reconciles to pipeline without a spreadsheet in the middle, and your program logic is documented, you have what most teams are trying to buy.
If you're halfway through a CDP rollout or another system change, this is the wrong quarter. Two platform changes at once tend to finish neither. We'd rather say that on the first call than eleven months into a project that didn't need to happen.
Start with the model. A fixed-scope partner quotes a price and a set of deliverables. A time-and-materials partner quotes a rate and an estimate. Scope grows once the audit shows what really needs rebuilding. On fixed scope that growth is the partner's problem. On T&M it's yours.
Then ask who does the work. Some firms scope with a senior consultant and hand the build to a junior team. The audit is where that shows, because knowing which programs to leave behind comes from having done it before. Ask whether they hold HubSpot's data migration accreditation. It doesn't guarantee quality, but it's a baseline.
And ask for a number early. If a partner can't tell you what the project costs before the third call, that tells you something. The cheapest quote is often the one missing a phase you'll pay for later.
It depends on how many programs survive the audit and whether the CRM moves too. CyCognito's migration, with 70,000 contacts and close to 50 live campaigns, took twelve weeks.
Rebuilding programs. Smart campaigns, nurtures and scoring models all have to be rebuilt in HubSpot's structure. An audit before the migration keeps that scope honest.
If your data is clean and the scope is one hub with simple programs, yes. It gets risky with custom objects, historical activity, complex scoring or compliance requirements.
At Penguin, the migration fee is flat however many systems you're leaving. More hubs and integrations add to the price. More legacy systems don't.
If you've done this move and something surprised you that isn't on this list, tell me. I'd like to know what we're missing.
This came out of a client project. The story behind it, and what to check in your own portal, goes to subscribers on Thursdays. Get Thursday's note.