Prodigitas× Hubbard
Prodigitas · migration proposal

Hubbard: consolidating four legacy CRMs into one HubSpot portal

RAB, SalesIQ, Rumple and ShareBuilders, mapped, cleaned, merged and loaded into the HubSpot environment LeadG2 is designing. Here's what we found in the sample exports, how we'd run the migration, and what it costs, phase by phase.

$14,000

fixed fee, phases 1-2 (core)

14 wks

to go-live, plus 2 weeks buffer

4 → 1

legacy systems into one portal

31k+

accounts counted so far, 4 markets pending

Overview

We'll own the migration end to end

We've been through the requirements, the answers your team gathered and the seven sample exports. The volumes are manageable. The real work is in linking records that don't share IDs, merging the same advertiser across systems, and deciding how much history is worth bringing across.

LeadG2 owns the future-state data model and the HubSpot configuration. We map every legacy system into that model, clean and merge the data, load it with associations intact, and prove it reconciles before anyone relies on it.

Because a few key answers are still pending, we've split the work into phases. Phase 1 is a short, fixed-fee data audit that confirms everything the later phases depend on. Hubbard can commit to it now, at low risk.

What moves into HubSpot

AdvertisersCompanies, merged across systems, with legacy IDs kept for future integrations
ContactsIncluding the extra contacts Rumple keeps as columns on the account
PitchesDeals, mapped to LeadG2's pipelines and stages
DiscoveriesCustom object or deal-linked records, depending on the data model
HistoryOptional phase: activities, forecasts and monthly revenue from 2022

Integrations with Marketron, NetSuite, Mothership and Celigo are out of scope. Legacy IDs are carried across so those connections are easier to build later.

How it works

Every system goes through the same five steps

Nothing touches production until it has loaded cleanly into a sandbox and reconciled. Click any box to see what happens there.

LEGACY CRMSTHE PIPELINEINTO HUBSPOTLIVERABCincinnati, Twin Cities, WPBSalesIQHomegrown, all marketsRumpleN. Minnesota, SeattleShareBuildersPhoenix, St. LouisDC trackersExcel · optionalData auditProfile every exportCounts, gaps, IDsWHERE THE WORK ISMap, clean, mergeField mapping to the data modelCross-system ID referenceDedupe and merge rulesOwner mappingSandbox test loadFull load, Hubbard checks itProduction loadPlus delta at cutoverHubSpotReconciled againsteach source systembefore sign-offLegacy IDs from every system travel with each record, end to end

Map, clean, merge

Where most of the effort goes.

  • Field mapping from each system into LeadG2's data model
  • A cross-reference table linking each record to its legacy IDs
  • Matching rules for the same advertiser across systems, with a review list for uncertain matches
  • Seller-to-owner mapping, including house, National and inactive reps

What we found

The samples confirm the approach, and show where the effort is

We profiled all seven exports: RAB (Cincinnati key accounts), SalesIQ (Cincinnati pitches), Rumple (Alexandria and Seattle) and ShareBuilders (Phoenix accounts, contacts and activity).

2 of 4 systems carry IDs

RAB and Rumple export record IDs. ShareBuilders and SalesIQ link records by name only.

Lots of inactive data

In Phoenix, 498 of 7,126 accounts have billed in the last 3 years. Records go back to 2015.

Contacts hide in columns

Rumple keeps up to 5 contacts and 2 agencies as columns on each account row.

What will need cleanup or matching

  • ShareBuilders contacts have no account ID. About 87% match an account by cleaned-up name; the rest go to a review list.
  • ShareBuilders activity links to records through a free-text “Related To” field (“Contact, Company”). We'd need the raw export with IDs.
  • SalesIQ pitches have no IDs, and the notes field stacks several timestamped entries from different reps in one cell.
  • About half of Phoenix accounts sit with “house” or “National” rather than a seller.
  • Rumple's agency fields are mostly defaults (“Australia”, state “AC”). 56% of Alexandria accounts have never been pitched.
  • Phones come in mixed formats or as placeholders (“--”), and there are 268 duplicate emails among Phoenix contacts.

None of this is unusual for a multi-CRM consolidation. It's why we audit first and agree the rules before building anything.

Accounts by system and market

RAB · Cincinnati7,615
RAB · Twin Citiespending
RAB · West Palm Beachpending
SalesIQ · all markets12,872
Rumple · Brainerd1,530
Rumple · Alexandria736
Rumple · Wadena642
Rumple · Bemidji599
Rumple · Seattlepending
ShareBuilders · Phoenix7,126
ShareBuilders · St. Louispending

31,120 accounts counted so far. Twin Cities, West Palm Beach, Seattle and St. Louis exports are still pending.

Phases & fees

Fixed fee per phase, with history as an option

Phases 1 and 2 are the core migration. Phase 3 and the DC trackers are optional, so Hubbard can choose how much history to pay for. Toggle the options to see the total.

Total for the selected scope$18,500

Notes, logged emails and attachments aren't priced yet. If Hubbard needs them, we'll quote them at the end of phase 1, once we've seen how they export.

Payment milestones

Phase 1

100%

On signing, before work starts.

Phase 2 · 50 / 30 / 20

$6,250 · $3,750 · $2,500

50% at the start of phase 2, 30% when Hubbard signs off the sandbox test load, 20% after the production load and reconciliation.

Optional phases · 50 / 50

On start · On completion

Billed with phase 2 if they run together.

How the fees hold

  • Phase 1 is fixed as stated.
  • Phases 2 and 3 are fixed against the volume and scope assumptions below. If the audit finds the data materially different (more than 20% above the assumed volumes, or a system that can't export with IDs), we'll confirm a revised fee before phase 2 starts. Nothing changes without Hubbard agreeing first.
  • Once phase 2 starts, anything outside scope goes through a short change request, quoted before work starts.

Scope

Who does what, and what we need from Hubbard

LeadG2 runs the client side and the HubSpot design. We run the migration.

LeadG2

  • All client communication
  • Future-state data model and HubSpot configuration
  • Getting exports and system access from Hubbard
  • Getting decisions made on history and merge rules
  • Coordinating Hubbard's checks of the test load
  • User training

Prodigitas

  • Data audit and profiling report
  • Field mapping and transformation spec
  • Cleanup, dedupe and cross-system merge
  • Imports, associations and legacy ID cross-reference
  • Sandbox test load and fix cycles
  • Production load, cutover delta and reconciliation report
  • Weekly status update to LeadG2

Together

  • Mapping review session
  • Sign-off on merge and ownership rules
  • Cutover plan and go-live call

These are general guidelines. We're flexible, and happy to join client calls where it helps.

What Hubbard provides by week 2

  • Full exports from every system in scope, including record IDs, not reports or key-account cuts
  • Record counts for Twin Cities, West Palm Beach, St. Louis and Seattle
  • How SalesIQ data can be extracted: export, database or API
  • Rumple and ShareBuilders opportunity, activity and revenue exports, if phase 3 is in scope
  • The seller list, with who maps to which HubSpot user and how inactive reps are handled
  • A named person who signs off data decisions

Not included

  • Integrations with Marketron, NetSuite, Mothership or Celigo
  • HubSpot configuration, pipelines, reporting and data model design (LeadG2)
  • Notes, logged emails and attachments, unless added after phase 1
  • Fixing data in the legacy systems themselves
  • Data enrichment from outside sources
  • More than one cutover delta load per market, and re-migration after go-live
  • Support beyond 2 weeks of fixes after go-live

Assumptions

  • HubSpot Enterprise, which gives us custom objects for discoveries and a sandbox for test loads
  • Volumes up to roughly 60,000 accounts, 75,000 contacts and 30,000 pitches and discoveries across all systems
  • LeadG2's core data model is largely locked by week 4, so mapping can be signed off by week 5
  • Accounts with no billing, pitch or activity since January 2022 are excluded and handed back to Hubbard as an archive file, unless Hubbard decides otherwise in phase 1
  • One cutover for all markets. A market-by-market rollout is possible but extends the timeline and adds a delta load per wave
  • Hubbard reviews the sandbox test load within 5 business days

Timeline

Go-live in week 14, with 2 weeks of buffer

The migration runs alongside LeadG2's implementation. The audit can start straight away, but mapping waits on the data model, so that's the date that matters most.

W1W2W3W4W5W6W7W8W9W10W11W12W13W14W15W16
Phase 1 · Data audit
Mapping and merge rulesNeeds the data model
Cleanup, merge and transforms
Historical dataPhase 3, optional
DC trackersOptional
Sandbox test load and checks
Production load and reconciliation
Buffer

Diamonds mark milestones: audit report (week 3), mapping sign-off (week 5), test load sign-off (week 12), go-live (week 14).

Weeks 1-5

Audit and mapping

Audit report by week 3, mapping and merge rules signed off by week 5.

Weeks 5-12

Build and test

Cleanup and merge, history if in scope, then a full sandbox test load that Hubbard checks.

Weeks 13-16

Cutover

Production load, a final delta for anything changed since, reconciliation, and 2 weeks of buffer.

If kickoff lands in December, the holidays will likely use part of the buffer. RAB receives a nightly Marketron update, so we'll plan the cutover delta around that feed.

Risks

What could get in the way, and what we'd do about it

Most of the risk in a migration like this sits in the data and in decisions, not in the loading itself.

RiskImpactWhat we'd do
Records with no IDs
ShareBuilders and SalesIQ link contacts and activity by name.
HighAsk for exports with IDs first. Where there are none, match on cleaned names, domains and phones, and send uncertain matches to a review list rather than guessing.
History scope growing
“Keep everything” is the usual first answer.
HighA clear cut-off agreed in phase 1, revenue at monthly summary level, and anything older handed back as an archive file.
Exports differ from the samples
Several samples are reports or partial cuts.
MediumThe audit confirms this before phase 2. If the gap is material, we confirm a revised fee before starting.
Data model arrives late
Mapping can't be signed off without it.
MediumWe start profiling and cleanup first, and map the objects LeadG2 has locked as soon as they're ready.
SalesIQ extraction
Homegrown, and we've only seen a pitch export.
MediumConfirm the method in week 1. A database extract is usually the cleanest route for homegrown systems.
Decision turnaround
The most likely reason the timeline slips.
MediumOne named decision-maker at Hubbard, our recommended default for every open decision, and a written decisions log.

If the audit turns up anything that changes the fee or the timeline, we'll come back to LeadG2 before phase 2 starts.

Open decisions

What we'd like to settle in phase 1

Each one comes with our recommended default, so Hubbard only has to change what doesn't suit them. Anything still open at the end of phase 1 falls back to the default.

01

How far back history goes, and for which records

Default: open and closed pitches from January 2022, plus monthly revenue summaries if phase 3 is in scope.

Hubbard
02

Which inactive accounts are left behind

Default: no billing, pitch or activity since January 2022 → archive file, not HubSpot.

Hubbard
03

Matching rules and which system wins for each field

Default: match on cleaned name plus domain or phone; most recently updated value wins, with RAB first for account data and SalesIQ for sales activity.

Together
04

What happens to house, National and inactive sellers' records

Default: assign to a market-level placeholder owner until reassigned.

Hubbard
05

How markets and stations are represented

Business units, teams or properties, set in LeadG2's data model.

LeadG2
06

How discoveries are stored

Default: a custom object associated with companies and deals.

LeadG2
07

How ad agencies on account records come across

Default: agencies as companies, linked to advertisers with an association label.

LeadG2
08

Whether notes, logged emails and attachments are needed

Default: structured data only. Quoted separately if needed.

Hubbard
09

One cutover, or market by market

Default: one cutover for all markets.

Hubbard
10

Whether the DC trackers are migrated

Default: replaced by HubSpot, not migrated.

Hubbard