From Salesforce CRM Analytics to Tableau: A Step-by-Step Migration Guide

This blog provides a step-by-step guide for migrating from Salesforce CRM Analytics to Tableau, spotlighting a real-world case study from B EYE. You’ll learn how to reverse-engineer dashboards, set up a scalable data pipeline, and unify your analytics for faster, more cost-effective decision-making.

If your analytics and reporting are spread across multiple tools, you might be facing delays and inefficiencies. This was the case for one of our clients—a leader in marketing data technology specializing in email marketing performance—who relied on Salesforce CRM Analytics alongside other platforms. Their reports were fragmented across systems, causing strategic decision-making to stall. Moreover, their Salesforce CRM Analytics setup only covered Salesforce data, forcing them to use additional tools for sales and financial reporting. To make matters worse, the original dashboard creators were no longer with the company and there was a lack of documentation, increasing the risk of misinterpreting key metrics. 

They realized the need to consolidate analytics into one platform to reduce overhead, improve data reliability, and boost agility. The obvious choice was Tableau, a leading BI platform well-suited for integrating multiple data sources and delivering rich visual analytics. In this guide, we’ll walk through how to migrate from Salesforce CRM Analytics to Tableau, based on our hands-on experience from that successful project. We’ll cover all key phases of the migration—assessment, reverse engineering, Tableau implementation, and legacy support—and share best practices and insights along the way.  

By the end, you’ll see how a unified analytics solution in Tableau can lead to significant cost savings, time savings, and improved decision-making agility (in our case, up to 10% lower analytics costs and 15% faster reporting). 

Let’s get started! 

Illustration summarizing the four-phase roadmap for Salesforce CRM Analytics to Tableau migration: assessment, reverse engineering, implementation, and legacy support, each accompanied by symbolic icons.

 

Every successful migration begins with a thorough assessment of the current state. In this phase, you’ll take stock of everything in your Salesforce CRM Analytics environment: 

Checklist graphic for phase 1, listing key assessment steps such as inventorying dashboards, identifying data sources, gathering business requirements, auditing user adoption and performance, and checking for custom logic.
  • Inventory Dashboards and Datasets: List out all dashboards, lenses, datasets, and dataflows (or recipes) in your CRM Analytics org. This inventory is crucial to ensure nothing gets left behind. 
  • Identify Data Sources: For each analytics asset, note the data sources involved. Are they purely Salesforce objects (Accounts, Opportunities, Campaigns, etc.), or are there external data sources integrated? CRM Analytics might be pulling some external files or data via connectors—capture all of these. 
  • Gather Business Requirements: Talk to stakeholders or power users of these dashboards. What metrics and KPIs do they rely on? What works well in the current setup, and what are the pain points? Understanding the business context will guide your Tableau design later. 
  • Audit User Adoption and Performance: Determine which dashboards are mission-critical and how they perform. Are some dashboards underutilized or running slowly? This can inform what to prioritize in Tableau and opportunities to improve. 
  • Check for Custom Logic: Look for any custom SAQL queries, calculated fields, or filters in the CRM Analytics dashboards. These will need to be reproduced in Tableau, so it’s important to note them now. 

During the assessment, document everything. Since our client had virtually no technical documentation to start with, we created documentation from scratch as we audited their CRM Analytics content. For example, if a CRM Analytics dashboard “Email Campaign Performance” shows a metric “Conversion Rate”, write down how it is calculated in CRM Analytics (you might find this by inspecting the lens query or the dataflow that produces it). This document will become your blueprint for rebuilding the logic in Tableau

Expert Tip: Salesforce CRM Analytics allows you to export asset definitions (e.g., dataflow JSON, dashboard JSON). If possible, export these to help decode complex transformations. Even if you’re not deeply familiar with CRM Analytics’s JSON format, it provides a reference for each step used in calculations or data blending. 

By the end of the assessment phase, you should have: 

  • A full catalog of existing reports (what each contains and who uses them). 
  • A clear picture of all data sources and any data not currently covered by CRM Analytics. 
  • A list of key metrics/KPIs and their definitions. 
  • Documentation that will guide the development in Tableau. 

This groundwork ensures you won’t miss critical elements as you migrate. It also highlights opportunities to streamline – for instance, you might discover two CRM Analytics dashboards that could be combined into one in Tableau, or duplicated calculations that can be centralized. 

You May Also Like: Database Optimization for Tableau – 10 Tips to Boost Dashboard Performance 

Once you know what assets you have, the next step is reverse engineering the logic behind them. In our project, this was a crucial phase because the original Salesforce CRM Analytics dashboards had been built by someone else and left without documentation. We had to carefully decipher the data transformation logic and calculations behind each report. 

Flowchart illustrating phase 2 of Salesforce to Tableau migration, highlighting steps like auditing dataflows, decoding SAQL logic, clearly defining KPI formulas, identifying filters, planning data transformations, and highlighting complex calculations

 

Here’s how to approach reverse engineering in a CRM Analytics-to-Tableau migration: 

  • Dig into CRM Analytics Dataflows/Recipes: CRM Analytics uses Dataflows or Recipes to prepare data. Access these and break down each step. For example, you might find: 
  • Joins between Salesforce objects (e.g., linking Campaigns with Email Sends). 
  • Calculated fields (perhaps using SAQL or formula fields, like computing a conversion percentage). 
  • Filters (e.g., excluding certain records, such as test campaigns). 
  • Augmentations or data merges (combining data from different sources). 
  • Extract Calculation Logic: For each calculated metric on a dashboard, identify how CRM Analytics computes it. This could be in a SAQL query inside a lens or a compute step in a dataflow. If you see something like a SAQL snippet query = group by ‘campaignId’ | foreach group generate sum(‘revenue’), translate that into plain English (e.g., “sum of revenue by campaign”). You’ll later implement equivalent logic in Tableau (perhaps as a calculated field or an aggregate in Tableau Prep). 
  • Reconstruct KPIs and Filters: Write pseudo-code or formulas for the logic. For instance: 
// Pseudo-code example for a CRM Analytics metric: // CRM Analytics might define "Email Open Rate" as: // open_rate = total_opens / total_emails_sent (filtered to a timeframe or campaign) // // Later, in Tableau, this can be a calculated field: // Email Open Rate = SUM([Opens]) / SUM([Emails Sent]) 

 

By expressing the logic in tool-agnostic terms, you make it easier to rebuild in Tableau. Ensure that any filtering (e.g., only counting “Delivered” emails) is noted so you replicate the conditions exactly. 

  • Identify Data Transformations to Reproduce: Some transformations might be better done in the data warehouse or Tableau Prep rather than as Tableau calculations for performance reasons. For example, if CRM Analytics was grouping data to a certain grain (like daily aggregates), you might choose to do the same grouping in a SQL query or Tableau Prep flow before Tableau consumes the data. 
  • Prioritize Complex Elements: Some parts of the CRM Analytics dashboards may be straightforward (like simple sum or count metrics), while others involve complex logic (like custom fiscal year calculations or user-specific security filters). Highlight the complex ones now so you can give them extra attention in the Tableau implementation phase. 

Reverse engineering is often the most time-consuming phase, but it’s absolutely necessary. It’s like detective work: you piece together clues to understand exactly what the old system is doing. Our team’s expertise in both Salesforce CRM Analytics and Tableau was invaluable here, as we understood how things would translate between the two platforms. If you lack in-house expertise for one of the platforms, consider getting expert help—misinterpreting a KPI can lead to errors in the new reports. 

By the end of this phase, you should have a complete specification for what needs to be built in Tableau: 

  • For each dashboard (or report) to recreate in Tableau, you have the list of visuals, each metric’s formula, and any filters or drill-downs to implement. 
  • A list of data preparation steps required (joins, calculations, etc.) that will need to happen in the new data pipeline (outside of Salesforce). 
  • Confidence that you understand the “secret sauce” behind the legacy reports.  

Keep Exploring: Qlik vs Tableau vs Power BI: A Complete Guide to Choosing the Right Tool 

With a clear blueprint in hand, it’s time to rebuild the analytics on Tableau. This phase includes two tightly connected parts: designing the data pipeline (often using Tableau Prep and a database), and developing the Tableau dashboards themselves. In our case study, we used Tableau Prep for complex data transformations and Tableau Desktop to create the dashboards, with Snowflake as the data warehouse to unify data sources. Let’s break down the implementation step-by-step: 

Graphic illustrating phase 3 of migration, divided into two main components: setting up a scalable data pipeline with Tableau Prep and a data warehouse, and developing Tableau dashboards, including key steps like data extraction, integration, transformation, validation, and publishing.

 

3.1 Set Up a Scalable Data Pipeline (with Tableau Prep + Data Warehouse) 

One major reason to migrate was to integrate data beyond Salesforce. The client chose to use Snowflake as a unified repository, pulling in not only Salesforce data but also other business data (e.g. financial metrics, marketing costs from external systems). You might use a similar strategy with your preferred data warehouse or database (Snowflake, Redshift, BigQuery, etc.) as a single source of truth. 

Steps to create the data pipeline: 

  1. Extract Salesforce Data: Use a reliable method to export Salesforce CRM data (accounts, opportunities, campaigns, etc.) into the data warehouse. Make sure to schedule regular updates so the warehouse stays in sync (for near real-time data, you might use tools like Fivetran or MuleSoft, but batch daily exports might suffice initially). 
  1. Load Additional Data: Gather any other datasets that were part of your reporting. In our marketing tech example, this included email campaign performance data from a marketing platform and financial data from a finance system. Load these into the warehouse as well. 
  1. Build a Tableau Prep Flow: Open Tableau Prep Builder and connect to your data sources (Salesforce data in the warehouse, and any other data tables). Recreate the transformations you mapped out in Phase 2: 

a. Joins & Unions: For example, join campaign data with opportunity data to see how marketing efforts translate to sales, or union data from multiple regions/files if needed.

b. Calculations: Implement any computed fields. Tableau Prep allows you to create calculated fields using a formula language similar to Tableau’s. For instance, if CRM Analytics had a field “ROI = (Revenue – Cost) / Cost”, create that in Prep so it’s pre-computed for your dashboard.

c. Filtering & Cleaning: Filter out any irrelevant records (e.g., test campaigns, inactive customers) and rename/clean fields for consistency. This is where you enforce business rules (like excluding certain statuses, applying data quality fixes, etc.). 

d. Aggregation (if needed): If your Tableau dashboards don’t need transactional level detail, you might aggregate data in the Prep flow. For example, you could roll up email sends to a campaign level per day if the dashboard only shows daily campaign metrics. Aggregating upstream can greatly improve Tableau performance. 

e. Output to Tableau Data Source: Finally, use the Output step in Tableau Prep to publish the prepared dataset. You can output to a Tableau Data Extract (.hyper) or directly as a published data source on your Tableau Server/Cloud instance. 

Illustration: Imagine a Tableau Prep flow where one branch pulls Salesforce Opportunity data, another branch pulls Email Campaign data, and then they merge on a common Campaign ID to produce a combined dataset of marketing and sales metrics. The flow might then calculate conversion rates and output the result as a clean table ready for Tableau. (Picture a screenshot of a Prep flow with steps connected in a diagram here.) 

  1. Validate the Data: Once the Prep flow is run, validate the output data against the original CRM Analytics data. Pick a few metrics or records and ensure they match (e.g., total sales last quarter, number of emails sent last month, etc., as reported by the old system vs your new table). This gives confidence that your pipeline logic is correct. 

A well-designed pipeline is key to a scalable architecture. By leveraging a warehouse and Tableau Prep, you decouple heavy data processing from Tableau itself. Our approach of using Snowflake + Prep ensured seamless integration and the ability to handle growing data volumes. It also sets up the client with a flexible foundation to bring in additional data sources in the future without redoing the entire pipeline. 

3.2 Develop Tableau Dashboards (Design, Build, and Customize) 

With your data pipeline in place, creating the Tableau dashboards is the fun part. This is where the business users’ experience comes to life, so focus on making dashboards that are not only accurate (thanks to your solid data foundation) but also easy to use and insightful. 

Steps to build the Tableau dashboards: 

  1. Connect to the Prepared Data: In Tableau Desktop, connect to the output of your Tableau Prep flow (either the published data extract or the Snowflake table with transformed data). Because you’ve prepped the data, you likely won’t need too many joins or calculations in Tableau itself, making your workbook simpler and faster. 
  1. Recreate Each Dashboard: Use the documentation from Phase 2 to guide the creation of each dashboard: 

a. Create worksheets for each chart that existed in CRM Analytics. For example, if a CRM Analytics dashboard had a bar chart of Email Open Rate by Campaign, create a similar bar chart in Tableau by dragging “Campaign” to the x-axis and a calculated field “Open Rate” to the y-axis. Leverage Tableau’s rich visualization options to match or enhance the original. You might find you can make improvements—for instance, using Tableau’s color and tooltip features to add clarity. 

b. Implement Filters and Interactivity: If the CRM Analytics dashboard had filter selectors (e.g., date range, product category), add Parameters or Filters in Tableau to replicate that. Tableau can even allow more advanced interactivity such as highlighting or drill-down using actions. Make sure the user experience in Tableau covers all the analysis paths the users need. 

c. Layout and Design: Arrange the charts on a dashboard canvas, using Tableau’s formatting to make it polished. This is a great time to apply Tableau best practices: consistent coloring, clear labels, responsive design (so it works on different screen sizes), and adding helpful text like captions or tooltips where needed. Our team introduced several Tableau best practices during the rebuild, such as optimizing calculations (using Level-of-Detail expressions for precise aggregations) and indexing filters for faster loading. 

d. Calculated Fields in Tableau: If any calculations were not handled in Prep, create them in Tableau. For example, perhaps a ratio or percent that’s easier to do with Tableau’s quick table calculations—like week-over-week growth percentages—can be done directly in the workbook. 

e. Each Visualization: As you build each piece, cross-check against the CRM Analytics version. Does the “Total Revenue” figure match between old and new? Small discrepancies might point to differences in data refresh timing or slight formula variations—investigate and resolve those now. 

  1. Iterate with Stakeholders: Demonstrate the new Tableau dashboards to end users or stakeholders who are familiar with the old reports. Gather feedback: Does the Tableau version capture all the needed info? Is anything missing or can anything be improved now that you have more flexibility? In our case, once users saw the unified Tableau dashboards, they identified a few new opportunities (like combining email and sales data in one view) that were not possible before. Tableau’s flexibility allowed us to add those enhancements easily. 
  1. Performance Tuning: Before final roll-out, optimize the Tableau workbooks. Generate extracts if using live connections is slow, leverage Tableau’s performance recorder to identify slow queries, and ensure your data source (Snowflake or others) has proper indexing or clustering for fast querying. Because we had done heavy lifting in the Prep/warehouse stage, the Tableau dashboards ran efficiently. 
  1. Publish to Tableau Server or Tableau Cloud: Finally, publish the dashboards to a Tableau Server or Tableau Cloud environment for broader access. Set up proper permissions so the right people can view them. If you had row-level security in CRM Analytics (e.g., users can only see data for their region), implement equivalent security in Tableau (perhaps using Tableau’s user filters or by filtering data in the Prep step per user groups). 

Now you have the new analytics platform up and running in Tableau! This implementation phase is where the dual benefit of deep platform knowledge shines: understanding how to design a robust data pipeline and how to craft effective Tableau dashboards. Our dual expertise in CRM Analytics and Tableau meant we could translate the old logic correctly while also leveraging the new platform’s strengths (like richer visuals and faster data engine). 

Continue Reading: Why Choose Tableau for Your Big Data Visualizations? 

Even after your Tableau solution is built and validated, a critical phase remains: supporting the legacy Salesforce CRM Analytics until the migration is fully complete. In practice, you don’t want to turn off CRM Analytics the moment your Tableau dashboards are ready. There’s a transition period to carefully manage: 

Diagram depicting phase 4, emphasizing smooth transition steps, such as running parallel systems, user training, collecting feedback, gradual transition, legacy decommissioning, post-migration support, and celebrating adoption success.
  • Run Systems in Parallel: For a short period (a few weeks or whatever is appropriate for your business cycle), let both the CRM Analytics and Tableau systems run in parallel. Continue updating CRM Analytics dashboards so that users can compare results on both platforms. This parallel run acts as a safety net and helps build trust in the new Tableau reports. 
  • User Training & Onboarding: Provide training sessions for users to get familiar with Tableau. Even though the information is the same (or improved), the interface is different. Show them how to interact with Tableau dashboards—how to filter, download data, utilize tooltip details, etc. Often, users find Tableau more intuitive, but don’t assume; a little training goes a long way toward adoption. 
  • Collect Final Feedback: Users might notice slight differences or request tweaks as they start using Tableau daily. Maybe a filter in CRM Analytics had default values that users want in Tableau too. Make those adjustments to ensure the new system fully meets needs. 
  • Gradual Cut-over: Encourage users to start using Tableau as the primary tool and only refer back to CRM Analytics if needed. Once confidence is high (for example, when an entire reporting cycle or month-end closes successfully on Tableau), you can plan to retire the old platform. 
  • Retire Legacy Systems: Coordinate with your IT team to decommission the Salesforce CRM Analytics environment after stakeholders are comfortable. This includes canceling any licenses or subscriptions related to it, which immediately starts realizing the cost savings of migration. 
  • Post-migration Support: Even after cut-over, keep an eye on the Tableau solution. Monitor usage and performance. Also, be prepared to answer any business questions that might arise from differences between the systems. In our experience, because we maintained the logic faithfully, the business saw the Tableau reports as an upgrade with no loss of functionality. We provided interim support for the legacy tool until everyone was fully confident in Tableau, ensuring minimal disruption during the migration process

Managing this phase carefully builds trust with users and ensures business continuity. It also underscores a professional approach: you’re not just dumping a new tool on users; you’re hand-holding until it becomes their trusted single source of truth. 

Real-world tip: Celebrate the switch with the team! Once you shut down the old CRM Analytics, it’s a great moment to acknowledge the effort of the migration and the beginning of a new, streamlined reporting era. This positive closure helps user adoption as well. 

Consolidating everything into Tableau isn’t just a tech upgrade—it delivers tangible business benefits. In the marketing data tech case study, the migration to a unified Tableau platform yielded impressive results: 

Visual highlighting benefits of unified analytics, including cost savings, time efficiency, increased productivity, single source of truth, enhanced agility, and scalability for future growth.

 

  • Significant Cost Savings: By retiring Salesforce CRM Analytics and consolidating licensing and maintenance on Tableau, the company projected up to 10% reduction in licensing costs. They saved on redundant tool costs and reduced the need for external consultants tied to the old system. 
  • Time Savings & Efficiency: Reporting processes became much more efficient. They estimated about 15% less time spent on data preparation and report generation. Tasks that used to be manual or done in multiple places were streamlined into one workflow. This means analysts could refresh dashboards or get answers in a fraction of the time, accelerating decision-making. 
  • Improved Productivity: With one unified platform, the analytics team eliminated duplicate efforts (no more creating the same metric in two different tools). Analysts could focus on deeper analysis rather than data wrangling. The organization anticipated productivity gains of around 25% for their analytics teams
  • Single Source of Truth: Perhaps the biggest win was qualitative – Tableau became the single source of truth for the company’s data. No more debating which report from which system was correct; everyone started looking at the same dashboards in Tableau for answers. This unified view greatly enhanced confidence in the data and sped up consensus during meetings. 
  • Enhanced Agility: With unified analytics, the company could respond faster to new needs. Want to incorporate a new data source or create a new KPI? It’s much easier to adjust one integrated Tableau-based pipeline than to juggle multiple siloed tools. As a result, the business became more agile in its analytics, quickly adapting reports as strategies evolved. The case study noted that unified analytics solutions “significantly enhance decision-making agility.”  
  • Future-Ready Scalability: The new Tableau-centric architecture was designed for growth. It’s scalable and flexible to accommodate future data sources or increased data volume. For example, when the client considers bringing in website analytics data or a new CRM data set, their Tableau/Snowflake setup can handle it with minimal incremental effort. They’re now positioned to expand their analytics capabilities without having to rearchitect from scratch. 

In short, the migration was a game-changer. It solved the immediate pain of a fragmented analytics process and unlocked new potential for the organization. They went from struggling with out-of-sync reports and opaque logic to enjoying a streamlined, well-documented, and insight-rich analytics environment

And these benefits aren’t unique to this one company—any organization consolidating disparate reporting systems into a modern BI platform like Tableau can expect similar improvements in cost efficiency, time-to-insight, and confidence in decision-making. 

Through this migration journey, we gleaned several key insights and best practices that are valuable for any team looking to undertake a similar project: 

Graphic outlining best practices for successful Tableau migration, including prioritizing documentation, leveraging platform expertise, using a phased migration approach, applying Tableau best practices, unified business vision, and scalable analytics design.

 

  • Prioritize Documentation: If you take away one lesson, let it be this. Lack of documentation was a major hurdle for our client. We had to reverse engineer everything due to missing docs. Investing time in documenting your analytics (both during and after the migration) is critical to mitigate future operational risks. Keep a record of data definitions, calculations, and design decisions in Tableau – your future self (and new team members) will thank you. 
  • Leverage Platform Expertise: Migrating between two complex platforms is not a trivial task. It “dramatically reduces migration complexities” to have expertise in both the old and new systems. If your team doesn’t have that dual expertise, consider bringing in specialists or consultants who do. In our case, B EYE’s expert-level proficiency in both Salesforce CRM Analytics and Tableau was a rare combination that proved invaluable. It ensured that nothing was lost in translation and that we could solve challenges quickly without a long learning curve. 
  • Phased Migration Minimizes Disruption: Splitting the project into clear phases (assessment, reverse engineering, implementation, support) and not rushing the cut-over helps ensure business continuity. This phased approach with interim legacy support meant users experienced minimal disruption during the migration. Don’t rush to unplug the old system until the new one is vetted and adopted. 
  • Apply Tableau Best Practices: When building out the new solution, do it the right way. We embedded advanced Tableau best practices into the design from day one. This includes efficient data modeling (using Prep and a warehouse), workbook optimization (context filters, extracts, etc.), and intuitive UX design (clear navigation and visuals). Adhering to best practices ensures your Tableau solution isn’t just equivalent to the old system, but better – more performant, more user-friendly, and easier to maintain. 
  • Unified Analytics = Unified Vision: By merging all reporting into one platform, you inherently drive a more unified business perspective. We saw siloed teams come together because they were finally looking at the same dashboards. Collaboration improved as data became a common language. Truly, unified analytics solutions enhance decision-making agility and alignment. If your organization struggles with each department having its own version of the truth, a unified platform can be transformational. 
  • Design for Scalability: Think beyond the immediate migration. What other data or requirements might the business have in a year or two? We designed the Tableau architecture to be scalable and flexible. Concretely, this meant choosing a cloud data warehouse that can grow, setting up modular data prep flows (so new data can be attached like building blocks), and using Tableau in a way that adding a new dashboard doesn’t require starting from scratch. This future-proofing mindset protects your investment in the migration by ensuring it will serve the business for years to come. 

By keeping these insights in mind, you can avoid common pitfalls and set your migration project up for success. Each migration will have its nuances, but strong fundamentals in documentation, expertise, phased execution, best practices, and forward-thinking design apply universally. 

Migrating from Salesforce CRM Analytics to Tableau is a significant undertaking, but as we’ve outlined, the rewards are well worth it. By following a structured approach—assessing your current state, reverse engineering what exists, rebuilding with Tableau’s powerful tools, and carefully transitioning your users—you can transform a fragmented reporting ecosystem into a streamlined, single-platform solution. The result is not just a change in technology, but a boost in your organization’s agility, productivity, and data-driven decision making. 

Our client’s story shows what’s possible: they overcame the loss of internal expertise and lack of documentation by partnering with the right experts and are now enjoying faster reports, lower costs, and a single source of truth for all analytics. And they achieved this with essentially no downtime in their reporting capabilities during the transition, thanks to careful planning and support. 

Have Salesforce CRM Analytics to Tableau Migration Questions? 

Ask an expert at +1 888 564 1235 (for US) or +359 2 493 0393 (for Europe) or fill in our form below to tell us more about your project. 

Author
Marta Teneva
Marta Teneva, Head of Content at B EYE, specializes in creating insightful, research-driven publications on BI, data analytics, and AI, co-authoring eBooks and ensuring the highest quality in every piece.
Author
Mihail Tsenev

Discover the
B EYE Standard

Related Articles