Report Delivery Channels
Getting the number to the right eyeball at the right time
Reports reach audiences through email subscriptions, portals, embedded surfaces, scheduled exports, and push/alert hooks. Match the channel to the cadence and the audience.
What you will learn
- Match channels to audience and cadence
- Design subscription basics and schedules
- Choose embedded vs portal vs email delivery
What is this?
Delivery channels move reports from the BI platform to users: scheduled email subscriptions, shared portals/workspaces, embedded analytics inside other apps, exports to storage, and event-driven push/alerts. The decision follows the audience's rhythm: operations want push at a cadence; decision-makers want pull in context; customers want embedded in the product.
Why do you need it?
- A great report nobody receives is an artifact, not analytics.
- Channel mismatch is a top adoption killer (email flood or portal graveyard).
- Automated delivery replaces the 'can you send me the export' hobby.
- Choosing embedded vs portal changes architecture, not just config.
Mental model
Mail, the newsstand, and in-app notifications
Report channels
Mail (subscriptions) reaches desks on a schedule; the newsstand (portal) is pull-in-context; in-app notifications (embeds/alerts) arrive inside whatever tool the person is already working in. You wouldn't mail the newsstand daily; you choose per audience.
How it works
- Subscriptions: schedule-boundened run + delivery to email/print/archive.
- Portals: shared workspaces are pull tokens where the freshest version lives.
- Embeds: BI render inside SaaS apps (iframe/SSO) for in-context analytics.
- Exports/schedules: push to storage/object store for downstream ETL/archival.
- Alerts: threshold-based push to chat/email/API when conditions change.
Audience and cadence pick the channel.
Examples
A channel map for one report family
REPORT: Revenue position, weekly Execs : email subscription (Mon 07:00, PDF) Finance team : shared portal (always-latest web view) Product app : embedded tile inside the partner dashboard Data team : export to object store (nightly parquet) Alert hook : chat push when YTD gap > 5% One dataset; five channels chosen by ear to audience.Each audience gets the channel that matches its rhythm — push where waiting matters, pull where context rules.
In production
- Ops report subscriptions email exact exports each shift; portal keeps the live version.
- A SaaS product embeds the customer's usage analytics in-app (SSO-scoped).
- Nightly scheduled exports feed a downstream partner ETL via object storage.
Best practices
- Right-size the channel: don't email if a portal does the job.
- Gate subscriptions to authorized audiences; audit them.
- Embed through the platform's SSO/SDK, not a hardcoded key.
- Monitor delivery (failures, stale schedules) as part of report ops.
Common mistakes
- Emailing every report to everyone (inbox noise + data sprawl).
- A portal with no schedule or no promotion — nothing is ever read.
- Unembedded analytics: product teams copy numbers into the app instead.
- Deliveries failing silently — no observer and no retry.
Debugging tips
- 'My report didn't arrive' → check subscription schedule, owner, and platform delivery log.
- Portal stale → the underlying model didn't refresh; verify the schedule chain.
- Embed slow → verify SSO/back end query path, not the embed SDK.
Interview checkpoint
Quick quiz
Which channel suits an exec who needs Monday's number pushed to email?
Embedded analytics are best done with a hardcoded API key in the client.