Derive powerful insights into costs and user behaviors using custom properties in Helicone. Learn to track environments, user types, and more.
Use Custom Properties to segment your data and derive meaningful insights. This feature can help you understand the costs and behavior of different user groups, and gain other insights to help inform strategic decisions and optimizations.Here are some methods that we recommend for data segmentation:
Use Case 1
Tracking Environments
Use Case 2
User Segmentation
Use Case 3
Advanced Segmentation
If you have other use cases, we’d love to know! Send us an
email or schedule a
call with us.
Organizations use Custom Properties to track different environments (i.e. development, staging, and production). To distinguish between these environments, you can create a Helicone-Property-Environment property.
A common method of data segmentation is by user type. For example, you might want to distinguish between paying and free users to understand their behaviors and costs.
You can create highly detailed segment by adding even more custom properties. For example, you may segment users further by plan and Job ID. There are no limits on the number of custom properties you can add.
Segmented data can provide you with invaluable insights. For example, you might discover that your free users are using the spellcheck feature more than your paid users. This could signal an opportunity to market this feature more aggressively within your premium plans.
You can refine your segments further by incorporating other properties. The more detailed your segments, the more accurate insights you can derive. Here are some examples:
Location: Helicone-Property-Location
Device type: Helicone-Property-Device-Type
Use activity level: Helicone-Property-Activity-Level
Remember, the key is to select properties that best align with your objectives and that will yield valuable insights upon analysis.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Helicone OSS LLM Observability","colors":{"primary":"#0CA5E9","light":"#0CA5E9","dark":"#0CA5E9"},"logo":{"light":"https://mintcdn.com/helicone/H0xDJmuTzfSrq5RW/logo/light.png?fit=max\u0026auto=format\u0026n=H0xDJmuTzfSrq5RW\u0026q=85\u0026s=748e5ab8e134752664c5847901a2cb8c","dark":"https://mintcdn.com/helicone/ktsfjvmR-7Ek3jBs/logo/dark.svg?fit=max\u0026auto=format\u0026n=ktsfjvmR-7Ek3jBs\u0026q=85\u0026s=f314847a2d2d458bc4725e80a5ff0c75"},"favicon":"https://mintcdn.com/helicone/uGUq-phGm2BuL59s/favicon.svg?fit=max\u0026auto=format\u0026n=uGUq-phGm2BuL59s\u0026q=85\u0026s=4fbb91a7620064003994e235f99335e1","api":{"openapi":["swagger.json","ai-gateway.openapi.json"]},"appearance":{"default":"light"},"navbar":{"links":[{"href":"https://helicone.ai/models","label":"Models"},{"href":"https://discord.com/invite/zsSTcH2qhG","label":"Discord"},{"href":"https://github.com/Helicone/helicone","label":"Github"}],"primary":{"type":"button","label":"Dashboard","href":"https://us.helicone.ai/#:~:text=Discord-,Sign,-In"}},"footer":{"socials":{"twitter":"https://twitter.com/helicone_ai","linkedin":"https://www.linkedin.com/company/helicone/about","github":"https://github.com/Helicone/helicone","discord":"https://discord.com/invite/zsSTcH2qhG"}},"seo":{"metatags":{"og:site_name":"Helicone OSS LLM Observability","og:image":"/favicon.svg","twitter:site":"@helicone_ai","twitter:image":"/favicon.svg"},"indexing":"navigable"},"integrations":{"koala":{"publicApiKey":"pk_28dd6b0bb95629a42e92bd526a1234a9fc79"},"posthog":{"apiKey":"phc_jeluwNoJNpc7zEzkQrPbjyMOqdnJQjFAVr849LaEaPG"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"helicone","hasAudioNarration":false,"actualSubdomain":"helicone","customDomains":["docs.helicone.ai"],"gitSource":{"type":"github","owner":"helicone","repo":"helicone","deployBranch":"main","contentDirectory":"docs","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad5b370fe9852ea8b3646dd","collectionId":"3ffcd60f-b488-48d5-a3bd-29b273ceb35b","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad5b370fe9852ea8b3646dd"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad65e5e472882c577f682ba","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Documentation","count":131},{"language":"default","tag":"Legacy Integrations","count":65},{"language":"default","tag":"Guides","count":62},{"language":"default","tag":"Provider-Specific","count":50},{"language":"default","tag":"API Reference","count":49},{"language":"default","tag":"AI Gateway","count":30},{"language":"default","tag":"Prompts","count":19},{"language":"default","tag":"Observability \u0026 Analytics","count":18},{"language":"default","tag":"References","count":15},{"language":"default","tag":"How-to Guides","count":15}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@helicone.ai","showHelpButton":true}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"guides/cookbooks/segmentation","slug":"/guides/cookbooks/segmentation","pageMetadata":{"title":"Using Custom Properties to Segment Data","sidebarTitle":"Segmenting Data","description":"Derive powerful insights into costs and user behaviors using custom properties in Helicone. Learn to track environments, user types, and more.","twitter:title":"Using Custom Properties to Segment Data - Helicone OSS LLM Observability","href":"/guides/cookbooks/segmentation"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Derive powerful insights into costs and user behaviors using custom properties in Helicone. Learn to track environments, user types, and more.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,Card,CardGroup,CodeBlock,Frame,Heading,Note,OptimizedImage,Step,Steps,Tip}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Use `,_jsx(_components.a,{href:`features/advanced-usage/custom-properties`,children:`Custom Properties`}),` to segment your data and derive meaningful insights. This feature can help you understand the costs and behavior of different user groups, and gain other insights to help inform strategic decisions and optimizations.`]}),`\n`,_jsx(_components.p,{children:`Here are some methods that we recommend for data segmentation:`}),`\n`,_jsxs(CardGroup,{cols:3,children:[_jsx(Card,{title:`Use Case 1`,href:`/use-cases/segmentation#use-case-1-tracking-environments`,children:_jsx(_components.p,{children:`Tracking Environments`})}),_jsx(Card,{title:`Use Case 2`,href:`/use-cases/segmentation#use-case-2-user-segmentation`,children:_jsx(_components.p,{children:`User Segmentation`})}),_jsx(Card,{title:`Use Case 3`,href:`/use-cases/segmentation#use-case-3-advanced-segmentation`,children:_jsx(_components.p,{children:`Advanced Segmentation`})})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`If you have other use cases, we’d love to know! Send us an\n`,_jsx(_components.a,{href:`mailto:help@helicone.ai`,children:`email`}),` or `,_jsx(_components.a,{href:`https://cal.com/team/helicone/helicone-discovery`,children:`schedule a\ncall`}),` with us.`,` `]})}),`\n`,_jsx(Heading,{level:`2`,id:`use-case-1-tracking-environments`,children:`Use Case 1: Tracking Environments`}),`\n`,_jsxs(_components.p,{children:[`Organizations use `,_jsx(_components.strong,{children:`Custom Properties`}),` to track different environments (i.e. development, staging, and production). To distinguish between these environments, you can create a `,_jsx(_components.code,{children:`Helicone-Property-Environment`}),` property.`]}),`\n`,_jsx(Heading,{level:`3`,id:`quick-start`,children:`Quick Start`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Add the 'Environment' property and assign a value.`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client.chat.completions.create(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # ...`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` extra_headers`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Helicone-Property-Environment\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"development\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})})}),_jsxs(Step,{title:`Send a request.`,children:[_jsxs(_components.p,{children:[`You will then see the `,_jsx(_components.code,{children:`Environment`}),` property appear in the Requests page.`]}),_jsx(Frame,{caption:`In this example, we now have a property called 'environment'.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/2.png?fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=1d3159bb47d3190be39702b8384f8706`,alt:`Example of the Helicone Requests page showing a custom property named 'environment'.`,\"data-og-width\":`2598`,width:`2598`,\"data-og-height\":`862`,height:`862`,\"data-path\":`images/environment-cp/2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/2.png?w=280\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=32873b9c1197d1eab91dacfe2d6cdd89 280w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/2.png?w=560\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=e1c21c3eadfe7c38a73ad4e89be335fb 560w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/2.png?w=840\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=cf955b555a465829c415b78109950b5e 840w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=7f51c7786d7bd277e8dfef053a26cc4b 1100w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=403d5e873b2b9de9167a73faabe5cc9e 1650w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=5708fc8bac76b8b22e5f8f48c6fb17ea 2500w`})}),_jsxs(_components.p,{children:[`You can choose to hide the custom property by deselecting it under `,_jsx(_components.code,{children:`Columns`}),`.`]}),_jsx(Frame,{caption:`You can modify other properties in a similar manner.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/cp-1.png?fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=6ffd661c71f017b4def4ea912877564b`,alt:`Example of modifying Helicone's interface to show or hide a custom property.`,\"data-og-width\":`940`,width:`940`,\"data-og-height\":`602`,height:`602`,\"data-path\":`images/environment-cp/cp-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/cp-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=674a9273dd2865feeebdac4d25448167 280w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/cp-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=4e33b178f4b5257b9528fa24383ca46f 560w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/cp-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=952e60ba0931e68be9deb3062c938a84 840w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/cp-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=da516c04fd0d2aa0eb95770d7631e71c 1100w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/cp-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=70f5e6918a91b01a546d493303ddde3f 1650w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/cp-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=e996c395351d4936ed1c1b3ceb25cfa3 2500w`})})]}),_jsx(Step,{title:`Filter by custom properties`,children:_jsx(Frame,{caption:`Filter all requests labelled as 'development'.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/3.png?fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=9143d8168897517e7d2e63893784ea75`,alt:`Example of filtering requests labeled 'development' in Helicone.`,\"data-og-width\":`1546`,width:`1546`,\"data-og-height\":`474`,height:`474`,\"data-path\":`images/environment-cp/3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/3.png?w=280\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=e4464aa886696af4322bb8fbd828610f 280w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/3.png?w=560\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=a895f5ce35f3cbeace212ee2c8ed444f 560w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/3.png?w=840\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=11cb5ca350d70799a0b13f043b89c90d 840w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=256747e9beb9b01b2fd57cb79ec743af 1100w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=75e2da200bf7e3e9e051272b723050c0 1650w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=b170d2be548455d5f641bd9831421534 2500w`})})}),_jsxs(Step,{title:_jsx(_Fragment,{children:`View metrics associated with a custom property.`}),children:[_jsxs(_components.p,{children:[`Go to the `,_jsx(_components.code,{children:`Properties`}),` page, and select `,_jsx(_components.code,{children:`Environment`}),`. You will see metrics associated with this custom property.`]}),_jsx(Frame,{caption:\"View total costs, requests and average latency for `Environment'.\",children:_jsx(OptimizedImage,{src:`https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/4.png?fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=bf69f742bec0aafed4a2cb3d72b7cdec`,alt:`Viewing metrics associated with the 'Environment' custom property on Helicone's Properties page.`,\"data-og-width\":`3376`,width:`3376`,\"data-og-height\":`1892`,height:`1892`,\"data-path\":`images/environment-cp/4.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/4.png?w=280\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=194a55a0314a6f656f0f8817a6f3c55a 280w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/4.png?w=560\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=12c9737b7fe91e44f4a741e8f2000d2a 560w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/4.png?w=840\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=35d176f7ebad5260f606504954b283ae 840w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/4.png?w=1100\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=ee3b86d49fb31c3f6b8632cde8990c48 1100w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/4.png?w=1650\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=d3d535cdad7b23e649c3ec9a08d95141 1650w, https://mintcdn.com/helicone/tEQUFyBH7IjDxuEd/images/environment-cp/4.png?w=2500\u0026fit=max\u0026auto=format\u0026n=tEQUFyBH7IjDxuEd\u0026q=85\u0026s=7310f903225fa6b6518ff05f2825affc 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`use-case-2-user-segmentation`,children:`Use Case 2: User Segmentation`}),`\n`,_jsxs(_components.p,{children:[`A common method of data segmentation is by `,_jsx(_components.code,{children:`user type`}),`. For example, you might want to distinguish between `,_jsx(_components.strong,{children:`paying`}),` and `,_jsx(_components.strong,{children:`free`}),` users to understand their behaviors and costs.`]}),`\n`,_jsx(Heading,{level:`3`,id:`quick-start-2`,children:`Quick Start`}),`\n`,_jsxs(_components.p,{children:[`To do this, create a `,_jsx(_components.code,{children:`user_type`}),` custom property and assign either `,_jsx(_components.strong,{children:`“paid”`}),` or `,_jsx(_components.strong,{children:`“free”`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client.chat.completions.create(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # ...`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` extra_headers`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Helicone-Property-User-Type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"free\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Then, you can filter by paid/free users, or view associated metrics in the same way.`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Data segmentation can become powerful when you combine it with other\nproperties.`,` `]})}),`\n`,_jsx(Heading,{level:`3`,id:`further-segmentation`,children:`Further Segmentation`}),`\n`,_jsxs(_components.p,{children:[`Suppose you want to understand the behavior of paying users when they use a specific feature (i.e. spellcheck). You can add a `,_jsx(_components.code,{children:`Feature`}),` custom property.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client.chat.completions.create(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # ...`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` extra_headers`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Helicone-Property-User-Type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"paid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Helicone-Property-Feature\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"spellcheck\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`You can create highly detailed segment by adding even more custom properties. For example, you may segment users further by `,_jsx(_components.code,{children:`plan`}),` and `,_jsx(_components.code,{children:`Job ID`}),`. There are no limits on the number of custom properties you can add.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client.chat.completions.create(`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # ...`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` extra_headers`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Helicone-Property-User-Type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"paid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Helicone-Property-Feature\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"spellcheck\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Helicone-Property-Plan\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"enterprise\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Helicone-Property-Job-UUID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1234-5678-9012-3456\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`analyzing-segmented-data`,children:`Analyzing Segmented Data`}),`\n`,_jsx(_components.p,{children:`Segmented data can provide you with invaluable insights. For example, you might discover that your free users are using the spellcheck feature more than your paid users. This could signal an opportunity to market this feature more aggressively within your premium plans.`}),`\n`,_jsx(Heading,{level:`2`,id:`use-case-3-advanced-segmentation`,children:`Use Case 3: Advanced Segmentation`}),`\n`,_jsx(_components.p,{children:`You can refine your segments further by incorporating other properties. The more detailed your segments, the more accurate insights you can derive. Here are some examples:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Location: `,_jsx(_components.code,{children:`Helicone-Property-Location`})]}),`\n`,_jsxs(_components.li,{children:[`Device type: `,_jsx(_components.code,{children:`Helicone-Property-Device-Type`})]}),`\n`,_jsxs(_components.li,{children:[`Use activity level: `,_jsx(_components.code,{children:`Helicone-Property-Activity-Level`})]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Remember, the key is to select properties that best align with your objectives and that will yield valuable insights upon analysis.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Accordion,{title:`Need more help?`,id:`need-more-help`,children:_jsxs(_components.p,{children:[`Additional questions or feedback? Reach out to\n`,_jsx(_components.a,{href:`mailto:help@helicone.ai`,children:`help@helicone.ai`}),` or `,_jsx(_components.a,{href:`https://cal.com/team/helicone/helicone-discovery`,children:`schedule a\ncall`}),` with us.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Using Custom Properties to Segment Data","sidebarTitle":"Segmenting Data","description":"Derive powerful insights into costs and user behaviors using custom properties in Helicone. Learn to track environments, user types, and more.","twitter:title":"Using Custom Properties to Segment Data - Helicone OSS LLM Observability","href":"/guides/cookbooks/segmentation"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Use Case 1: Tracking Environments","slug":"use-case-1-tracking-environments","depth":2,"children":[{"title":"Quick Start","slug":"quick-start","depth":3,"children":[]}]},{"title":"Use Case 2: User Segmentation","slug":"use-case-2-user-segmentation","depth":2,"children":[{"title":"Quick Start","slug":"quick-start-2","depth":3,"children":[]},{"title":"Further Segmentation","slug":"further-segmentation","depth":3,"children":[]},{"title":"Analyzing Segmented Data","slug":"analyzing-segmented-data","depth":3,"children":[]}]},{"title":"Use Case 3: Advanced Segmentation","slug":"use-case-3-advanced-segmentation","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"helicone","siteName":"Helicone OSS LLM Observability","title":"Using Custom Properties to Segment Data - Helicone OSS LLM Observability","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-06T00:00:56.490Z","originalFileLocation":"guides/cookbooks/segmentation.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Derive powerful insights into costs and user behaviors using custom properties in Helicone. Learn to track environments, user types, and more.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Helicone OSS LLM Observability\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Using Custom Properties to Segment Data - Helicone OSS LLM Observability\">\u003cmeta data-mint-head property=\"og:description\" content=\"Derive powerful insights into costs and user behaviors using custom properties in Helicone. Learn to track environments, user types, and more.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Helicone OSS LLM Observability\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.helicone.ai/guides/cookbooks/segmentation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://helicone.mintlify.app/favicon.svg\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Using Custom Properties to Segment Data - Helicone OSS LLM Observability\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Derive powerful insights into costs and user behaviors using custom properties in Helicone. Learn to track environments, user types, and more.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://helicone.mintlify.app/favicon.svg\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Helicone OSS LLM Observability\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0CA5E9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.helicone.ai/guides/cookbooks/segmentation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/cookbooks/segmentation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.helicone.ai/#organization\",\"name\":\"Helicone OSS LLM Observability\",\"url\":\"https://docs.helicone.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/helicone/H0xDJmuTzfSrq5RW/logo/light.png?fit=max\u0026auto=format\u0026n=H0xDJmuTzfSrq5RW\u0026q=85\u0026s=748e5ab8e134752664c5847901a2cb8c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.helicone.ai#website\",\"name\":\"Helicone OSS LLM Observability\",\"url\":\"https://docs.helicone.ai\",\"publisher\":{\"@id\":\"https://docs.helicone.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.helicone.ai/guides/cookbooks/segmentation#webpage\",\"url\":\"https://docs.helicone.ai/guides/cookbooks/segmentation\",\"name\":\"Using Custom Properties to Segment Data\",\"description\":\"Derive powerful insights into costs and user behaviors using custom properties in Helicone. Learn to track environments, user types, and more.\",\"dateModified\":\"2026-03-06T00:00:56.490Z\",\"isPartOf\":{\"@id\":\"https://docs.helicone.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.helicone.ai/guides/cookbooks/segmentation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.helicone.ai/guides/cookbooks/segmentation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Guides\",\"item\":\"https://docs.helicone.ai/guides/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How-to Guides\",\"item\":\"https://docs.helicone.ai/guides/cookbooks/debugging\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Using Custom Properties to Segment Data\",\"item\":\"https://docs.helicone.ai/guides/cookbooks/segmentation\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.helicone.ai/guides/cookbooks/segmentation#article\",\"headline\":\"Using Custom Properties to Segment Data\",\"name\":\"Using Custom Properties to Segment Data\",\"description\":\"Derive powerful insights into costs and user behaviors using custom properties in Helicone. Learn to track environments, user types, and more.\",\"url\":\"https://docs.helicone.ai/guides/cookbooks/segmentation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.helicone.ai/guides/cookbooks/segmentation#webpage\"},\"image\":\"https://docs.helicone.ai/favicon.svg\",\"dateModified\":\"2026-03-06T00:00:56.490Z\",\"publisher\":{\"@id\":\"https://docs.helicone.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.helicone.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Helicone OSS LLM Observability\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Helicone OSS LLM Observability","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/getting-started/quick-start"}]},{"anchor":"API Reference","icon":"code","pages":[{"title":"API Reference","href":"/rest/ai-gateway/post-v1-chat-completions"}]},{"anchor":"Guides","icon":"file-lines","groups":[{"group":"Guides","pages":[{"title":"Helicone Guides","sidebarTitle":"Overview","href":"/guides/overview"},{"group":"Tutorials","pages":[{"title":"Building and Monitoring AI Agents with Helicone","sidebarTitle":"AI Agent Monitoring","href":"/guides/cookbooks/ai-agents"},{"title":"How to Build a Multi-Model AI Assistant with Vercel AI Gateway and Helicone","sidebarTitle":"Customer Support Assistant","href":"/guides/cookbooks/vercel-ai-gateway"},{"title":"Build an AI Debate Simulator with Vercel AI Gateway","sidebarTitle":"AI Debate Simulator","href":"/guides/cookbooks/vercel-ai-gateway-demo"},{"title":"Helicone Evals with Ragas","sidebarTitle":"Helicone Evals with Ragas","href":"/guides/cookbooks/helicone-evals-with-ragas"},{"title":"How to build a chatbot with OpenAI structured outputs","sidebarTitle":"OpenAI Structured Outputs","href":"/guides/cookbooks/openai-structured-outputs"},{"title":"How to Prompt Thinking Models","sidebarTitle":"Prompt Thinking Models","href":"/guides/cookbooks/prompt-thinking-models"}]},{"group":"How-to Guides","pages":[{"title":"Debugging LLM Applications","sidebarTitle":"Debugging","href":"/guides/cookbooks/debugging"},{"title":"Environment Tracking","sidebarTitle":"Environment Tracking","href":"/guides/cookbooks/environment-tracking"},{"title":"ETL / Data Extraction","sidebarTitle":"ETL / Data Extraction","href":"/guides/cookbooks/etl"},{"title":"How to Run LLM Prompt Experiments","sidebarTitle":"Prompt Experiments","href":"/guides/cookbooks/experiments"},{"title":"How to fine-tune LLMs with Helicone and OpenPipe","sidebarTitle":"Fine-tuning LLMs with Helicone and OpenPipe","href":"/guides/cookbooks/fine-tune"},{"title":"Retrieving Sessions","sidebarTitle":"Retrieve Sessions","href":"/guides/cookbooks/getting-sessions"},{"title":"Getting User Requests","sidebarTitle":"User Requests","href":"/guides/cookbooks/getting-user-requests"},{"title":"Integrating Helicone with GitHub Actions","sidebarTitle":"GitHub Actions Integration","href":"/guides/cookbooks/github-actions"},{"title":"How to Label Your Request Data","sidebarTitle":"Labeling Requests","href":"/guides/cookbooks/labeling-request-data"},{"title":"Manual Logger with Streaming","href":"/guides/cookbooks/manual-logger-streaming"},{"title":"Logging OpenAI Batch API Requests with Helicone","sidebarTitle":"OpenAI Batch API","href":"/guides/cookbooks/openai-batch-api"},{"title":"How to build a chatbot with OpenAI structured outputs","sidebarTitle":"OpenAI Structured Outputs","href":"/guides/cookbooks/openai-structured-outputs"},{"title":"Predefined Request IDs","sidebarTitle":"Request ID Predefinition","href":"/guides/cookbooks/predefining-request-id"},{"title":"Replaying LLM Sessions","sidebarTitle":"Replay Sessions","description":"Learn how to replay and modify LLM sessions using Helicone to optimize your AI agents and improve their performance.","href":"/guides/cookbooks/replay-session"},{"title":"Using Custom Properties to Segment Data","sidebarTitle":"Segmenting Data","href":"/guides/cookbooks/segmentation"}]},{"group":"Knowledge Base","pages":[{"group":"Prompt Engineering","pages":[{"title":"Overview","sidebarTitle":"Overview","description":"Prompt engineering is the strategic crafting of prompts to guide Large Language Models to produce accurate and desired outputs.","href":"/guides/prompt-engineering/overview"},{"title":"Be specific and clear","sidebarTitle":"Be specific and clear","href":"/guides/prompt-engineering/be-specific-and-clear"},{"title":"Implement few-shot learning","sidebarTitle":"Implement few-shot learning","href":"/guides/prompt-engineering/implement-few-shot-learning"},{"title":"Leverage role-playing","sidebarTitle":"Leverage role-playing","href":"/guides/prompt-engineering/leverage-role-playing"},{"title":"Use Chain-of-Thought prompting","sidebarTitle":"Use chain-of-thought prompting","href":"/guides/prompt-engineering/use-chain-of-thought-prompting"},{"title":"Use constrained outputs","sidebarTitle":"Use constrained outputs","href":"/guides/prompt-engineering/use-constrained-outputs"},{"title":"Use Least-to-Most prompting","sidebarTitle":"Use least-to-most prompting","href":"/guides/prompt-engineering/use-least-to-most-prompting"},{"title":"Use Meta-Prompting","sidebarTitle":"Use meta-prompting","href":"/guides/prompt-engineering/use-meta-prompting"},{"title":"Use structured formats","sidebarTitle":"Use structured formats","href":"/guides/prompt-engineering/use-structured-formats"},{"title":"Use Thread-of-Thought prompting","sidebarTitle":"Use thread-of-thought prompting","href":"/guides/prompt-engineering/use-thread-of-thought-prompting"}]}]}]}]},{"anchor":"FAQ","icon":"lightbulb"}]},"title":"Using Custom Properties to Segment Data - Helicone OSS LLM Observability","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["07c022d89b","a74be98ba7","a9bb46feb3"],"chunks":["Frame-DYplxqhs.js","DynamicMarkdown-Cc6AuSHS.js","zoom-image-lightbox-BNnMwe0F.js","lightbox-handle-r17bVUz3.js","Markdown-Cc16CX65.js","clsx-Cs6nMGht.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-zbf22OZA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-C_fs-y5n.js"]}