
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
- ✅ 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 formatHelicone-Property-[Name]:
Common Property Patterns
Environment & Deployment
Track which environment requests come from:- 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:- Calculate cost per feature
- Optimize expensive workflows
- Track feature adoption
- Debug specific workflow failures
User Segmentation
Segment by user characteristics:- Calculate cost per user tier
- Analyze usage by organization
- Track power users
- Measure cohort retention
Business Context
Add business-specific metadata:- Calculate ROI by use case
- Prioritize high-value requests
- Track campaign effectiveness
- Ensure SLA compliance
Filtering by Properties
Dashboard Filters
In the Helicone dashboard:- Go to the Requests page
- Click Add Filter
- Select Custom Property
- Choose your property name and value
- Click Apply
API Filtering
Single property filter: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:- 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
- Use spaces or special characters
- Include PII (personally identifiable information)
- Use overly generic names like
TypeorStatus - 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:- 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_rmtobject - Check property name matches exactly (case-sensitive)
- Verify the property exists on your requests
- Use
equalsoperator for exact matches
Query Returns Empty Results
Problem: API query returns{"data":[], "error":null}.
Solutions:
- Ensure
request_response_rmtwrapper 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
Related Features
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:- Discord Community: Join our Discord server for quick help
- GitHub Issues: Report bugs or request features on GitHub
- Documentation: Check our full documentation for more guides
