crm-analytics-vs-tableau-decision

Use when deciding between CRM Analytics (formerly Einstein Analytics / Tableau CRM) and Tableau Desktop, Tableau Server, or Tableau Cloud for a Salesforce-centric analytics requirement. Triggers: 'CRM Analytics vs Tableau', 'which BI tool for Salesforce', 'Tableau for Salesforce data', 'Einstein Analytics vs Tableau', 'analytics platform decision', 'licensing comparison CRM Analytics Tableau', 'Tableau Next', 'Tableau+ for Salesforce'. NOT for implementation guidance on configuring CRM Analytics datasets, recipes, or Tableau workbooks — use admin/einstein-analytics-basics for that.

Best use case

crm-analytics-vs-tableau-decision is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when deciding between CRM Analytics (formerly Einstein Analytics / Tableau CRM) and Tableau Desktop, Tableau Server, or Tableau Cloud for a Salesforce-centric analytics requirement. Triggers: 'CRM Analytics vs Tableau', 'which BI tool for Salesforce', 'Tableau for Salesforce data', 'Einstein Analytics vs Tableau', 'analytics platform decision', 'licensing comparison CRM Analytics Tableau', 'Tableau Next', 'Tableau+ for Salesforce'. NOT for implementation guidance on configuring CRM Analytics datasets, recipes, or Tableau workbooks — use admin/einstein-analytics-basics for that.

Teams using crm-analytics-vs-tableau-decision should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/crm-analytics-vs-tableau-decision/SKILL.md --create-dirs "https://raw.githubusercontent.com/PranavNagrecha/AwesomeSalesforceSkills/main/skills/architect/crm-analytics-vs-tableau-decision/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/crm-analytics-vs-tableau-decision/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How crm-analytics-vs-tableau-decision Compares

Feature / Agentcrm-analytics-vs-tableau-decisionStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when deciding between CRM Analytics (formerly Einstein Analytics / Tableau CRM) and Tableau Desktop, Tableau Server, or Tableau Cloud for a Salesforce-centric analytics requirement. Triggers: 'CRM Analytics vs Tableau', 'which BI tool for Salesforce', 'Tableau for Salesforce data', 'Einstein Analytics vs Tableau', 'analytics platform decision', 'licensing comparison CRM Analytics Tableau', 'Tableau Next', 'Tableau+ for Salesforce'. NOT for implementation guidance on configuring CRM Analytics datasets, recipes, or Tableau workbooks — use admin/einstein-analytics-basics for that.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# CRM Analytics vs Tableau — Decision Framework

Use this skill when an architecture decision is needed between Salesforce CRM Analytics and Tableau (Desktop, Server, Cloud, or Tableau Next). It produces a documented, rationale-grounded recommendation. It does NOT guide implementation of either platform.

---

## Before Starting

Gather this context before making any recommendation:

- What is the primary data source — Salesforce objects only, or a mix that includes data warehouses, ERP, marketing platforms, or other non-Salesforce systems?
- What is the required data freshness — true real-time (sub-minute), near-real-time (minutes to hours), or scheduled daily/weekly batch?
- Who is the audience — Salesforce-licensed users working inside Lightning pages, or data analysts and business users who operate outside Salesforce?
- Does the requirement involve enforcing the Salesforce sharing model (record-level security tied to OWD, sharing rules, or profile visibility) in the analytics layer?
- What Salesforce edition and existing license inventory is in place? CRM Analytics requires specific Permission Set Licenses (Growth, Plus, or Einstein 1 editions).
- Does the organization have an existing Tableau investment — Tableau Server on-premise, Tableau Cloud, or Tableau Next (Tableau+ SKU)?

---

## Core Concepts

### CRM Analytics: Salesforce-Native Embedded Analytics

CRM Analytics (formerly Einstein Analytics, formerly branded as Tableau CRM — see gotchas) is Salesforce's native analytics platform embedded directly in the Salesforce org. It queries Salesforce data through datasets that sync from the org's objects, and uses SAQL (Salesforce Analytics Query Language) for computation. Because it runs inside the Salesforce trust boundary, it can enforce the Salesforce sharing model at dataset row level, embed dashboards directly into Lightning record pages and app pages, and be assigned through Salesforce Permission Set Licenses (PSLs). Data access is governed by the same profile and permission set stack as the rest of the org.

CRM Analytics is the right primary choice when: the data is predominantly Salesforce objects, the audience is Salesforce-licensed users, embedding in Lightning is a requirement, or the sharing model must govern analytical row-level access without a separate ETL security sync.

### Tableau: Multi-Source Enterprise BI via Connector Extract

Tableau (Desktop, Server, Cloud, and Tableau Next) is a separate Salesforce product with its own license model (Creator, Explorer, Viewer roles, or Tableau+ capacity model). The native Salesforce connector for Tableau operates as an **extract connector** — it pulls data from Salesforce into a Tableau extract on a scheduled refresh cadence. It does not provide a live query connection to Salesforce objects.

Key connector constraints that architects must know:

| Constraint | Implication |
|---|---|
| Extract-only | Tableau's Salesforce connector does not support live/direct query against Salesforce. Every dashboard reflects the most recent extract, not current record state. |
| 30-day lookback cap on incremental refresh | Incremental extract refreshes using the connector are capped at a 30-day lookback window. Rows modified beyond that window are not re-fetched unless a full extract runs. |
| No Custom SQL | The Salesforce connector does not support Custom SQL queries, unlike most database connectors in Tableau. Data shaping must happen before Tableau or through Tableau Prep. |
| 10,000-character API query limit | The connector enforces a 10,000-character limit on the underlying Salesforce API query string, constraining complex multi-field SOQL expressions passed through the connector. |

These constraints mean that Tableau is not a suitable replacement for real-time Salesforce operational analytics or use cases requiring immediate record-level visibility. It is the right choice when the requirement is cross-system BI across Salesforce and non-Salesforce data sources, or when a large existing Tableau investment is already in place.

### Tableau Next (Tableau+ SKU): Forward Path for Enterprise and Agentic BI

Tableau Next, sold as the Tableau+ SKU, reached general availability in June 2025. It is the strategic forward path for organizations combining Tableau with Salesforce's Agentforce platform and Data 360. Tableau Next introduces agentic BI capabilities, Agentforce integration for natural-language analytics queries, and tighter coupling with the Salesforce data platform (including Data Cloud / Data 360). Architects evaluating long-term platform strategy for enterprise orgs with significant Salesforce investment and complex multi-source analytics should include Tableau Next in the evaluation rather than treating Tableau as a static product.

### Licensing: Two Completely Different Models

CRM Analytics licensing is additive to the Salesforce org license. Users need a Salesforce user license plus a CRM Analytics Permission Set License (PSL). PSLs are assigned per user inside the org, and access is managed through Salesforce permission sets — not a separate user directory. The PSL tier (Growth vs Plus) determines which CRM Analytics features the user can access.

Tableau licenses are entirely separate from the Salesforce org. Tableau uses a Creator / Explorer / Viewer role model for Tableau Server and Tableau Cloud, or a capacity-based model under Tableau+. Tableau users do not need Salesforce licenses, and Salesforce users do not automatically have Tableau access. This separation is both a cost implication (two independent license stacks) and an access management concern (two separate user directories to keep in sync).

---

## Decision Guidance

| Situation | Recommended Platform | Reason |
|---|---|---|
| All data lives in Salesforce objects; audience are Salesforce users | CRM Analytics | Native access, no extract lag, shares Salesforce security model |
| Dashboards must be embedded in Lightning record pages or App Builder | CRM Analytics | Tableau cannot be natively embedded in Lightning without separate iFrame/Salesforce integration |
| Row-level security must mirror Salesforce OWD and sharing rules | CRM Analytics | Dataset row-level security can enforce Salesforce sharing model; Tableau extracts lose this enforcement |
| Data sources include external data warehouse, ERP, or marketing cloud | Tableau | Multi-source connectivity is Tableau's core strength; CRM Analytics is optimized for Salesforce data |
| Near-real-time (sub-hourly) Salesforce data required | CRM Analytics | Tableau Salesforce connector refreshes are scheduled extract jobs; no live query |
| Audience is primarily data analysts outside Salesforce who own complex self-service BI | Tableau | Creator/Explorer model fits analyst-led workbook authoring better than Salesforce PSL model |
| Organization has large existing Tableau Server investment | Tableau (extend existing) | Rationalizing onto existing licensed infrastructure avoids dual licensing cost |
| Enterprise org needs Agentforce-integrated analytics and Data 360 strategy | Tableau Next (Tableau+) | Tableau Next is the Agentforce-native BI forward path as of June 2025 |
| Salesforce data freshness beyond 30 days in incremental refresh | CRM Analytics | Tableau Salesforce connector incremental refresh has 30-day lookback cap |
| Complex SOQL with many fields needed to drive analytics | CRM Analytics | Tableau Salesforce connector has 10,000-character API query limit and no Custom SQL |

---

## Common Patterns

### Pattern: Hybrid Architecture (CRM Analytics + Tableau)

**When to use:** The org needs both Salesforce-native operational dashboards for sales and service teams inside Lightning, and enterprise cross-system BI for finance or data science teams who work outside Salesforce.

**How it works:**
1. CRM Analytics serves the Salesforce-embedded experience: pipeline dashboards in the Sales App, service metrics embedded on Account record pages, mobile-accessible KPI decks for field teams.
2. Tableau connects to the data warehouse (Snowflake, Databricks, Redshift) for cross-system reporting: blended revenue analytics combining Salesforce opportunity data (extracted nightly) with ERP actuals and marketing attribution.
3. Overlap is minimized by agreeing on a "Salesforce operational BI" boundary owned by CRM Analytics and an "enterprise strategic BI" boundary owned by Tableau.

**Why not Tableau for everything:** Tableau's Salesforce connector extract lag and 30-day lookback cap make it unsuitable for the operational, real-time Salesforce reporting that sales and service teams depend on daily.

### Pattern: CRM Analytics for Regulated Sharing Model Enforcement

**When to use:** The org has complex record-level security — territory hierarchies, account team sharing, custom sharing rules — and the analytics must respect those boundaries without duplicating security logic in Tableau.

**How it works:**
1. Datasets in CRM Analytics are configured with row-level security predicates that reference the Salesforce sharing model.
2. Users see only the records their Salesforce profile and permission sets allow — the same data they would see in a standard Salesforce report.
3. There is no separate ETL job to replicate security groups into Tableau row filters.

**Why not Tableau:** Tableau extracts do not carry Salesforce record-level sharing metadata. Replicating that security in Tableau requires a custom row-level security implementation that must be kept in sync with every Salesforce sharing rule change — a high-maintenance and error-prone approach.

---

## Recommended Workflow

1. **Clarify data topology first** — determine whether the data is Salesforce-only or multi-source before any platform discussion. Multi-source requirements immediately widen the evaluation toward Tableau.
2. **Confirm freshness requirement against connector constraints** — if near-real-time Salesforce data is required, document that Tableau's Salesforce connector is extract-only and cannot meet that requirement; CRM Analytics must be the answer for that use case.
3. **Map the audience and license inventory** — identify whether the analytics consumers are Salesforce-licensed users (CRM Analytics PSL path) or independent analysts (Tableau Creator/Explorer path), and confirm what licenses are already owned.
4. **Assess sharing model enforcement need** — if row-level security must mirror Salesforce OWD or sharing rules, CRM Analytics is the only viable native option without a custom Tableau RLS implementation.
5. **Check for existing Tableau investment** — if a Tableau Server or Tableau Cloud contract is already in place, rationalize onto that infrastructure for non-Salesforce use cases before adding CRM Analytics licensing cost.
6. **Evaluate Tableau Next (Tableau+) if the org has an Agentforce or Data 360 roadmap** — for orgs building toward Agentforce-integrated analytics, Tableau Next is the GA forward path as of June 2025 and should be included in the architectural evaluation.
7. **Document the decision record** — produce a written rationale using the decision template, including data sources, freshness requirements, audience, license model, and the specific connector constraints that drove the recommendation.

---

## Review Checklist

Run through these before finalizing the decision recommendation:

- [ ] Confirmed whether Salesforce data is the only source or whether non-Salesforce systems are in scope
- [ ] Confirmed the Tableau Salesforce connector's extract-only nature has been communicated if Tableau is evaluated
- [ ] Confirmed the 30-day incremental refresh lookback cap has been noted if Tableau is evaluated for Salesforce-heavy use cases
- [ ] Confirmed whether row-level security must mirror the Salesforce sharing model
- [ ] Confirmed which platform licenses are already owned and whether dual licensing is acceptable
- [ ] Confirmed whether the org has an Agentforce or Data 360 roadmap that changes the Tableau Next evaluation
- [ ] Decision record produced and grounded in documented platform constraints (not just preference)

---

## Salesforce-Specific Gotchas

Non-obvious platform behaviors that cause real production problems:

1. **"Tableau CRM" is a deprecated marketing name for CRM Analytics** — Salesforce rebranded "Einstein Analytics" to "Tableau CRM" (circa 2020) and then rebranded again to "CRM Analytics" (circa 2022). "Tableau CRM" is not the same product as Tableau Desktop, Tableau Server, Tableau Cloud, or Tableau Next. Conflating these names leads to incorrect license procurement and wrong architectural decisions.
2. **Tableau's Salesforce connector is extract-only, not live** — The native connector does not support live/direct query against Salesforce. Stakeholders expecting real-time Salesforce data in Tableau dashboards will be disappointed at the first refresh cycle. This must be surfaced in the decision, not discovered post-deployment.
3. **30-day incremental refresh lookback cap** — Tableau's incremental refresh on the Salesforce connector only re-fetches records modified in the last 30 days. Historical changes beyond that window are not re-synced unless a full extract runs. This makes Tableau unsuitable for use cases that need historical accuracy without scheduled full refreshes.
4. **CRM Analytics PSL assignments are separate from Salesforce user licenses** — Simply having a Salesforce license does not grant CRM Analytics access. Each user who needs CRM Analytics access requires an explicit Permission Set License assignment. Large rollouts that skip license planning break on day one of go-live.
5. **Tableau Next (Tableau+) is not the same as the legacy Tableau Creator role** — Tableau Next is a new SKU with capacity-based pricing and Agentforce integration, GA as of June 2025. Organizations on legacy Tableau Creator/Explorer/Viewer contracts are not automatically upgraded to Tableau Next capabilities.

---

## Output Artifacts

| Artifact | Description |
|---|---|
| Platform recommendation | Written decision (CRM Analytics, Tableau, or hybrid) with documented rationale against the decision criteria |
| Licensing model comparison | Side-by-side summary of CRM Analytics PSL model vs Tableau Creator/Explorer/Viewer or Tableau+ model |
| Connector constraint summary | Documented Tableau Salesforce connector limits (extract-only, 30-day cap, no Custom SQL, 10,000-char limit) relevant to the specific use case |
| Decision record | Template-based artifact suitable for architecture review board or design authority submission |

---

## Related Skills

- **admin/einstein-analytics-basics** — Use for implementation guidance on CRM Analytics datasets, recipes, dataflows, and dashboard design. This decision skill stops at the recommendation; einstein-analytics-basics covers the build.
- **architect/insurance-cloud-architecture** — Use when the analytics decision is happening inside an Insurance Cloud or Financial Services Cloud org where industry data model constraints affect the platform choice.
- **data/industries-data-model** — Use when the analytics data sources include Industry Cloud objects and you need to understand the data model before evaluating CRM Analytics dataset design.

Related Skills

omnistudio-vs-flow-decision

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when choosing between OmniStudio (OmniScript / Integration Procedure / FlexCard / DataRaptor) and Flow / Screen Flow / Apex for a given capability. Triggers: 'omnistudio or flow', 'omniscript vs screen flow', 'integration procedure vs subflow', 'flexcard vs lightning page'. NOT for general automation selection across Workflow/Process Builder/Apex (see automation-selection tree).

tableau-embedding-in-lightning

8
from PranavNagrecha/AwesomeSalesforceSkills

Embedding Tableau dashboards (and Tableau Pulse insights) inside Lightning App / Record / Home pages — Tableau Embedding API v3 in an LWC, the connected-app + JWT trust pattern for SSO from Salesforce to Tableau, row-level security so a Salesforce user only sees their data in Tableau, CSP / Trusted Sites configuration for the Tableau host, and the Tableau Viz Lightning Web Component (drag-and-drop alternative to a custom LWC). NOT for building Tableau dashboards / data sources (that's Tableau-side work), NOT for CRM Analytics (Tableau is the separate product; see data/crm-analytics-patterns).

lwc-shadow-vs-light-dom-decision

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when deciding whether a Lightning Web Component should keep the default Shadow DOM or opt into Light DOM via `static renderMode = 'light'`. Covers CSS scoping, third-party CSS-framework compatibility, accessibility implications, Experience Cloud LWR vs internal-app constraints, performance differences, and event composition. NOT a generic Light DOM how-to (see lwc/lwc-light-dom). NOT a CSS styling reference (see lwc/lwc-styling-and-slds). NOT for managed-package distribution rules — that is a hard constraint and Light DOM is forbidden there.

tableau-salesforce-connector

8
from PranavNagrecha/AwesomeSalesforceSkills

Tableau ↔ Salesforce integration patterns: Tableau Salesforce connector, Tableau for Salesforce, CRM Analytics alternative, Data Cloud + Tableau, embedded Tableau dashboards. Choose between connector modes (live, extract, direct-to-Data-Cloud). NOT for CRM Analytics Studio (use crm-analytics-foundation). NOT for generic Tableau Server setup.

flow-decision-element-patterns

8
from PranavNagrecha/AwesomeSalesforceSkills

Structure Decision elements in Flow: default outcome placement, outcome ordering, compound criteria, null-safe checks, Boolean vs Pick-list comparisons, and avoiding deep nested branching. Trigger keywords: decision element, flow branching, default outcome, condition logic, formula in decision. Does NOT cover loop or fault path design, or Screen Flow navigation.

einstein-analytics-data-model

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when working with CRM Analytics (Einstein Analytics) extended metadata (XMD) — the multi-layer metadata system that controls field display labels, aliases, number formatting, date formatting, measure/dimension classification, and color palettes on CRM Analytics datasets. Trigger keywords: XMD API, dataset field formatting CRM Analytics, wave dataset labels, main XMD update, dataset versioning Analytics. NOT for dataflow development, recipe node configuration, dataset ingestion setup, standard dashboard design, or SAQL query construction — those are covered by analytics-dataflow-development and analytics-recipe-design.

crm-analytics-security-predicates

8
from PranavNagrecha/AwesomeSalesforceSkills

Row-level security in CRM Analytics datasets via security predicates — SAQL filter expressions stored on the dataset that apply at query time per running user. Covers the syntax (`'DatasetColumn' operator value`), the `$User.*` context variables, multi-level predicates (role hierarchy + team + region), the performance cost of complex predicates, and the testing discipline (admins bypass predicates by default). NOT for Salesforce Core sharing rules (different runtime), NOT for App / Dashboard / Lens-level access (that's CRM Analytics App sharing, not predicates), NOT for field-level masking inside a dataset (use Encryption + dataset transformations).

community-analytics-data

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when analyzing Experience Cloud site analytics including login metrics, member engagement, page view tracking, and content performance. Triggers: Experience Cloud site analytics, community member engagement data, portal login tracking, page view reports community, GA4 Experience Cloud integration. NOT for CRM Analytics or Tableau CRM. NOT for internal Salesforce reporting on standard CRM objects.

commerce-analytics-data

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when analyzing B2C Commerce storefront metrics (conversion funnel, cart abandonment, product performance, revenue trends) via the Business Manager Reports and Dashboards app, or when deriving B2B Commerce analytics via SOQL on core platform objects or the CRM Analytics B2B Commerce template. NOT for CRM Analytics platform configuration, Einstein Analytics, Experience Cloud analytics, or general Salesforce report builder usage.

analytics-external-data

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when bringing non-Salesforce data into CRM Analytics via the External Data API, Data Connectors, or Live Datasets. Trigger keywords: InsightsExternalData, External Data API, live dataset, remote connection, Snowflake connector, BigQuery connector, Tableau Bridge, external CSV upload, analytics connector. NOT for standard data import into Salesforce objects. NOT for Salesforce object sync via dataflow local connectors. NOT for standard ETL into Sales or Service Cloud.

analytics-dataset-optimization

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when tuning CRM Analytics dataset performance through field selection, date granularity choices, dataset splitting strategy, and run-budget optimization. Trigger keywords: dataset too many fields, SAQL timeseries slow, epoch vs date storage, dataset field count limit, dataset partition, split dataset by year, CRM Analytics performance tuning. NOT for SOQL optimization, Salesforce report tuning, Data Cloud segmentation performance, or choosing between analytics tools.

analytics-data-preparation

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when customizing CRM Analytics dataset field metadata via the XMD (Extended Metadata) REST API or augmenting CRM Analytics recipes with external non-Salesforce data: labeling fields, setting display formats, reclassifying measures vs dimensions, and applying org-level field annotations via main XMD PATCH. Trigger keywords: XMD field labels, CRM Analytics main XMD update, dataset field formatting wave, analytics external data augmentation, WaveXmd REST API. NOT for recipe node transformation logic, dataflow SOQL extraction, dataset row count management, or standard CRM data quality — those are covered by analytics-recipe-design, analytics-dataflow-development, and analytics-dataset-management.