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
// your dataset SQL
SELECT invoice_id, amount, due_date
FROM invoices
WHERE customer_id = {{customer_id}}
  AND status = 'open'
ORDER BY due_date;
// your JWT (Node SDK)
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<iframe src="https://embed.trend.dev/d/abc?token=..." />
Web component<trend-dashboard token="..." theme="dark" />
Hosted portalanalytics.yourcompany.com

Pricing 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.

Embedded analytics for software teams — trend