Ujjwal TiwariEnterprise Architect
All posts

Article

Building DataViews.pro: An SFMC Data Views Reference I Made with Cursor

  • SFMC Data Views
  • Salesforce Marketing Cloud
  • Cursor
  • SQL
  • Automation Studio

A few months ago I started AI Coder: Complete Claude Code & Coding Agents Course on Udemy, taught by Ed Conner. Early on, he demoed Cursor — and that was enough for me to pause the course and start experimenting on my own.

I tried a few different project ideas first. In the end, the one that made sense was the work I already do every day in Salesforce Marketing Cloud (SFMC): system data views. They sit behind almost every Query Activity and Automation Studio script I write. They are also the part of SFMC I have never quite felt on solid ground with.

That experiment is live today as DataViews.pro.


Data views were never my strong suit

I have always found SFMC data views hard to read correctly.

On paper they are straightforward system tables — _Subscribers, _Sent, _Open, _Click, _Job, and many more. In a real project, the details pile up fast: which field belongs to which view, which keys actually join, when you need Ent. in a child business unit, and why SQL that looked fine in a draft behaves differently inside a Query Activity.

Over the years, two references have helped me more than anything else — and I still go back to them:


What DataViews.pro is

DataViews.pro is an interactive data views reference and SQL workspace for SFMC. In the app it also goes by SFMC Schema Architect.

It does not plug into your Marketing Cloud account or run queries against your data. You use it to explore schemas, map relationships, and draft SQL — then copy the result into Query Studio or Automation Studio when you are ready.

Here is what is in it today:

  • A schema canvas for core system data views, SendLog layout, and synchronized CRM DE shapes
  • Relationship highlighting when you hover join-related fields
  • A SQL Sandbox with automatic join paths and utility filters
  • Starter query templates for common reporting and list-hygiene work
  • An AI Copilot (free account, daily limits) that sees your canvas selection and whatever is already in the sandbox editor

The site is in public beta. Browsing and SQL generation are free; the copilot requires sign-in.


How I use it

The flow is deliberately simple:

Browse data views → select cards on the canvas → open the SQL Sandbox → copy SQL into Marketing Cloud

Pick a segment

The toolbar divides the canvas into three areas:

SegmentWhat it covers
CoreSystem data views — subscribers, sending, tracking, journeys, SMS, mobile push, automations, social, and more
SendLogSendLog-style fields (JobID, ListID, BatchID, SubKey, triggered-send attribution)
Sync CRMSynchronized Account, Contact, and Lead shapes from Salesforce CRM

Search and read fields

Press / to focus search, then type a table or field name — JobID, SubscriberKey, _Bounce, or whatever you are looking for. Matching cards stay visible; the rest fade back.

I usually enable Expand Field Details when I am building a SELECT list and want descriptions and datatype badges on each row.

Trace joins on the canvas

Hover a field with join metadata and related tables highlight across the grid. It is especially handy when you are wiring together more than two views.

DataViews.pro schema canvas with data view cards

Select tables and open the sandbox

Check the views you need, then open the SQL Sandbox. A BFS join pathfinder connects your selection using familiar SFMC rules:

  • Tracking views joined on send grain (JobID, ListID, BatchID, SubscriberID)
  • _Job joined on JobID only
  • LEFT JOIN by default, so driving send rows are kept when optional data is missing
  • Bridge tables added when two selected views do not share a direct key — you only select what matters; the engine supplies the rest

DataViews.pro SQL Sandbox with join path and utilities

Adjust filters, edit, copy out

Use the sidebar utilities (below), tweak the query in the editor if you want, and paste it into Marketing Cloud.


Features in more detail

Schema canvas

Each data view appears as a card with its category — Sending, Tracking, Journey, Subscribers, Mobile, Automation, and so on. Views like _Subscribers, _Sent, _Job, _Open, and _Click are near the top so you are not scrolling endlessly.

Each card lists fields, types, and join paths where we have modeled them.

SQL Sandbox

The sandbox is more than an editor:

  • Live Query — SQL from your current selection and toggles
  • Starter Templates — nine ready-made patterns (hard bounces, ghost subscribers, automation failures, SMS failures, journey unsubscribes, and more)
  • BFS join path — each LEFT JOIN with its ON conditions spelled out
  • Bridge labels — when the pathfinder adds a table you did not select
  • Disconnected warnings — when two views cannot be joined, you know before copying broken SQL

Utilities I reach for most

UtilityWhat it does
Limit past 30 daysAdds an EventDate lookback when the graph supports it
Filter unique behavioral eventsIsUnique = 1 where the view supports it (not _Sent)
Exclude test send recordsDrops rows with TestStormObjID populated
SQL keyword caseUppercase or lowercase — your choice before paste
Compact SELECTEssential columns per view instead of the full schema
Automation Target HeaderTarget DE scaffolding for Query Activities

Business filters:

  • Active subscribers only
  • Filter by Job ID for a specific send

If a tracking-heavy query is missing a recommended date lookback, you get a warning. You can still proceed, or turn on the 30-day filter in one click.

Starter templates

Built-in examples include:

  • Recent hard bounces
  • Unengaged subscribers (many sends, no opens)
  • Recent automation failures
  • High-friction unsubscribes
  • Held status with last bounce reason
  • Spam complaints by Job ID
  • SMS outbound failures
  • Non-openers for a specific Job ID
  • Journey unsubscribe audit

Placeholders like YOUR_JOB_ID_HERE can be filled in a parameter panel before the SQL drops into the editor.

AI Copilot

The copilot reads your canvas selection and current sandbox SQL. Ask it to explain a relationship, suggest a join, or draft a query — then push the result into the editor to refine.

  • Free account (email sign-in)
  • 5 AI queries per day per user (UTC reset)
  • Streaming replies; SQL in code fences can be applied to the sandbox in one click

DataViews.pro AI Copilot panel

A few other details

  • Dark and light theme
  • Workspace state saved in your browser (selections, sandbox size, preferences)
  • In-app guide and keyboard shortcuts (/ for search, among others)
  • Static /views/ pages per data view for search and reference
  • Comments in generated SQL for child BU patterns such as Ent._Subscribers

Building it with Cursor

I did not ship this in a single marathon session. Cursor made it easier to work in layers: schema files grouped by domain (tracking, journeys, mobile, and so on), a join engine with SFMC-specific rules, a CodeMirror editor with completions from the active schema, a streaming copilot API, and deployment on Vercel.


Who it is for

  • SFMC developers and architects writing Query Activities
  • Marketing ops and analysts pulling tracking data together
  • Consultants in a new Business Unit who need a quick map of system views

If Query Studio is already part of your routine, DataViews.pro is meant to sit alongside it — plan and draft here, run the query in your tenant.


Try it

Live app: https://dataviews.pro/

If it helps you finish a bounce report, a journey audit, or a query you have been putting off, I would like to hear how it went.

I also list DataViews.pro in Useful Tools for SFMC Professionals. This post is the longer walkthrough — what it is, how it works, and how to get the most from it.