Your Client Data Lives in Salesforce. Do You Actually Own It?
Most wealth management firms store their most valuable asset — client relationship data — in a platform they don't control. Learn how to take ownership of your Salesforce data without disrupting your CRM.
The most valuable asset at your firm isn't AUM — it's the relationship data trapped inside your CRM.
Data ownership in wealth management means having unrestricted access to your client data in a format you control, stored in infrastructure you own, queryable without vendor-specific tools, and portable without vendor permission. Most firms using Salesforce have data residency — they can see and use the data inside Salesforce — but they do not have data ownership. The distinction matters when you want to build analytics, AI, or client experiences that Salesforce wasn't designed to deliver.
The Ownership Illusion
You entered the data. Your team maintains it. You pay for it monthly. But try to get it out.
Salesforce Export Is Technically Possible — Practically Painful
Salesforce provides export tools — Data Loader, Data Export Service, the Bulk API — and they work. But they produce flat CSV files that represent individual objects in isolation. The relational fabric that makes Salesforce useful is not preserved. You get rows, not relationships. Reassembling those relationships into something analytically useful requires SOQL expertise, careful coordination of API rate limits, and significant engineering effort.
For firms on Financial Services Cloud, the complexity compounds immediately. The FSC object model — FinancialAccount, FinancialAccountRole, PersonAccount, and their interconnections — is non-trivial to extract in a way that preserves the client-household-account hierarchy your advisors see inside Salesforce. Custom objects, managed packages from AppExchange add-ons, and field-level dependencies create additional extraction challenges that grow proportionally with how deeply your firm has customized the platform.
When You Leave, You Get an Exit Receipt
The clearest test of data ownership is what happens when you decide to leave a vendor. With Salesforce, you can request a full data export — and you will receive it. What you will receive is a collection of CSV files covering your objects, without the relational context, without history preserved across schema changes, and without documentation that allows a new system to ingest the data meaningfully.
That is not ownership. That is an exit receipt. True ownership means your data is already outside the vendor's walls, in infrastructure you control, in a format you can use independently — before you ever decide to leave.
Custom Objects and AppExchange Dependencies Make It Worse
Most enterprise Salesforce implementations at wealth management firms include layers of customization: custom objects built for your workflow, managed packages from AppExchange vendors, and schema changes accumulated over years of use. Each layer adds extraction complexity. Managed package data is sometimes restricted by the package provider's API permissions. Custom objects require bespoke extraction logic. Schema drift between what Salesforce shows in the UI and what lives in the API is common in long-running implementations.
A firm that has run Salesforce FSC for five years has likely built something that is genuinely difficult to reconstruct elsewhere — not because the data is gone, but because the effort to extract and normalize it is substantial enough to function as a lock-in mechanism even if that was never the intent.
What Ownership Actually Looks Like
The distinction between data residency and data ownership becomes concrete when you compare what each means for your daily operations and long-term strategic flexibility.
Data Residency
Data queryable only inside Salesforce
Exports are manual CSV dumps
Analytics limited to Salesforce Reports
API rate limits restrict bulk access
Schema controlled by Salesforce
Vendor lock-in increases over time
Data Ownership
Data lives in your Snowflake warehouse
Continuous automated sync
Analytics across all systems
No rate limits on your own data
Schema you define and control
Switch CRMs without losing history
The goal is not to eliminate Salesforce from your technology stack. For many firms, Salesforce remains the right CRM. The goal is to make Salesforce one input to your data platform rather than the platform itself — so every decision your firm makes about analytics, AI, and future technology is made from a position of control, not dependency.
How Milemarker Gives You Ownership
Full Extraction via OAuth — Standard and Custom Objects
Milemarker connects to Salesforce via OAuth, using your firm's existing credentials scoped to the appropriate access level. The connection uses Salesforce's official REST and Bulk APIs — no third-party workarounds, no screen scraping, no data intermediaries outside your control. All standard objects, all FSC-specific objects (FinancialAccount, FinancialAccountRole, FinancialAccountTransaction, PersonAccount, and their related records), and all custom objects your firm has built are extracted and loaded.
Managed package objects are included where the package's API permissions allow access. Where they are restricted, Milemarker documents the limitation clearly so your team understands exactly what is and is not in the warehouse.
Normalized into a Unified Schema in Your Snowflake Instance
Raw Salesforce data lands in your Snowflake warehouse — an account your firm owns — normalized into Milemarker's unified wealth management schema. Object relationships are preserved as joinable tables, not flattened into disconnected CSVs. A FinancialAccount record carries its linked Contact, its FinancialAccountRole records, and its associated Opportunity history as related tables you can query with standard SQL.
Full historical backfill runs on initial connection. Ongoing incremental sync keeps the warehouse current as your team works in Salesforce. Your data joins custodian data, portfolio performance, financial planning records, and compliance information from your other integrated systems — all in the same schema, queryable with the same tools.
Salesforce Becomes One Input, Not the Platform
Once your Salesforce data is in Snowflake, you can query it with SQL, connect any BI tool, run AI across it, and build applications on top of it — none of which requires a Salesforce license or SOQL knowledge. Your team's analytics capabilities are no longer bounded by what Salesforce Reports can produce. Your AI queries are no longer limited to what Einstein can see. Salesforce does what it does best — relationship management — while the analytical and strategic work happens in infrastructure you control.
The Strategic Value of Owning Your Data
01
CRM Portability
Switch CRMs without starting over. Your data history — every contact record, every relationship, every activity log — travels with you because it already lives in infrastructure you own, independent of any CRM vendor.
02
AI That Works Across Everything
AI built on Salesforce-only data produces Salesforce-only insights. AI built on unified data — CRM joined to custodian, portfolio, planning, and compliance — produces answers your advisors can actually act on.
03
Custom Reporting Without SOQL
Query your client data with SQL or natural language, not Salesforce's proprietary query language. Any analyst on your team — or any BI tool in your stack — can access the full data model without Salesforce expertise.
04
Regulatory Readiness
SEC and FINRA audits are simpler when you control the data and can query it freely. Producing a complete record of client interactions, account changes, and advisory decisions does not require navigating Salesforce's export tools under a deadline.
05
M&A Preparedness
Acquirers want portable, well-structured data. Salesforce lock-in — particularly deep FSC customization — is a due diligence red flag. Firms with a data warehouse present a materially stronger story in acquisition conversations.
06
Reduced Vendor Leverage
When your data is portable and your infrastructure is independent, every vendor negotiation — including Salesforce renewals — is conducted from a position of genuine choice rather than practical dependency.
Frequently Asked Questions
Can I export my Salesforce data without Milemarker?
Yes, but it is manual, limited, and does not preserve the relationships between records. Salesforce provides Data Loader and Data Export Service tools that produce flat CSV files. These exports do not capture the relational structure between objects — a FinancialAccount export does not automatically carry its FinancialAccountRole records, contact links, or custom field values from related objects. Reconstructing the full data model from flat exports requires significant technical effort and is not repeatable on a reliable schedule.
Does Milemarker copy or move data from Salesforce?
Milemarker copies data — it does not move or delete anything. Your Salesforce instance continues to operate exactly as it does today. The extracted data exists simultaneously in your Snowflake warehouse, giving you a second, queryable copy you own outright. Nothing about your Salesforce setup changes.
What Salesforce objects does Milemarker extract?
Milemarker extracts all standard Salesforce objects (Account, Contact, Opportunity, Task, Event, and others), all Financial Services Cloud objects (FinancialAccount, FinancialAccountRole, FinancialAccountTransaction, PersonAccount, Lead, and related FSC objects), and all custom objects and fields your firm has created. Managed package objects from AppExchange additions are included where the API permits access.
How often does data sync from Salesforce to Snowflake?
Sync frequency is configurable based on your firm's requirements. Standard configurations run daily or hourly. For key event-driven data — such as new account openings or completed workflow steps — near-real-time sync options are available. Most firms find daily sync sufficient for analytical use cases, with hourly sync used for operational dashboards.
Is the extracted data in a usable format?
Yes. Milemarker normalizes Salesforce data into a documented, relational schema in your Snowflake warehouse. Object relationships are preserved — a FinancialAccount record carries its linked Contact, its FinancialAccountRole records, and its associated Opportunity history as joinable tables. Your analytics team or BI tool can query across the full model with standard SQL. No Salesforce-specific tooling or SOQL knowledge required.
What happens if we decide to leave Salesforce?
Your historical Salesforce data is already in your Snowflake warehouse, fully normalized and queryable. If you migrate to a new CRM, Milemarker connects to that system the same way it connected to Salesforce. Your historical record remains intact. You do not lose years of client relationship history during a CRM transition — because the data was never locked exclusively inside Salesforce to begin with.
Does extracting data violate Salesforce's terms of service?
No. Milemarker uses Salesforce's official REST and Bulk APIs with OAuth authorization. API access within rate limits is explicitly permitted under Salesforce's terms of service. Firms that own their Salesforce license have the right to access their data programmatically. Milemarker operates entirely within those authorized access patterns.
Who owns the Snowflake instance?
Your firm owns the Snowflake account and the data inside it. Milemarker provisions and manages the technical infrastructure — handling schema design, sync orchestration, and ongoing maintenance — but the account is in your firm's name. If you ever stop working with Milemarker, you retain full access to the warehouse and everything in it. The data is yours.
Related guides
Part of the Salesforce for Wealth series:
Salesforce for Wealth Management: Getting More from Your CRM Investment
Salesforce FSC Integration: Connect Financial Services Cloud to Your Entire Tech Stack
Moving Beyond Salesforce Without Losing Your Data
The Hidden Cost of Salesforce in Wealth Management
Salesforce Experience Cloud Alternatives for RIAs and Wealth Management Firms
Salesforce Is Powerful. Your Advisors Hate Using It.




