SuperPenguin Docs
Concepts

Attribution

How SuperPenguin attributes AI spend with structured metadata across providers.

Attribution answers: which customer, feature, team, environment, or prompt version drove this dollar of AI spend?

How it works

  1. You wrap a provider client (or use a Vercel AI SDK / OpenTelemetry helper).
  2. You attach optional structured metadata on wrap, context, or per call.
  3. SuperPenguin stores one row per request with usage, estimated cost, latency, and metadata.
  4. Dashboards and alerts group by those dimensions in USD.

SuperPenguin does not proxy provider traffic. Calls go directly to the provider; the SDK observes the response.

Why native provider tags are not enough

CapabilityTypical native toolsSuperPenguin
Structured key/value metadataPartial / vendor-specificSame schema across providers
Multiple orthogonal dimensionsOften limitedYes
Reported in USDRarelyEstimated cost at ingest
Cardinality ceilingsCommon (for example Deepgram tag caps)No soft tag ceiling on ingest
Cross-provider viewNoYes
Row-level exportOften aggregates onlyPer-request

Examples of native gaps:

  • Deepgram offers flat tag strings with a daily unique-tag cap.
  • ElevenLabs has no per-request metadata on speech endpoints; teams often mint extra API keys instead.
  • OpenAI accepts metadata but stays single-provider and token-denominated.
  • Anthropic primarily exposes metadata.user_id.

Use the same keys everywhere: customer_id, feature, team, environment, prompt_key, prompt_version. Add custom keys as tags when needed. See Add attribution metadata.

Estimated vs billed cost

SDK rows carry an estimated cost from SuperPenguin's pricing catalog. Provider invoices are the billed source of truth. Connect provider accounts and use reconciliation to compare the two. See Billing reconciliation and Pricing and cost semantics.