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
- You wrap a provider client (or use a Vercel AI SDK / OpenTelemetry helper).
- You attach optional structured metadata on wrap, context, or per call.
- SuperPenguin stores one row per request with usage, estimated cost, latency, and metadata.
- 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
| Capability | Typical native tools | SuperPenguin |
|---|---|---|
| Structured key/value metadata | Partial / vendor-specific | Same schema across providers |
| Multiple orthogonal dimensions | Often limited | Yes |
| Reported in USD | Rarely | Estimated cost at ingest |
| Cardinality ceilings | Common (for example Deepgram tag caps) | No soft tag ceiling on ingest |
| Cross-provider view | No | Yes |
| Row-level export | Often aggregates only | Per-request |
Examples of native gaps:
- Deepgram offers flat
tagstrings 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.
Recommended metadata schema
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.