> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vantage.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Managed AI Tags

> Vantage automatically normalizes AI provider billing and usage fields into a consistent vntg:ai: tag schema, so you can filter, group, and allocate AI spend by model, token type, user, and more across every AI provider.

Managed AI Tags are a Vantage-managed tag schema that standardizes AI cost data across providers. As spend flows in from providers such as Cursor, Anthropic, OpenAI, AWS Bedrock, Azure OpenAI, and Google Cloud, Vantage maps each provider's billing and usage fields into a consistent set of `vntg:ai:` tags. The same keys, like `vntg:ai:model`, `vntg:ai:model_provider`, and `vntg:ai:token_type`, appear regardless of which provider the spend came from, so you can build [Cost Reports](/cost_reports), [Virtual Tags](/tagging), [Budgets](/budgets), and [Cost Alerts](/cost_alerts) on the same dimensions across your entire AI stack.

Each AI provider exposes different fields: the model name may be the service on one integration and a tag on another, and user identity may be an email, a user ID, or an API key depending on the vendor.

<Note>
  Managed AI Tags are metadata-only and included with Vantage at no additional cost for accounts with supported AI cost integrations. Vantage only normalizes fields your providers already report in cost and usage data; it does not collect prompt or completion content.
</Note>

## How It Works

Managed AI Tags are applied automatically during each provider's cost ingestion. Vantage reads the provider's billing and usage fields, maps them to the normalized schema, and writes the resulting tags, prefixed with `vntg:ai:` by default, onto the cost rows. No configuration is required: once you connect a supported AI integration, the tags appear on that provider's costs and become available anywhere tags are supported in Vantage.

Not every provider supplies every field. Vantage only writes a tag when the source data provides a reliable value for that key, so the set of `vntg:ai:` tags you see depends on which providers you have connected and what each one reports.

## The Managed AI Tag Schema

The following keys make up the canonical Managed AI Tag schema. Each key is shown with the `vntg:ai:` prefix.

| Tag key                   | What it tells you                                                                                                                           | Example values                                  |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| `vntg:ai:model`           | The cleansed, normalized model name, so you can compare the same model across providers and release dates.                                  | `gpt-4o`, `claude-sonnet-4`                     |
| `vntg:ai:raw_model`       | The exact model name from the provider, kept when it differs from the normalized `vntg:ai:model` value.                                     | `gpt-4o-2024-08-06`, `claude-sonnet-4-20250514` |
| `vntg:ai:model_provider`  | Who built the model, even if another platform hosts or bills for it. Useful for standardizing models procured through cloud providers.      | `Anthropic`, `OpenAI`, `Google`, `xAI`          |
| `vntg:ai:token_type`      | What kind of tokens this charge is for.                                                                                                     | `input`, `output`, `cache_read`, `cache_write`  |
| `vntg:ai:provider_region` | Where the request ran (region or geography).                                                                                                | `us-east-1`, `global`                           |
| `vntg:ai:service_tier`    | The pricing or speed tier for this usage. Values vary by provider.                                                                          | `default`, `priority`, `batch`, `flex`          |
| `vntg:ai:api_key_id`      | Which API key was used.                                                                                                                     | Provider key ID                                 |
| `vntg:ai:user_email`      | Email of the person who triggered the usage.                                                                                                | `alice@company.com`                             |
| `vntg:ai:user_name`       | Display name of the person who triggered the usage.                                                                                         | `Alice Smith`                                   |
| `vntg:ai:user_id`         | User ID from the provider.                                                                                                                  | Provider user ID                                |
| `vntg:ai:principal_id`    | A provider-specific caller identifier that is not tied to a specific user name or email (for example, the IAM principal on Amazon Bedrock). | `team-a/session`                                |

Not every provider supplies every field. Vantage only writes a tag when the source data provides a reliable value for that key.

<Note>
  When [Custom LLM Enrichment](/custom_llm_enrichment) is enabled, Vantage also writes request metadata into the same schema, including `vntg:ai:endpoint` and `vntg:ai:is_batch`. These keys come from per-request telemetry rather than native provider billing. See [Managed AI Tags vs. Custom LLM Enrichment](#managed-ai-tags-vs-custom-llm-enrichment).
</Note>

Anthropic also emits `vntg:ai:inference_speed` (its service speed tier) alongside the canonical keys.

## Supported Providers

Managed AI Tags are emitted automatically for supported AI cost integrations. The keys each provider populates depend on the fields that provider reports.

| Provider                                                               | Emitted `vntg:ai:` keys                                                                                          |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| [Cursor](/connecting_cursor)                                           | `model`, `raw_model`, `model_provider`, `user_email`                                                             |
| [Anthropic](/connecting_anthropic) (Claude API)                        | `model`, `model_provider`, `provider_region`, `service_tier`, `inference_speed`, `token_type`                    |
| [Anthropic](/connecting_anthropic) (Claude.ai)                         | Adds `user_email`, `user_name`, `user_id`                                                                        |
| [OpenAI](/connecting_open_ai)                                          | `model`, `raw_model`, `model_provider`, `provider_region`, `service_tier`, `token_type`, `user_id`, `api_key_id` |
| [AWS Bedrock](/connecting_aws)                                         | `model`, `raw_model`, `model_provider`, `provider_region`, `service_tier`, `token_type`, `principal_id`          |
| [Azure OpenAI](/connecting_azure)                                      | `model`, `raw_model`, `model_provider`, `provider_region`, `service_tier`, `token_type`                          |
| [Google Cloud](/connecting_gcp) (Vertex AI Gemini, Marketplace Claude) | `model`, `raw_model`, `model_provider`, `provider_region`, `token_type`                                          |
| [Anyscale](/connecting_anyscale)                                       | `user_email`, `user_id`                                                                                          |
| [ElevenLabs](/connecting_elevenlabs)                                   | `model`, `model_provider`                                                                                        |
| [Baseten](/connecting_baseten)                                         | `model`, `model_provider`, `token_type`                                                                          |
| [Fireworks AI](/connecting_fireworks_ai)                               | `model`, `model_provider`, `token_type`                                                                          |
| [xAI](/connecting_spacexai)                                            | `model`, `raw_model`, `model_provider`, `service_tier`, `token_type`, `api_key_id`                               |

<Note>
  For the hyperscalers, Managed AI Tags apply only to the AI portion of spend: Amazon Bedrock cost rows on AWS, Azure OpenAI and Foundry cost rows on Azure, and Vertex AI Gemini and Marketplace Claude cost rows on Google Cloud. Non-AI costs on those providers are unaffected.
</Note>

## How Managed AI Tags Coexist with Provider Tags

Managed AI Tags add a cross-provider layer on top of the provider-specific tags Vantage already creates. Provider-specific native tags, such as `cursor:user`, `openai:api_key_id`, or `anthropic:model`, continue to exist and capture fields unique to that integration, while the managed `vntg:ai:` keys give you a single, consistent dimension that works across providers.

Managed AI Tags are also additive to your existing configuration: they do not modify your [Virtual Tags](/tagging), [Billing Rules](/sql_billing_rules), or reports. You can start using them in new reports and filters immediately alongside everything you already have.

## Renaming or Standardizing Managed AI Tags

Vantage maintains the canonical Managed AI Tag definitions with the set `vntg:ai:` prefix so the schema stays consistent across every account. If you want to present these tags under different key names, use [Tag Key Collapsing](/tagging#tag-key-collapsing) to map one or more `vntg:ai:` keys into a [Virtual Tag](/tagging) with your preferred naming.

## Backfill and Data Freshness

Managed AI Tags are applied as part of each provider's cost ingestion, so they follow that provider's refresh cadence. See the [provider data refresh documentation](/provider_data_refresh) for per-provider timing.

Normalized `vntg:ai:` tags are available from August 2026 onward. Vantage does not backfill managed tags onto earlier historical data.

## Use Managed AI Tags in Cost Reports

Once a supported AI integration is connected and its costs are processed, the `vntg:ai:` keys appear in the **Tag Key** dropdown wherever tags are supported. To analyze AI spend with them:

* **To group:** open the **Group By** menu on a [Cost Report](/cost_reports), select **Tag**, and choose a key such as `vntg:ai:model` (values like `gpt-4o`) or `vntg:ai:model_provider`.
* **To filter:** open the **Filters** menu, add a new rule, select **Tag**, choose the **Tag Key** (for example, `vntg:ai:user_email`), then pick an operator and one or more values.

Because the same keys span every AI provider, you can drill into a single developer's spend across Cursor and Anthropic in one view, or compare model mix across your whole AI stack. Managed AI Tags also work anywhere else tags are supported, including [Virtual Tags](/tagging), [cost allocation segments](/segments), [Budgets](/budgets), and [Cost Alerts](/cost_alerts). If you use a handful of keys often, mark them as [preferred tags](/tagging#preferred-tags) so they sort to the top of these menus.

## Managed AI Tags vs. Custom LLM Enrichment

Managed AI Tags and [Custom LLM Enrichment](/custom_llm_enrichment) are complementary features that share the `vntg:ai:` vocabulary but solve different problems.

|                    | Managed AI Tags                                                                                                                 | [Custom LLM Enrichment](/custom_llm_enrichment)                                                                                |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| What it does       | Normalizes fields your providers **already report** into a consistent `vntg:ai:` schema.                                        | Joins **your own** per-request token telemetry (delivered to S3) to provider costs to fill gaps the bill doesn't itemize.      |
| Setup              | Automatic once a supported AI integration is connected.                                                                         | You emit telemetry in the common schema and connect an S3 source.                                                              |
| Typical dimensions | `model`, `model_provider`, `token_type`, `service_tier`, `provider_region`, and identity fields when the provider reports them. | Custom `tags` you define (for example, `team`, `feature`, `environment`) plus request metadata like `endpoint` and `is_batch`. |

In short, Managed AI Tags standardize what providers already send, while Custom LLM Enrichment enriches what providers leave out. Use them together for the most complete view of AI spend.
