In Tableau Server, when would you use a data-driven alert instead of a subscription?
answer
- one sends on a clock, one on a condition
- quiet days should mean a quiet inbox
- the alert needs a numeric axis to watch
- the same email can carry different numbers
- nothing fires faster than the refresh
basics
~20 sUse a subscription for a scheduled snapshot people read on a rhythm; use a data-driven alert when the point is a threshold — it emails only when a numeric value in the view crosses the condition, so quiet days produce no mail.
solid answer
~50 sA **subscription** emails a rendered image or PDF of a view on a schedule, whether or not anything changed. It suits a routine — a Monday morning trading summary, a daily ops digest — and it can optionally skip sending when the view is empty. A **data-driven alert** is set on a view with a continuous numeric axis: you pick a threshold and a comparison, and Tableau emails the recipients only when the data meets that condition, evaluated after the extract refreshes or on the alert's schedule. Alerts suit exception management — inventory below a floor, error rate above a ceiling — where daily mail nobody reads is worse than no mail. Both render **per recipient** using that person's own access, so a view with user-level data filters sends genuinely different numbers to different people, and every recipient needs permission to view the underlying content. Neither is a substitute for real monitoring: alerts fire only as often as the data refreshes.
go deeper
Know that a subscription emails a view on a schedule and an alert emails only when a numeric threshold is met, and that recipients need permission to view the content.
Explain the trigger difference precisely, the continuous-axis requirement for alerts, and the fact that each recipient's copy is rendered under their own identity and data filters.
Show judgment about noise and reliability: exception-based delivery over daily digests, awareness that alerts can be suspended, and knowing when a condition belongs in the pipeline's alerting rather than in email.
Own the policy: who may create subscriptions and alerts, how lists are reviewed and re-owned when people leave, and where the boundary sits between BI-delivered awareness and operational paging.
## Two delivery mechanisms with different triggers Tableau Server and Tableau Cloud both offer two push mechanisms from a published view. A **subscription** is time-triggered. A user subscribes themselves (or, with the right capability, subscribes others) to a view or a whole workbook, and on the chosen schedule the server renders the view and emails it as an image or PDF with a link back to the live view. It sends on the schedule regardless of whether anything moved, with an option not to send when the view is empty — which is the poor cousin of a real condition. A **data-driven alert** is condition-triggered. It is created from a view that has a **continuous numeric axis**, because the alert needs an axis value to compare against. You define a threshold and a comparison — above, below, equal to — nominate recipients, and Tableau evaluates the condition when the underlying extract refreshes or on the alert's own cadence. Mail goes out only when the condition holds. ## Choosing between them The honest test is: *do you want to hear from this every time, or only when something is wrong?* Subscriptions fit a **rhythm**. The weekly business review pack, the daily sales digest, the month-end summary. People expect them, and their absence is itself a signal. Alerts fit **exceptions**. Stock cover below two weeks, refund rate above a ceiling, a pipeline SLA breached. Sending a daily "everything is fine" email trains people to filter the sender, at which point the one email that mattered goes to the same folder. If you find yourself subscribing people to a dashboard so they can check whether a number went red, you wanted an alert. A practical constraint: because an alert needs a continuous numeric axis, you sometimes have to build a small purpose-made view for it — a single-mark view of the metric you actually want to watch — rather than attaching the alert to a dense dashboard. That is not a workaround; a dedicated monitoring view is usually clearer anyway. ## The thing candidates miss: per-recipient rendering Both mechanisms render **for each recipient individually**, using that recipient's own identity and access. Two consequences follow. First, **permissions apply**. A recipient who lacks permission on the view does not receive a back-door copy of it. Adding someone to a subscription does not grant them access. Second, and more subtly, **data filtering applies**. If the data source uses user-level filtering — a calculation on `USERNAME()` or `ISMEMBEROF()`, or a user filter defined on the data source — each recipient's render is filtered to their own slice. The regional manager for the north and the one for the south receive the same subscription with different totals. That is usually the desired behaviour and it is exactly why you should never assume a subscription email is a shared artefact: quoting "the number in this morning's email" in a meeting can mean four different numbers around the table. It also means rendering cost scales with recipients rather than with subscriptions, which matters when a list grows to hundreds. ## Operational realities **Alerts can be suspended.** If an alert repeatedly fails to evaluate — the view changed shape, the field it watched was removed, the data source broke — the platform stops retrying it and notifies the owner. An alert you assume is armed may have been quietly suspended weeks ago, so treat critical alerts as something to review, not something to set and forget. **Freshness bounds everything.** An alert can only fire as fast as the data updates. On an extract refreshed nightly, a "real-time" alert is a next-morning alert. If a condition needs to be caught in minutes, it belongs in the pipeline or a monitoring system, not in a BI tool's email layer. **Volume management.** Subscriptions expand silently as teams grow; alerts multiply as everyone adds their own threshold. Both deserve periodic review, and both should be owned by a team rather than by whichever analyst set them up before leaving. **Delivery is email.** Neither mechanism is an escalation path with acknowledgement, retries or on-call routing. If somebody must act within an hour, wire the condition into the alerting system that already pages people, and keep Tableau for the human-facing view of it. ## A short answer that lands well "Subscription for a rhythm, alert for a threshold. Both render per recipient with that person's permissions and user filters, so different people can get different numbers from the same subscription. And neither one beats the refresh cadence — if the extract runs nightly, the alert is a nightly alert."
- Why might two people subscribed to the same Tableau view receive different totals?Because each subscription is rendered individually under that recipient's identity. If the data source applies user-level filtering — a calculation on USERNAME() or ISMEMBEROF(), or a user filter — each person's render covers only their slice of the data. It is intended behaviour, but it means an emailed number is personal, not a shared reference point.
- Would you use a Tableau data-driven alert to page an on-call engineer?No. Alerts are email-only, fire no faster than the data refreshes, and can be silently suspended after repeated evaluation failures. For anything requiring acknowledgement, retries or escalation, put the condition in the pipeline or the monitoring system that already pages people, and keep the Tableau view as the human-readable context.
- What is the option to skip a subscription when the view is empty actually good for?It approximates exception-based delivery when your view is built as a list of problems: if there are no offending rows, the view is empty and nothing is sent. It is a reasonable pattern for exception reports, but it is coarser than an alert because it can only distinguish empty from non-empty, not a threshold crossing.
saying these in an interview costs you the question
- Says a subscription only sends when the data changes
- Assumes everyone on a subscription receives identical numbers
- Thinks subscribing someone grants them access to the view
- Treats data-driven alerts as real-time monitoring or paging
- Forgets an alert needs a continuous numeric axis in the view