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
| Advertisers | Companies, merged across systems, with legacy IDs kept for future integrations |
| Contacts | Including the extra contacts Rumple keeps as columns on the account |
| Pitches | Deals, mapped to LeadG2's pipelines and stages |
| Discoveries | Custom object or deal-linked records, depending on the data model |
| History | Optional 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.
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
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.
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.
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.
| Risk | Impact | What we'd do |
|---|---|---|
| Records with no IDs ShareBuilders and SalesIQ link contacts and activity by name. | High | Ask 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. | High | A 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. | Medium | The 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. | Medium | We 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. | Medium | Confirm 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. | Medium | One 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.
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.
Which inactive accounts are left behind
Default: no billing, pitch or activity since January 2022 → archive file, not HubSpot.
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.
What happens to house, National and inactive sellers' records
Default: assign to a market-level placeholder owner until reassigned.
How markets and stations are represented
Business units, teams or properties, set in LeadG2's data model.
How discoveries are stored
Default: a custom object associated with companies and deals.
How ad agencies on account records come across
Default: agencies as companies, linked to advertisers with an association label.
Whether notes, logged emails and attachments are needed
Default: structured data only. Quoted separately if needed.
One cutover, or market by market
Default: one cutover for all markets.
Whether the DC trackers are migrated
Default: replaced by HubSpot, not migrated.