Solutions · Software
Embedded analytics your customers actually open.
Ship customer-facing dashboards inside your product in a week — not a quarter. Per-customer data scoping, three embed modes, and pricing that scales.
The pain
Why every SaaS team eventually hits an embed wall.
Nobody starts by picking an embedded analytics vendor. You start by building three charts yourself. Then customers ask for filters. Then export. Then drill-down. Then a real dashboard. Then you're evaluating vendors — and every one of them wants your entire budget..
Your customers keep asking for "a real dashboard"
The three lonely bar charts in your app haven't cut it in two years. Everyone wants slicing, drilling, and export — and you don't want to spend a quarter building it.
Row-level scoping is a nightmare
Every embedded-analytics vendor promises "just pass a JWT" and every implementation ends in a maze of ad-hoc filter injection. It's fragile, it leaks, and audit hates it.
Per-viewer pricing eats your margin
You wanted to give every one of your 10,000 customers a dashboard. Then you got the quote priced per active viewer per month. Now you give it to 200 of them.
Per-customer scoping
One dashboard. Every customer sees only their data.
Sign a short-lived JWT with per-customer attributes. Those attributes drop into your dataset SQL as templated variables. Write the WHERE clause once, isolate every customer forever — no ad-hoc filter injection, no proxying, no fragile per-customer copies of the dashboard.
- Signed JWTs with per-customer claims (Node/Python/Ruby/Go SDKs)
- Attributes bind to dataset SQL via `{{customer_id}}` templating
- Per-customer audit rows for every embed load and query
- Read-only enforcement at the database session — no way for a leak to write
SELECT invoice_id, amount, due_date
FROM invoices
WHERE customer_id = {{customer_id}}
AND status = 'open'
ORDER BY due_date;const token = trend.signEmbed({
customer_id: user.currentAccountId,
demo: false,
})Three embed modes
Iframe, web component, or a full hosted portal.
Iframe when you want it fast and isolated. Web component when you want it styled to match your app. Hosted portal (analytics.yourcompany.com) when you don't want it to feel like an embed at all — trend hosts a full analytics surface on your subdomain with your brand.
- Iframe: signed URL, drop it in, done
- Web component: <trend-dashboard> tag with CSS custom-property theming
- Hosted portal: your subdomain, your logo, your fonts, our uptime
- Same dashboards under all three — pick per-integration
<iframe src="https://embed.trend.dev/d/abc?token=..." /><trend-dashboard token="..." theme="dark" />analytics.yourcompany.comPricing that scales with you
$7 per embed customer per month. Not per viewer.
Legacy embed vendors bill per viewer, which forces you to gate access. trend bills per distinct embed customer. Demo customers are free.
- $7/customer/month — flat, no per-viewer surcharge
- Demo customers (demo=true in the JWT) always free
- No per-query metering, no per-dashboard fees
- Monthly, cancel-anytime; drop below your active-customer count and pay less
Embed pricing
$7/ embed customer / mo
- Demo customers free forever
- No per-viewer, per-query, or per-dashboard fees
- Monthly billing, cancel anytime
How it compares
Why teams pick trend over generic embed vendors.
Generic embed vendors
- Per-viewer pricing punishes wide rollout
- Multi-quarter integration for SSO + row-level
- Dashboards feel like they’re from 2014
- White-label often behind a $50k tier
trend
- Per-customer pricing — ship widely, pay flat
- First embed live in under a week
- Modern drag-and-drop canvas
- White-label + custom domain on every tier that includes embed
Embedded analytics FAQ.
The BI tool you finish.
Spin up a workspace, connect a warehouse, ship a dashboard before lunch. 14-day free trial.