How to Import Your Existing Data Into OSCOM (Contacts, Content, Analytics History)
Migrating to OSCOM? Here's how to import your contacts, historical content, analytics data, and campaign history.Step-by-step walkthrough with screenshots and best practice tips.
Switching to a new platform is not scary because of the new features. It is scary because of the old data. You have 14,000 contacts in HubSpot, 3 years of email campaign history in Mailchimp, 18 months of analytics events in GA4, and a CRM full of deal records that represent your entire institutional memory. The moment someone says "let us migrate to OSCOM," the first question is not about features. It is about data. Can I bring everything with me? Will I lose anything? How long will this take?
The answer is that OSCOM was built for exactly this scenario. The import system handles contacts, companies, deals, email history, content assets, analytics events, and custom properties from virtually any source. You can import from CSV files, direct integrations with major platforms, or the OSCOM API. This guide walks through every import type, covers the data mapping process, explains how OSCOM handles deduplication and conflict resolution, and provides specific instructions for migrating from the most common platforms.
The goal is not just to move data. It is to move data cleanly, so that your first day on OSCOM feels like day 1,096 of your business, not day one. Your lead scores should carry over. Your segmentation should work immediately. Your analytics history should show continuous trends, not a cliff where the old platform ended and the new one began.
- OSCOM supports CSV imports, direct platform integrations (HubSpot, Salesforce, Mailchimp, GA4), and API-based imports for custom sources.
- The Smart Mapper automatically detects and maps fields from your source data, handling 85%+ of field mappings without manual configuration.
- Deduplication runs automatically on email, domain, and company name with configurable merge rules so you do not create duplicate records.
- Import analytics history (events, pageviews, conversions) to maintain continuous reporting from day one. No data gap between platforms.
Understanding the OSCOM Data Model
Before importing anything, you need to understand how OSCOM organizes data internally. Every record in OSCOM belongs to one of six core objects: Contacts, Companies, Deals, Activities, Content Assets, and Analytics Events. These objects are interconnected. A Contact belongs to a Company. A Deal is associated with one or more Contacts and a Company. Activities (emails sent, meetings booked, calls made) are linked to both Contacts and Deals. Content Assets are the emails, landing pages, and social posts you create. Analytics Events are the behavioral data points (page views, form submissions, feature usage) that feed scoring and segmentation.
When you import data, OSCOM maps your source fields to properties on these objects. A "First Name" column in your CSV maps to the Contact object's first_name property. A "Company Revenue" column maps to the Company object's annual_revenue property. OSCOM ships with 120+ standard properties across all objects, and you can create unlimited custom properties for data that does not fit the defaults.
The import process is three phases: upload, map, and execute. During upload, you provide the data. During mapping, OSCOM's Smart Mapper analyzes your columns and suggests property assignments. During execution, records are created or updated, deduplication runs, and validation checks flag any issues. The entire process is non-destructive. Nothing in your source system is modified, and OSCOM creates a complete import log that you can review and roll back if needed.
The Three-Phase Import Process
Provide data via CSV upload, direct integration sync, or API push. OSCOM accepts files up to 500MB and 2 million rows per import batch.
Smart Mapper analyzes column headers, data types, and sample values to auto-suggest field mappings. Review and adjust any mappings before proceeding.
Records are created or updated. Deduplication runs. Validation flags errors. A complete import log is generated for review.
Importing Contacts and Companies
Contact and company imports are the foundation. Everything else (deals, activities, analytics) references contacts and companies, so these need to be imported first. Navigate to Settings, then Data Management, then Import. Select "Contacts" as your import type and choose your source.
CSV Import
For CSV imports, prepare your file with one row per contact. At minimum, include an email address. OSCOM uses email as the primary identifier for contacts and domain extraction for company matching. If your CSV includes company information (company name, industry, employee count, revenue), OSCOM automatically creates or matches Company records and associates the contacts. You do not need separate files for contacts and companies unless your company data is significantly richer than what appears on contact rows.
Upload your file and the Smart Mapper appears. It analyzes every column header and the first 100 data values in each column. Headers like "First Name," "first_name," "fname," and "First" all map to the same contact property. The mapper handles dozens of common variations and achieves 85% or higher automatic mapping accuracy on typical CRM exports. For each suggested mapping, you see the source column name, three sample values, the suggested OSCOM property, and a confidence indicator. Green means high confidence. Yellow means review recommended. Red means no match found and manual assignment is needed.
For columns the mapper cannot match, you have three options. Map to an existing OSCOM property manually by searching the property list. Create a new custom property on the fly, specifying the data type (text, number, date, dropdown, boolean). Or skip the column entirely if the data is not needed. Skipped columns are still preserved in the import log so you can re-map them later without re-uploading.
Before executing, configure your deduplication rules. The default is email-based dedup: if a contact with the same email already exists in OSCOM, the import updates the existing record instead of creating a duplicate. You can change the dedup key to phone number, a custom external ID, or a composite key (email + company name). For each duplicate found, choose whether to overwrite existing values with import values, keep existing values, or use the most recently modified value. These rules apply globally to the import, but you can set per-field overrides for critical properties.
Direct Integration Import
For HubSpot, Salesforce, Pipedrive, and Zoho CRM, OSCOM offers direct integration imports that are faster and more accurate than CSV. Navigate to Settings, Integrations, and connect your CRM. Once authenticated, OSCOM scans your CRM schema and presents a property mapping interface that shows every field in your CRM alongside the suggested OSCOM property. Because the integration understands your CRM's data model natively, mapping accuracy exceeds 95% for standard fields.
Direct integrations also import relationships that CSV cannot capture. Contact-to-company associations, deal stage histories, activity timelines, and list memberships all transfer automatically. A contact who was in your "Enterprise Prospects" list in HubSpot appears in a corresponding OSCOM segment after import. Deal stage history imports with timestamps, so your pipeline reports show accurate velocity metrics from day one.
You can choose to import all records or filter by criteria. Import only contacts created after a certain date, only contacts in specific lists, only contacts with deals, or only contacts matching specific property values. Filtering is useful when you want to leave legacy data in the old system and only bring active records into OSCOM.
Based on OSCOM import analytics across all customer accounts
Importing Email History and Campaign Data
Your email history is institutional knowledge. Which contacts have received which campaigns, when they opened, what they clicked, who unsubscribed. Losing this data means risking compliance violations (emailing someone who unsubscribed), repeating campaigns (sending the same content to the same audience), and losing engagement context (not knowing that a contact has opened your last 8 emails and is clearly interested).
OSCOM imports email history from Mailchimp, SendGrid, ActiveCampaign, HubSpot, and any platform that provides CSV or API export of campaign data. The import captures: campaign name and date, recipient list, send, open, click, bounce, and unsubscribe events per contact, and the email content itself (subject line, body, sender). After import, each contact's activity timeline shows their complete email engagement history, not just activity since joining OSCOM.
Unsubscribe records receive special treatment. Any contact flagged as unsubscribed, bounced, or complained in your source platform is automatically added to OSCOM's suppression list. This is a compliance requirement, not an option. You cannot accidentally email someone who opted out on your previous platform. The suppression list is visible under Settings, Email, Suppression and shows the source and date of each suppression event.
Importing From Mailchimp
Connect your Mailchimp account under Settings, Integrations. OSCOM pulls your audience lists, campaigns, automation workflows, and engagement data. The import respects Mailchimp's audience structure: each audience imports as a separate OSCOM segment. Tags transfer as contact properties. Campaign history imports with full engagement data for the past 24 months by default, with the option to import the complete history.
Mailchimp automations do not transfer as active workflows (the logic stays in Mailchimp until you recreate it in OSCOM), but the automation enrollment and engagement history does transfer. You can see which contacts were enrolled in which automations and how they progressed through each step. This context is valuable when designing replacement sequences in OSCOM's email module.
Importing From SendGrid
SendGrid imports use the Events API. Connect your SendGrid account and OSCOM pulls transactional and marketing email events for all contacts. Because SendGrid's data model is event-based rather than campaign-based, the import reconstructs campaign-level reporting from individual events. Each unique campaign ID in SendGrid becomes a campaign record in OSCOM with aggregated metrics.
If you use SendGrid for transactional emails (order confirmations, password resets, account notifications), you can choose whether to import those alongside marketing emails. Transactional email engagement does not typically feed marketing scoring, but having the data available means you can build segments based on product usage signals (contacts who received order confirmation emails are paying customers).
Importing Analytics Events and Behavioral Data
Behavioral data is the most undervalued import type. Teams migrate contacts and deals but leave analytics history behind, creating a massive blind spot. All the page views, feature usage events, form submissions, and conversion actions from your previous analytics platform represent months or years of behavioral intelligence that directly feeds lead scoring, segmentation, and personalization.
OSCOM imports analytics events from GA4, Kissmetrics, Mixpanel, Amplitude, Segment, and any platform that exports event data as CSV or JSON. Each event record needs at minimum: a user identifier (email, user ID, or anonymous ID), event name, and timestamp. Additional properties (page URL, referrer, device type, custom properties) import as event metadata.
GA4 Import
Connect your GA4 property under Settings, Integrations, Analytics. OSCOM uses the GA4 Data API to pull event data. Select which events to import (page_view, session_start, form_submit, purchase, or custom events) and the date range. GA4 stores data for up to 14 months in the standard reporting API, or longer if you export to BigQuery. If you have a BigQuery export of your GA4 data, OSCOM can connect directly to your BigQuery dataset for a complete historical import.
The challenge with GA4 data is identity. GA4 primarily tracks anonymous sessions identified by client_id. To connect GA4 events to OSCOM contacts, you need a user_id or email captured as a custom dimension. If you have been passing user_id to GA4 when users log in, OSCOM matches those events to contacts by user ID. If you have not, GA4 events import as anonymous and are matched to contacts retroactively when identity resolution connects the dots (for example, when a known contact's session includes the same client_id as historical anonymous events).
Kissmetrics and Mixpanel Import
Kissmetrics and Mixpanel exports are person-centric by design, which makes them ideal import sources. Every event is already attached to an identified user, so identity resolution is straightforward. Connect your account and OSCOM maps Kissmetrics person properties to OSCOM contact properties and imports the full event history. Kissmetrics event names map directly to OSCOM event names, preserving your existing taxonomy.
For Mixpanel, the process is similar but includes cohort membership. Mixpanel cohorts import as OSCOM segments, so any behavioral cohorts you built in Mixpanel (power users, at-risk accounts, recently activated) exist immediately in OSCOM without rebuilding the segment logic. The underlying event data also imports, so the segments stay dynamic and update as new events flow in.
Segment Import
If you use Segment as your CDP, you can configure OSCOM as a Segment destination. Once connected, all track, identify, page, and group calls flow into OSCOM in real time. For historical data, use Segment's Replay feature to re-send historical events to the OSCOM destination. This gives you the complete event history without manual export and import steps.
Segment's identify calls automatically create or update OSCOM contacts, and group calls create or update OSCOM companies. This means your Segment integration handles both the initial import and ongoing data sync with zero manual maintenance. Any new event tracked through Segment appears in OSCOM within seconds.
Start your data migration today
OSCOM's Smart Mapper handles the heavy lifting. Connect your existing tools and see your data in OSCOM in minutes, not weeks.
Begin importingImporting Deal and Pipeline Data
Deal data is where revenue lives. Your pipeline stages, deal amounts, close dates, associated contacts, and stage history are critical for reporting continuity and forecasting accuracy. OSCOM imports deals from HubSpot, Salesforce, Pipedrive, and Close via direct integration, or from any CRM via CSV export.
The direct integration import captures deal stage history with timestamps. This means your pipeline velocity reports, stage conversion rates, and forecasting models work immediately with historical data, not just with deals created after migration. A deal that moved from Discovery to Proposal to Negotiation to Closed Won over 47 days in HubSpot shows the same stage progression and timing in OSCOM.
For CSV imports, structure your file with one row per deal. Required fields are deal name, amount, stage, and associated contact email or company name. Optional but valuable fields include creation date, close date, deal owner, pipeline name (if you have multiple pipelines), and any custom properties (deal source, product line, contract length). OSCOM maps your pipeline stages to its default pipeline or lets you create a custom pipeline that matches your existing stage definitions.
If your CRM has multiple pipelines (new business, renewals, expansion), OSCOM imports each as a separate pipeline. Pipeline-specific stage definitions, probabilities, and reporting all transfer. You can merge or restructure pipelines after import, but starting with a one-to-one mapping prevents data loss and makes validation easier.
Importing Content Assets
Content assets include email templates, landing page designs, social media post libraries, and downloadable resources (ebooks, whitepapers, case studies). OSCOM imports these so you do not have to recreate your entire content library from scratch.
Email templates import from HubSpot, Mailchimp, and ActiveCampaign. The import captures the HTML template, subject line, preview text, and any personalization tokens. OSCOM's template engine uses a different token syntax, so imported tokens are automatically converted. A HubSpot token like template variable becomes template variable in OSCOM. The visual template is preserved as closely as possible, though minor rendering differences between email builders mean you should preview and adjust imported templates before using them in campaigns.
Downloadable assets (PDFs, images, documents) can be bulk-uploaded to OSCOM's asset library. Drag and drop a folder or use the bulk upload endpoint in the API. Each asset gets a trackable URL, so downloads are automatically captured as engagement events on the contact who downloaded them. If you had gated content on your previous platform (content behind a form), you can recreate the gating in OSCOM by linking assets to forms in the landing page builder.
Handling Custom Properties and Non-Standard Data
Every CRM accumulates custom properties over time. Lead source, product interest, contract renewal date, NPS score, support tier, account manager. These properties often carry critical business logic that standard properties cannot represent. OSCOM handles custom properties during import by letting you create them inline, directly in the mapping interface.
When the Smart Mapper encounters a column it cannot match to a standard property, it suggests creating a custom property. It infers the data type from the values: columns with "true" and "false" become boolean properties, columns with numbers become number properties, columns with dates in recognizable formats become date properties, and everything else defaults to text. You can override the inferred type during mapping.
For dropdown properties (like Lead Status with values Hot, Warm, Cold), OSCOM automatically detects the unique values in your data and creates the dropdown options. If your source data has inconsistent values for the same concept (Hot, HOT, hot, Very Hot), you can configure value normalization rules during mapping. This is easier than cleaning the source data because you can see all unique values and assign each to a normalized option right in the mapping interface.
Deduplication and Conflict Resolution
Duplicates are the silent killer of CRM data quality. They inflate your contact counts, split engagement history across multiple records, corrupt lead scoring, and cause embarrassing situations where two sales reps contact the same person. OSCOM's deduplication engine runs during every import and can also be triggered on demand for your existing database.
During import, dedup works in three tiers. Tier one is exact match: contacts with identical email addresses are merged. Tier two is fuzzy match: contacts with the same name and company but different or missing email addresses are flagged as potential duplicates for manual review. Tier three is domain match: contacts from the same email domain are grouped and checked for accidental duplicates (john@acme.com and j.smith@acme.com where both have "John Smith" as the name).
For each duplicate pair, you configure the merge strategy. The surviving record keeps the email address from the most recently active record, merges all activity history from both records into a single timeline, takes the most recently updated value for each property (or the non-empty value if one record has blanks), and preserves all deal and company associations from both records. The merged record appears as a single contact with a complete, unified history.
Company-level dedup uses domain matching. Two companies with the same domain (acme.com) merge automatically. Companies without domains are matched on name with fuzzy matching to catch variations like "Acme Corp" and "Acme Corporation" and "ACME." The merge strategy for companies follows the same rules as contacts: most recent values win, all associations are preserved, and a merge log records what was combined.
Based on OSCOM customer data quality assessments
Post-Import Validation
After every import, OSCOM generates a detailed import report. The report shows: total records processed, records created, records updated, records skipped (and why), duplicates found and merged, validation errors by field, and a sample of 20 records for manual spot-checking. Review this report before considering the import complete.
The validation checks include email format validation (flagging malformed addresses), phone number format standardization, required field completeness (contacts without emails are flagged but still imported with a warning), and data type validation (text in number fields, dates in unrecognizable formats). Each issue is categorized as an error (the field was skipped) or a warning (the field was imported but may need review).
Run the following spot-checks manually after your first import. Search for 10 specific contacts you know well and verify their data is correct and complete. Check that company associations are right (Jane Doe should be at Acme, not at a different company with a similar name). Verify that deal amounts and stages match your source system. Check the activity timeline for a few contacts to confirm email history imported correctly. These 10 minutes of validation prevent days of troubleshooting later.
Ongoing Sync vs. One-Time Import
A one-time import is appropriate when you are fully replacing your old platform. All data moves to OSCOM, the old platform is decommissioned, and OSCOM becomes the single source of truth. This is the cleanest approach and eliminates the complexity of keeping two systems in sync.
An ongoing sync is appropriate during a transition period when both platforms are active, or when you want to keep a source system running for a specific function (like GA4 for analytics) while OSCOM handles CRM and campaigns. OSCOM's direct integrations support bi-directional sync with HubSpot and Salesforce, meaning changes in either system propagate to the other. For one-directional sync (source pushes to OSCOM), use the Segment integration or OSCOM's webhook-based import API.
Bi-directional sync requires conflict resolution rules. If a contact's phone number is updated in both OSCOM and HubSpot on the same day, which value wins? Configure per-field sync direction: OSCOM-primary fields are synced from OSCOM to HubSpot, HubSpot-primary fields are synced from HubSpot to OSCOM, and bi-directional fields use last-modified-wins logic. Most teams set contact and deal fields as OSCOM-primary (since OSCOM is the new primary system) and analytics or product usage fields as source-primary (since the source system captures those natively).
Platform-Specific Migration Guides
From HubSpot
HubSpot is the most common source platform, and OSCOM's HubSpot integration is the most mature. Connect your HubSpot account, and the integration automatically discovers all object types, properties, pipelines, lists, workflows, and email templates. Select what to import: contacts, companies, deals, tickets, email history, form submissions, and list memberships. The typical full HubSpot migration takes 30 to 60 minutes for an account with 50,000 contacts.
HubSpot-specific considerations: HubSpot's lifecycle stages (Subscriber, Lead, MQL, SQL, Opportunity, Customer, Evangelist) map to OSCOM's lifecycle system. HubSpot workflows do not import as active automations, but the enrollment and execution history does, so you can see which contacts were in which workflows. HubSpot's marketing email templates import with layout and content preserved, though the drag-and-drop blocks convert to OSCOM's template format and may need minor adjustments.
From Salesforce
Salesforce imports cover Leads, Contacts, Accounts, Opportunities, Tasks, and Events. Because Salesforce separates Leads (pre-conversion) from Contacts (post-conversion), OSCOM merges both into a single Contact object with a lifecycle stage property indicating where they are in the journey. Salesforce custom objects can be imported as custom OSCOM objects or mapped to existing OSCOM objects depending on their purpose.
Salesforce opportunity stage history imports with full timestamps, preserving pipeline velocity data. If you use Salesforce CPQ, quote data imports as deal metadata. Report and dashboard configurations do not transfer (OSCOM has its own reporting engine), but the underlying data that powered those reports does.
From Spreadsheets and Manual Systems
If your current system is a collection of Google Sheets, Excel files, and email inboxes, OSCOM still handles the import cleanly. Export each sheet as CSV. If you have multiple sheets tracking different data (one for contacts, one for deals, one for activities), import them in order: contacts first, then companies (or let OSCOM auto-create companies from contact data), then deals, then activities. Link records using consistent identifiers, typically email address for contacts and company name or domain for companies.
The most important step for spreadsheet imports is standardization. Spreadsheets accumulate inconsistencies that databases do not tolerate: "US," "USA," "United States," and "U.S." in the country column; dates in four different formats; revenue values with and without currency symbols; "Yes," "Y," "TRUE," and "1" all meaning the same boolean. Spend time normalizing these before import, or use OSCOM's value normalization rules during mapping to handle the translation automatically.
Migrate without the headaches
OSCOM's import wizard guides you through every step, from field mapping to deduplication. Your data moves cleanly, and nothing gets lost.
Start your importThe Import Checklist
Use this checklist to plan and execute your migration. Each step builds on the previous one, so follow the order.
Pre-import. Audit your source data for duplicates, incomplete records, and outdated information. Remove test contacts, bounced email addresses, and contacts who unsubscribed more than 2 years ago with no subsequent re-engagement. Document your custom properties and their data types. Map your pipeline stages to OSCOM's default pipeline or plan your custom pipeline structure.
Phase 1: Contacts and companies. Import contacts first. Verify company associations are correct. Check that custom properties imported with correct data types. Spot-check 20 records against the source system.
Phase 2: Email history and suppression lists. Import email campaign history. Verify suppression lists transferred completely. Check that engagement metrics (opens, clicks) appear on contact timelines.
Phase 3: Analytics events. Import behavioral data from GA4, Kissmetrics, or other analytics platforms. Verify events appear on contact timelines. Check that lead scoring reflects imported engagement history.
Phase 4: Deals and pipeline. Import deals with stage history. Verify pipeline reporting shows accurate historical data. Check deal-to-contact and deal-to-company associations.
Phase 5: Content assets. Import email templates, landing pages, and downloadable resources. Preview and adjust templates for rendering accuracy. Set up tracked URLs for downloadable assets.
Phase 6: Validation and cutover. Run OSCOM's Data Health report to identify remaining quality issues. Compare key metrics (total contacts by lifecycle stage, pipeline value by stage, email engagement rates) between OSCOM and the source system. Once validated, set the cutover date and decommission or read-only the old platform.
Key Takeaways
- 1Import contacts and companies first, then layer on email history, analytics events, deals, and content assets in sequence. Each layer references the previous one.
- 2Use direct integrations over CSV whenever possible. They capture relationships, stage histories, and metadata that CSV exports lose.
- 3The Smart Mapper automates 85-95% of field mapping. Focus your manual effort on custom properties and edge cases.
- 4Deduplication runs automatically but review the merge results. Fuzzy matches need human confirmation to avoid false positives.
- 5Import analytics history to activate lead scoring from day one. Without behavioral data, every contact starts at zero engagement.
- 6Set up ongoing sync during transition periods, then switch to OSCOM-primary once the migration is validated and the old platform is decommissioned.
Data migration frameworks that work
Platform migration guides, data quality playbooks, and integration architecture patterns. Built from real migrations, not theory.
Data import is not the exciting part of adopting a new platform. Nobody signs up for OSCOM because they are thrilled about CSV mapping. But it is the part that determines whether your first week is productive or frustrating, whether your reports show continuous business history or start from zero, and whether your team trusts the new system or constantly second-guesses it. Invest the time to import thoroughly, validate carefully, and clean proactively. The payoff is a platform that feels like it has known your business for years, because in a very real sense, it has. Every contact, every interaction, every deal in your history is now working for you inside OSCOM.
Research, create, publish, and track from one workspace
Oscom puts SEO, content, ads, analytics, and intel into one AI-powered workspace. Set up in 2 minutes, not 2 months.