Skip to main content
Custom Properties let you attach metadata to every LLM request using simple HTTP headers. This metadata becomes queryable in the dashboard and API, enabling you to filter, segment, and analyze your data by any dimension that matters to your business.
Helicone dashboard showing custom properties for filtering requests

Custom properties appear as filterable columns in the Requests table

Why Use Custom Properties

Without custom properties:
  • ❌ Can’t segment costs by feature, environment, or user type
  • ❌ Hard to trace which requests belong to specific workflows
  • ❌ No way to filter requests by your business dimensions
  • ❌ Limited debugging context for production issues
With custom properties:
  • ✅ Filter requests by environment, feature, version, or any custom dimension
  • ✅ Calculate cost per user, feature, or workflow
  • ✅ Debug issues by filtering on relevant metadata
  • ✅ Analyze performance across different segments
  • ✅ Track business metrics alongside technical metrics

Quick Start

Add custom properties using HTTP headers with the format Helicone-Property-[Name]:

Common Property Patterns

Environment & Deployment

Track which environment requests come from:
Use cases:
  • Compare costs across environments
  • Debug production-specific issues
  • Track performance by region
  • Analyze usage by deployment version

Feature & Workflow

Identify which feature or workflow made the request:
Use cases:
  • Calculate cost per feature
  • Optimize expensive workflows
  • Track feature adoption
  • Debug specific workflow failures

User Segmentation

Segment by user characteristics:
Use cases:
  • Calculate cost per user tier
  • Analyze usage by organization
  • Track power users
  • Measure cohort retention

Business Context

Add business-specific metadata:
Use cases:
  • Calculate ROI by use case
  • Prioritize high-value requests
  • Track campaign effectiveness
  • Ensure SLA compliance

Filtering by Properties

Dashboard Filters

In the Helicone dashboard:
  1. Go to the Requests page
  2. Click Add Filter
  3. Select Custom Property
  4. Choose your property name and value
  5. Click Apply
You can combine multiple property filters to narrow down results.

API Filtering

Critical: When filtering by custom properties via API, you MUST wrap the properties filter inside a request_response_rmt object. Omitting this wrapper returns empty results.
Single property filter:
Multiple property filters:
Combining properties with other filters:

Cost Analysis by Property

Calculate costs segmented by any custom property:

Cost per Feature

Cost per User Tier

Cost per Environment

Updating Properties After Request

You can add or update properties after a request is made:
Use cases:
  • Add properties based on response content
  • Update properties after post-processing
  • Tag requests with business outcome
  • Add quality scores or ratings

Property Naming Conventions

Best Practices

Do:
  • Use PascalCase for property names: UserTier, FeatureName
  • Keep names concise but descriptive
  • Use consistent naming across your app
  • Document your property schema
Don’t:
  • Use spaces or special characters
  • Include PII (personally identifiable information)
  • Use overly generic names like Type or Status
  • Change property names frequently

Example Schema

Document your properties for team consistency:

Performance Considerations

Property Limits

  • No hard limit on number of properties per request
  • Keep property values under 1000 characters
  • Avoid overly complex or deeply nested values

Query Performance

Properties are indexed for fast querying:
  • Filtering by properties is performant
  • Use specific property values over wildcards
  • Combine filters efficiently (AND/OR logic)

Combining with Other Features

Properties + Sessions

Add properties to session requests:
Now you can:
  • Filter sessions by properties
  • Analyze session costs by property
  • Debug sessions matching specific criteria

Properties + Traces

Add properties to custom traces:

Use Case Examples

Multi-tenant SaaS

A/B Testing

Content Moderation

Troubleshooting

Properties Not Appearing

Problem: Properties aren’t showing up in the dashboard. Solutions:
  • Verify header format: Helicone-Property-[Name]
  • Check that property name doesn’t contain spaces
  • Ensure value is a string (not an object or array)
  • Wait a few seconds for data to propagate

Can’t Filter by Property

Problem: Filtering by property returns no results. Solutions:
  • In API, wrap properties in request_response_rmt object
  • Check property name matches exactly (case-sensitive)
  • Verify the property exists on your requests
  • Use equals operator for exact matches

Query Returns Empty Results

Problem: API query returns {"data":[], "error":null}. Solutions:
  • Ensure request_response_rmt wrapper is present
  • Check that property value matches exactly
  • Verify date range includes requests with this property
  • Try querying without property filter first to verify data exists

Requests

View and filter requests by custom properties

Sessions

Combine properties with session tracking

User Metrics

Analyze per-user metrics with Helicone-User-Id

Query API

Query requests by properties programmatically

Questions?

Need help or have questions? We’re here to help: