CRM migration

Migrate from e-shot to HubSpot

Field-level mapping, validation, and rollback between e-shot and HubSpot. We move data and schema; workflows are rebuilt natively in HubSpot.

e-shot logo

e-shot

Source

HubSpot

Destination

HubSpot logo

Compatibility

100%

12 of 12

objects map 1:1 between e-shot and HubSpot.

Complexity

BStandard

Timeline

24–48 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

e-shot functions primarily as an email marketing platform with contact management and campaign tracking. HubSpot CRM offers a richer object model — contacts, companies, deals, tickets, calls, emails, meetings, and custom objects — with native lifecycle stages, deal pipelines, and an association graph between records. The migration carries e-shot contacts and their properties into HubSpot Contacts, campaign membership into HubSpot custom properties or campaign associations, and engagement history (opens, clicks, sends) into HubSpot's contact activity timeline or custom properties. We do not migrate e-shot workflows or automation sequences — those must be rebuilt in HubSpot's workflow engine. Custom properties created in e-shot map to HubSpot custom contact or company properties, which your HubSpot admin creates before data lands. The migration runs via HubSpot's API and Bulk API endpoints, with a scoped read-access credential on e-shot so your team continues working throughout the cutover window. During the cutover window, FlitStack AI reads e-shot data through a scoped read‑only credential, ensuring your marketing team can continue launching campaigns without interruption. The migration engine writes records to HubSpot via the CRM API and Bulk API, handling batched inserts, property validation, and duplicate detection. After the primary load, a delta‑pickup phase captures any new or updated contacts that arrived in e-shot during the cutover, ensuring the final HubSpot dataset matches the source at go‑live.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

e-shot logo

e-shot

What's pushing teams away

  • Import failures and intermittent system reliability frustrate users — contacts sometimes fail to load and template rendering breaks unpredictably, requiring manual intervention.
  • The analytics interface is widely regarded as dated and unintuitive, prompting teams to export data to external BI tools rather than rely on in-platform reporting.
  • The basic tier caps active Preferences at 25 and Automated Series at 3, which forces growing teams to upgrade or manage within artificially constrained campaign structures.
  • Some users report the platform feels slower than competing email tools during high-volume sends, particularly on the basic tier with lower API rate limits.

Choosing

HubSpot logo

HubSpot

What's pulling them in

  • Lowest barrier to entry of any major CRM — the free tier with unlimited contacts lets teams validate fit before committing to a paid plan, according to G2 and Capterra reviewers.
  • Native integration between the CRM and sales engagement tools (sequences, email tracking, dialer) means no separate sync configuration, a theme across G2 Sales Hub reviews.
  • Pipeline visualization, deal tracking, and automated workflows are consistently praised as intuitive and easy to set up without developer involvement.
  • Strong onboarding for new team members — reviewers on Capterra and G2 highlight how quickly new reps become productive without formal training.
  • The HubSpot platform ecosystem (Marketing, Sales, Service, CMS hubs) allows growing companies to consolidate tools without building new integrations.

Object mapping

How e-shot objects map to HubSpot

Each row shows how a e-shot object lands in HubSpot, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

e-shot

Contact

maps to

HubSpot

Contact

1:1
Fully supported

HubSpot's primary CRM object. All e-shot contact properties migrate as HubSpot contact properties. First name, last name, email, phone, job title, and address fields map directly. Custom e-shot properties become HubSpot custom contact properties after your admin creates the schema in HubSpot.

e-shot

Company (e-shot contact property)

maps to

HubSpot

Company

1:1
Fully supported

e-shot stores company as a text property per contact. We extract unique company names, create HubSpot Company records, and link each contact to their primary Company via the HubSpot association. Secondary company associations (N:1 in e-shot) surface as additional Company associations in HubSpot.

e-shot

Campaign Membership

maps to

HubSpot

Campaign + Campaign Member

1:1
Fully supported

e-shot campaign data per contact migrates to HubSpot Campaigns with campaign membership records. Each e-shot campaign becomes a HubSpot Campaign object; contact participation maps as Campaign Members with activity type and date preserved. Campaign names and IDs stored in HubSpot for reconciliation.

e-shot

Email Engagement (open, click, send, bounce)

maps to

HubSpot

Contact Activity Timeline + Custom Properties

1:1
Fully supported

e-shot engagement events (opens, clicks, unsubscribes, bounces) are too granular for HubSpot's native activity model. We summarize engagement history as custom properties on the Contact (e.g., last_email_open_date, total_email_opens, last_click_date) and attach a structured engagement log as a CSV file uploaded to the contact's file attachments for audit reference.

e-shot

Contact Property (custom)

maps to

HubSpot

Contact Property (custom)

1:1
Fully supported

Every e-shot custom contact property requires a corresponding HubSpot custom property. Your admin creates the HubSpot property first (Settings > Properties > Contact properties) with the correct type (string, number, date, enumeration). We surface the full property list in the migration plan so nothing is missed before data lands.

e-shot

Tag / Segment

maps to

HubSpot

HubSpot List or Contact Property

1:1
Fully supported

e-shot contact tags or segment membership migrate to HubSpot as either static lists (one per tag) or as a multi-select custom contact property (tags_as_string__c). Multi-select is preferred for compatibility with HubSpot's list and workflow engine. Your admin chooses the strategy before migration runs.

e-shot

Owner / User

maps to

HubSpot

HubSpot User

1:1
Fully supported

e-shot user records map to HubSpot users by email address match. Unmatched users are flagged before migration — your team either creates HubSpot user accounts first or assigns records to a fallback HubSpot owner. No record lands without a valid HubSpot owner assignment.

e-shot

Form Submission

maps to

HubSpot

Contact Property + Note

1:1
Fully supported

e-shot form submission data per contact migrates as HubSpot contact properties (submission date, form name, utm source) and a Note attached to the contact record. Form field values that differ from standard contact properties become custom contact properties created in HubSpot before migration.

e-shot

Automated Series / Workflow

maps to

HubSpot

Not Migrated

1:1
Fully supported

e-shot automated series and workflow definitions do not have a HubSpot equivalent at the data layer. They must be rebuilt in HubSpot's workflow engine post-migration. We export your e-shot series definitions as a structured JSON reference document for your HubSpot admin to use during the rebuild phase.

e-shot

Landing Page

maps to

HubSpot

HubSpot Landing Page

1:1
Fully supported

e-shot landing pages are HTML assets that cannot be imported into HubSpot's landing page module. The content, form fields, and lead-gen URL structure are documented in the migration plan. Your team rebuilds landing pages in HubSpot's design manager using the content as a reference.

e-shot

Attachment / File

maps to

HubSpot

HubSpot File Manager

1:1
Fully supported

Files attached to e-shot contact records download and re-upload to HubSpot's file manager, linked to the contact record via the Files tool. File size limits follow HubSpot's file upload constraints (up to 256MB per file in most plans). Inline images in email templates are re-hosted and URL-updated.

e-shot

SMS Campaign Data

maps to

HubSpot

Contact Property + HubSpot SMS Tool (post-migration)

1:1
Fully supported

e-shot SMS campaign membership migrates to HubSpot as custom contact properties tracking SMS opt-in status, last SMS send date, and campaign name. Full SMS campaign history and message content requires HubSpot's paid SMS add-on, which your team configures post-migration. These properties enable basic SMS attribution in HubSpot reports and list segmentation. Full message content remains in e-shot until your team configures HubSpot's SMS add-on.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

e-shot logo

e-shot gotchas

Medium

File attachments blocked in bulk email sends

Low

Tier limits apply to active (live) objects only

Medium

Merge-tag fallback values must be replicated

Low

No dedicated bulk export endpoint documented

HubSpot logo

HubSpot gotchas

High

Marketing Contacts billing model is migration-critical

High

Feature tier gating is not visible until onboarding

Medium

Mandatory onboarding fees inflate year-one cost

Medium

HubSpot CSV importer cannot migrate engagements or attachments

Medium

Custom objects require Enterprise and a pre-existing schema

Pair-specific challenges

  • e-shot lifecycle and lead-status fields map to HubSpot's native lifecycle_stage but require pick-list preparation

    e-shot contact records often include a stage or lifecycle field unique to the e-shot setup — there is no universal mapping to HubSpot's lifecyclestage pick-list (subscriber, lead, MQL, SQL, customer, evangelist). If e-shot stores custom stage names, your HubSpot admin must add those as pick-list options before migration. Records with unmatched stage values land as the HubSpot default or are flagged in the migration report for manual resolution. This is a planning-step requirement, not a data-loss risk, but it extends the pre-migration timeline if overlooked.

  • e-shot engagement history (opens, clicks, sends) is event-level data that requires summarization into HubSpot custom properties

    HubSpot's native activity timeline records calls, emails, meetings, and notes as discrete objects with timestamps, but it does not natively store per-contact campaign engagement event logs. e-shot's granular open/click event records therefore cannot migrate row-by-row into HubSpot's timeline. FlitStack AI summarizes the engagement history — last open date, last click date, total opens, total clicks, last campaign name — into custom contact properties and attaches a structured CSV audit log to each contact's file attachments. This preserves the data for reporting but requires your team to build HubSpot reports around the custom properties rather than native engagement objects.

  • e-shot custom contact properties require HubSpot schema setup before migration runs

    Every custom field in e-shot — tags, UTM parameters, engagement summaries, account identifiers — needs a corresponding HubSpot contact property created before the migration batch commits. The HubSpot API will reject records submitted with property names that do not exist in the portal schema. FlitStack AI generates a property creation checklist from the e-shot field inventory and validates the schema match before the first record batch is submitted. If your e-shot setup has more than 30 custom properties, this schema setup step alone can take 2–3 days of admin work depending on your HubSpot plan permissions.

  • e-shot company data stored per contact collapses to a single HubSpot Company association

    e-shot stores company as a text property on the contact record, not as a separate object with associations. If a contact has multiple company associations in e-shot (e.g., a consultant affiliated with multiple clients), HubSpot's Contact-Company association model allows multiple companies per contact, but the migration must decide which is primary. We apply a most-recently-modified rule by default; your admin can override with a different rule before migration. All secondary company names are preserved as custom multi-select properties for reference.

  • e-shot automated series and workflows do not migrate — rebuild reference document is provided

    e-shot's automated series (Automated Series in pro and omni tiers, 25–100 active series depending on plan) are workflow definitions that do not export in a format compatible with HubSpot's workflow engine. We provide a structured JSON export of your e-shot series definitions including trigger conditions, step actions, and timing rules. Your HubSpot admin uses this as a rebuild reference. The rebuild is a separate project scope and is not included in the migration price. Marketing-automation logic including lead scoring, behavioral triggers, and nurture sequences must be rebuilt from scratch in HubSpot's workflows tool.

Migration approach

Six steps for a successful e-shot to HubSpot data migration

  1. Audit e-shot contact schema and create HubSpot custom properties

    FlitStack AI extracts the full e-shot contact property inventory including all custom fields, pick-list values, and UTM parameters. We compare this against HubSpot's existing contact properties and generate a property creation checklist for your HubSpot admin. Every custom e-shot field gets a corresponding HubSpot custom property (with the correct type: string, number, date, enumeration, or boolean). The schema must be complete before the first migration batch runs — HubSpot's API rejects records with unrecognized property names.

  2. Extract e-shot companies into HubSpot Company records

    e-shot stores company as a text property per contact, not as a separate object. We extract all unique company names, create HubSpot Company records, and map each contact's company property to the HubSpot Company lookup. Parent-company relationships, if present in e-shot as custom fields, map to HubSpot's Parent Company field. Secondary company associations per contact are preserved as custom multi-select properties. Company records are migrated before contacts so the Contact-Company lookups resolve correctly.

  3. Resolve e-shot users to HubSpot owners by email

    e-shot user accounts map to HubSpot owners by email address. We run an owner resolution pass against your HubSpot user list before migration. Unmatched users are flagged in the migration plan — your team creates HubSpot user accounts or assigns records to a fallback owner before the migration commits. No contact lands in HubSpot without a valid OwnerId. This step also captures the e-shot user ID and stores it on the contact record for post-migration audit.

  4. Run a sample migration with field-level diff on 200–500 records

    A representative slice of e-shot contacts migrates into your HubSpot sandbox or staging portal first — typically 200–500 records spanning different contact types, tag categories, and engagement levels. We generate a field-level diff showing each source field, the HubSpot destination property, the mapped value, and any validation warnings (unmatched pick-list values, blank required fields, owner resolution failures). You review the diff before the full migration commits. This is the point to catch any custom property naming mismatches or lifecycle stage mapping gaps.

  5. Execute full migration with delta-pickup window for in-flight changes

    The full migration batch runs against your HubSpot portal via the HubSpot CRM API and Bulk API. FlitStack AI sequences the migration: Companies first, then Contacts, then Campaign Membership and engagement summaries. During the cutover window your team continues working in e-shot — scoped read access is used, not write access. A delta-pickup window (typically 24–48 hours) captures any new contacts or updated records created in e-shot during the cutover. An audit log records every operation, and one-click rollback is available if the reconciliation check fails.

Platform deep dives

Context on both ends of the pair

e-shot logo

e-shot

Source

Strengths

  • Tiered pricing from £200/month provides a clear upgrade path without per-seat licensing on any plan.
  • Unlimited users across all tiers means whole teams can access the platform without incremental cost.
  • Dedicated deliverability tooling for Microsoft contacts, important for UK enterprise senders on Microsoft 365.
  • Contact field manager and merge-tag fallback syntax give non-technical users granular personalisation control.
  • Open API with JSON REST endpoints and tiered rate limits up to 5,000 calls per hour on omni.

Weaknesses

  • Analytics UI is repeatedly described as dated and difficult to navigate compared to modern email platforms.
  • Import reliability issues and intermittent system downtime affect campaign and contact loading.
  • Landing page and automation features are tier-gated, requiring upgrades as team complexity grows.
  • Basic tier has hard limits on live preferences, series, filters, and popups that constrain active campaigns.
  • Template design tools lack some drag-and-drop flexibility found in newer email builders.
HubSpot logo

HubSpot

Destination

Strengths

  • Genuinely useful free CRM tier with no seat limit on contact records.
  • All-in-one sales engagement layer (sequences, email tracking, calling, dialer) embedded natively in the CRM, eliminating a separate integration.
  • Intuitive interface and fast onboarding for individual reps, per G2 and Capterra reviews.
  • Workflow automation triggers across contacts, deals, and tickets with a visual builder.
  • API coverage for all standard objects including custom objects at Enterprise tier.

Weaknesses

  • Pricing model is contact-based at the marketing layer — importing all records as marketing contacts can multiply the monthly bill by 4×.
  • Feature tier cliffs are frequent surprises: sequences, calling, advanced reporting, and quoting are all gated, often requiring plan upgrades mid-implementation.
  • Mandatory onboarding fees at Professional ($1,500) and Enterprise ($3,500) are not prominently disclosed on the pricing page.
  • API rate limits are restrictive for bulk migration — burst limits of 100-200 req/10sec and search endpoint limits of 4 req/sec require careful job queuing.
  • Custom objects, additional pipelines, and advanced forecasting are Enterprise-only, making cost projections difficult for growing teams.

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across e-shot and HubSpot.

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    e-shot: 500–5,000 requests per hour depending on tier (basic: 500, pro: 2,000, omni: 5,000).

  • Data volume sensitivity

    B

    e-shot doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your e-shot to HubSpot migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about e-shot to HubSpot data migrations

Answers to the questions buyers ask most during e-shot to HubSpot migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your e-shot to HubSpot migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most e-shot to HubSpot migrations complete within 24–48 hours of clock time for portals with fewer than 25,000 contacts. Larger setups with 250,000+ contacts or more than 30 custom properties extend to 5–8 days. The longest planning step is HubSpot schema setup — creating custom properties for every e-shot custom field before the first batch runs. The actual data movement via HubSpot's API is typically faster than the schema preparation.

Adjacent paths

Related migrations to explore

Ready when you are

Move from e-shot.
Land in HubSpot, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day