iOS 4.4.2+Android 4.4.2+React Native 3.4.3+Flutter 3.3.3+Paywall traits are values passed into a paywall upon presentation, allowing your paywall to display or behave differently depending on those values.This must be configured in two places:
Your paywall via the paywall editor
Your app by passing in values to the Helium mobile SDK
By default, user traits will automatically be included as custom paywall traits in all of your paywalls. (Just make sure your SDK version is higher than what’s listed at the top of this page.)To pass in additional paywall traits during paywall presentation, use the customPaywallTraits parameter.
If you want to evaluate the effects of different traits in your paywall, utilize user traits in your SDK integration.Helium does not currently support the use ofcustomPaywallTraits (passed during paywall presentation) as metrics filters.User traits can also be used for targeting.
If the same key is present in both user traits and customPaywallTraits, the paywall will see the value from customPaywallTraits.Metrics still only sees the value from user traits.
We are working on adding default traits you can use without passing in from SDK.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Helium Docs","description":"Documentation for Helium - App Monetization for the AI Era","colors":{"primary":"#3b82f6","light":"#60a5fa","dark":"#2563eb"},"logo":{"light":"https://mintcdn.com/helium/U18KGdYMLV66ysHe/logo/LargeLogo-cropped.svg?fit=max\u0026auto=format\u0026n=U18KGdYMLV66ysHe\u0026q=85\u0026s=28f7b3f657020cdb7d186e538b5f094f","dark":"https://mintcdn.com/helium/U18KGdYMLV66ysHe/logo/LargeLogo-cropped.svg?fit=max\u0026auto=format\u0026n=U18KGdYMLV66ysHe\u0026q=85\u0026s=28f7b3f657020cdb7d186e538b5f094f","href":"https://tryhelium.com"},"favicon":"https://mintcdn.com/helium/U18KGdYMLV66ysHe/favicon.svg?fit=max\u0026auto=format\u0026n=U18KGdYMLV66ysHe\u0026q=85\u0026s=03450fb9a1c51416890faea69e619d90","navbar":{"links":[{"href":"https://docs.tryhelium.com/","label":"Dashboard"}],"primary":{"type":"button","label":"Schedule Demo","href":"https://cal.com/team/helium/20-minute-helium-demo"}},"contextual":{"options":["mcp","cursor","copy","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"helium","hasAudioNarration":false,"actualSubdomain":"helium","customDomains":["docs.tryhelium.com"],"gitSource":{"type":"github","owner":"cloudcaptainai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adec43d53c1438f0e6829b4","collectionId":"96e194d9-374f-4550-a77b-30dcce91212f","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adec43d53c1438f0e6829b4"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adec43d53c1438f0e6829b4","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"GUIDES","count":13},{"language":"default","tag":"SDK QUICKSTARTS","count":4},{"language":"default","tag":"MIGRATIONS","count":3},{"language":"default","tag":"GETTING STARTED","count":2},{"language":"default","tag":"AI TOOLS","count":1},{"language":"default","tag":"AGENT CONTEXT","count":1}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".logo img{height:32px;width:auto}table{table-layout:fixed;width:100%}table th:nth-child(1),table td:nth-child(1){width:20%}table th:nth-child(2),table td:nth-child(2){width:35%}table th:nth-child(3),table td:nth-child(3){width:45%}"}],"page":{"pagePath":"guides/paywall-traits","slug":"/guides/paywall-traits","pageMetadata":{"title":"Paywall Traits","icon":"square-sliders","description":null,"href":"/guides/paywall-traits"},"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`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{Badge,CodeBlock,CodeGroup,Frame,Heading,OptimizedImage,Warning}=_components;if(!Badge)_missingMdxReference(`Badge`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Badge,{color:`blue`,children:`iOS 4.4.2+`}),`\n`,_jsx(Badge,{color:`green`,children:`Android 4.4.2+`}),`\n`,_jsx(Badge,{color:`orange`,children:`React Native 3.4.3+`}),`\n`,_jsx(Badge,{color:`purple`,children:`Flutter 3.3.3+`}),`\n`,_jsx(_components.p,{children:`Paywall traits are values passed into a paywall upon presentation, allowing your paywall to display or behave differently depending on those values.`}),`\n`,_jsx(_components.p,{children:`This must be configured in two places:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Your paywall via the paywall editor`}),`\n`,_jsx(_components.li,{children:`Your app by passing in values to the Helium mobile SDK`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`paywall-editor`,children:`Paywall Editor`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/helium/RB3DV7v6472dGP3j/images/paywall_traits.jpg?fit=max\u0026auto=format\u0026n=RB3DV7v6472dGP3j\u0026q=85\u0026s=66de8518779a10c2d1eb248391567873`,alt:`Paywall Traits`,\"data-og-width\":`2308`,width:`2308`,\"data-og-height\":`1310`,height:`1310`,\"data-path\":`images/paywall_traits.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/helium/RB3DV7v6472dGP3j/images/paywall_traits.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=RB3DV7v6472dGP3j\u0026q=85\u0026s=5977acdeb0a7b0855e64db6b3057105c 280w, https://mintcdn.com/helium/RB3DV7v6472dGP3j/images/paywall_traits.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=RB3DV7v6472dGP3j\u0026q=85\u0026s=0d53faaf5d03763237db6385ec046da7 560w, https://mintcdn.com/helium/RB3DV7v6472dGP3j/images/paywall_traits.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=RB3DV7v6472dGP3j\u0026q=85\u0026s=be2d1a6bb7cae05410885039d79144b0 840w, https://mintcdn.com/helium/RB3DV7v6472dGP3j/images/paywall_traits.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=RB3DV7v6472dGP3j\u0026q=85\u0026s=da9d6ce88ef4a14ff8301c56d2380e35 1100w, https://mintcdn.com/helium/RB3DV7v6472dGP3j/images/paywall_traits.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=RB3DV7v6472dGP3j\u0026q=85\u0026s=4a0afc045015c975fc5526a4609ce909 1650w, https://mintcdn.com/helium/RB3DV7v6472dGP3j/images/paywall_traits.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=RB3DV7v6472dGP3j\u0026q=85\u0026s=a93b31fa4bb01c63ed64c40fb5ec2ce2 2500w`})}),`\n`,_jsxs(_components.p,{children:[`Open the paywall editor from the `,_jsx(_components.a,{href:`https://app.tryhelium.com/paywalls`,children:`Helium dashboard`}),`. Type something like`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`use a paywall trait with key \"name\" to display a customized greeting`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`You MUST provide a `,_jsx(_components.strong,{children:`default value`}),` or behavior for each trait, in case the app does not pass in a value.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`pass-in-from-the-sdk`,children:`Pass in from the SDK`}),`\n`,_jsx(_components.p,{children:`By default, user traits will automatically be included as custom paywall traits in all of your paywalls. (Just make sure your SDK version is higher than what’s listed at the top of this page.)`}),`\n`,_jsxs(_components.p,{children:[`To pass in additional paywall traits during paywall presentation, use the `,_jsx(_components.code,{children:`customPaywallTraits`}),` parameter.`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`iOS`,numberOfLines:`6`,language:`swift`,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:`swift`,children:_jsxs(_components.code,{language:`swift`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Helium.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`shared`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`presentPaywall`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` trigger`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-trigger\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`PaywallPresentationConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` customPaywallTraits`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`HeliumUserTraits`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`([`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` nameValue])`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) { paywallNotShownReason `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Android`,numberOfLines:`10`,language:`kotlin`,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:`kotlin`,children:_jsxs(_components.code,{language:`kotlin`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`import`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:` com.tryhelium.paywall.core.HeliumUserTraits.Companion.create`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Helium.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`presentPaywall`}),_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:` \"your-trigger\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` config `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` PaywallPresentationConfig`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` customPaywallTraits `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` mapOf`}),_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:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` to nameValue,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`create`}),_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`]})})}),_jsx(CodeBlock,{filename:`React Native`,numberOfLines:`4`,language:`tsx`,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:`tsx`,children:_jsxs(_components.code,{language:`tsx`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`presentUpsell`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` triggerName:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"your-trigger\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` customPaywallTraits:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`name:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` nameValue`}),_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(CodeBlock,{filename:`Flutter`,numberOfLines:`5`,language:`dart`,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:`dart`,children:_jsxs(_components.code,{language:`dart`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` HeliumFlutter`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`presentUpsell`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` context`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` context,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` trigger`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"your-trigger\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` customPaywallTraits`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` nameValue },`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`targeting-and-metrics-considerations`,children:`Targeting and Metrics Considerations`}),`\n`,_jsx(_components.p,{children:`If you want to evaluate the effects of different traits in your paywall, utilize user traits in your SDK integration.`}),`\n`,_jsxs(_components.p,{children:[`Helium does not currently support the use of`,_jsx(_components.code,{children:`customPaywallTraits`}),` (passed during paywall presentation) as metrics filters.`]}),`\n`,_jsx(_components.p,{children:`User traits can also be used for targeting.`}),`\n`,_jsx(Heading,{level:`3`,id:`what-if-i-set-both`,children:_jsx(_components.strong,{children:`What if I set both?`})}),`\n`,_jsxs(_components.p,{children:[`If the same key is present in both user traits and `,_jsx(_components.code,{children:`customPaywallTraits`}),`, the paywall will see the value from `,_jsx(_components.code,{children:`customPaywallTraits`}),`.`]}),`\n`,_jsx(_components.p,{children:`Metrics still only sees the value from user traits.`}),`\n`,_jsx(Heading,{level:`2`,id:`coming-soon`,children:`Coming Soon`}),`\n`,_jsx(_components.p,{children:`We are working on adding default traits you can use without passing in from SDK.`})]})}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":"Paywall Traits","icon":"square-sliders","description":null,"href":"/guides/paywall-traits"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Paywall Editor","slug":"paywall-editor","depth":2,"children":[]},{"title":"Pass in from the SDK","slug":"pass-in-from-the-sdk","depth":2,"children":[]},{"title":"Targeting and Metrics Considerations","slug":"targeting-and-metrics-considerations","depth":2,"children":[{"title":"What if I set both?","slug":"what-if-i-set-both","depth":3,"children":[]}]},{"title":"Coming Soon","slug":"coming-soon","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"helium","siteName":"Helium Docs","title":"Paywall Traits - Helium Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T03:08:51.837Z","originalFileLocation":"guides/paywall-traits.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=\"system\"}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=\"application-name\" content=\"Helium Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/helium/SGH3zOmhZUCJi0mO/_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/helium/SGH3zOmhZUCJi0mO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/helium/SGH3zOmhZUCJi0mO/_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/helium/SGH3zOmhZUCJi0mO/_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/helium/SGH3zOmhZUCJi0mO/_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/helium/SGH3zOmhZUCJi0mO/_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/helium/SGH3zOmhZUCJi0mO/_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/helium/SGH3zOmhZUCJi0mO/_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/helium/SGH3zOmhZUCJi0mO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Paywall Traits - Helium Docs\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Helium Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tryhelium.com/guides/paywall-traits\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://helium.mintlify.site/_mintlify/api/og/v2?division=GUIDES\u0026amp;title=Paywall+Traits\u0026amp;theme=52088e5b0ee0413776e3a359\u0026amp;signature=727cdd3eec4a3cf9cdc85baa88dcc59a02f138d3db0a5fe42eadd12be30716c1\">\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=\"Paywall Traits - Helium Docs\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://helium.mintlify.site/_mintlify/api/og/v2?division=GUIDES\u0026amp;title=Paywall+Traits\u0026amp;theme=52088e5b0ee0413776e3a359\u0026amp;signature=727cdd3eec4a3cf9cdc85baa88dcc59a02f138d3db0a5fe42eadd12be30716c1\">\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/helium/SGH3zOmhZUCJi0mO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Helium Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3b82f6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tryhelium.com/guides/paywall-traits\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/paywall-traits.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tryhelium.com/#organization\",\"name\":\"Helium Docs\",\"url\":\"https://docs.tryhelium.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/helium/U18KGdYMLV66ysHe/logo/LargeLogo-cropped.svg?fit=max\u0026auto=format\u0026n=U18KGdYMLV66ysHe\u0026q=85\u0026s=28f7b3f657020cdb7d186e538b5f094f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tryhelium.com#website\",\"name\":\"Helium Docs\",\"url\":\"https://docs.tryhelium.com\",\"publisher\":{\"@id\":\"https://docs.tryhelium.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tryhelium.com/guides/paywall-traits#webpage\",\"url\":\"https://docs.tryhelium.com/guides/paywall-traits\",\"name\":\"Paywall Traits\",\"dateModified\":\"2026-10-26T03:08:51.837Z\",\"isPartOf\":{\"@id\":\"https://docs.tryhelium.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tryhelium.com/guides/paywall-traits#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tryhelium.com/guides/paywall-traits#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"GUIDES\",\"item\":\"https://docs.tryhelium.com/guides/how-does-helium-work\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Paywall Traits\",\"item\":\"https://docs.tryhelium.com/guides/paywall-traits\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.tryhelium.com/guides/paywall-traits#article\",\"headline\":\"Paywall Traits\",\"name\":\"Paywall Traits\",\"url\":\"https://docs.tryhelium.com/guides/paywall-traits\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tryhelium.com/guides/paywall-traits#webpage\"},\"dateModified\":\"2026-10-26T03:08:51.837Z\",\"publisher\":{\"@id\":\"https://docs.tryhelium.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tryhelium.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Helium Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Helium Docs","nav":{"global":null,"groups":[{"group":"GETTING STARTED","icon":"flag","pages":[{"title":"Introduction","icon":"hand-wave","href":"/getting-started/introduction"},{"title":"Quickstart","icon":"rocket","href":"/getting-started/quickstart"}]},{"group":"SDK QUICKSTARTS","icon":"code","pages":[{"title":"SDK Quickstart (iOS)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/helium/images/sdk/logos/apple-173-svgrepo-com.svg","sidebarTitle":"iOS","href":"/sdk/quickstart-ios"},{"title":"SDK Quickstart (Android)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/helium/images/sdk/logos/google-play.png","sidebarTitle":"Android","href":"/sdk/quickstart-android"},{"title":"SDK Quickstart (React Native)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/helium/images/sdk/logos/react-svgrepo-com.svg","sidebarTitle":"React Native","href":"/sdk/quickstart-react-native"},{"title":"SDK Quickstart (Flutter)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/helium/images/sdk/logos/flutter-svgrepo-com.svg","sidebarTitle":"Flutter","href":"/sdk/quickstart-flutter"}]},{"group":"AI TOOLS","icon":"robot","pages":[{"title":"Helium MCP Server","icon":"plug","href":"/ai-tools/mcp"}]},{"group":"GUIDES","icon":"compass","pages":[{"title":"How Helium Works","icon":"circle-question","href":"/guides/how-does-helium-work"},{"title":"Set Up Revenue Tracking","icon":"credit-card","href":"/guides/revenue-reporting"},{"title":"Fallback Paywalls","icon":"helmet-safety","href":"/guides/fallback-bundle"},{"title":"Ways to Show a Paywall","icon":"expand","href":"/guides/ways-to-show-paywall"},{"title":"Connect Analytics and MMPs","href":"/guides/analytics-forwarding"},{"title":"Integrate with Your 3rd Party Analytics System","icon":"chart-mixed","href":"/guides/third-party-analytics"},{"title":"Helium Events","icon":"bolt","href":"/guides/helium-events"},{"title":"Handling Custom Paywall Events","icon":"calendar-clock","href":"/guides/custom-events"},{"title":"StoreKit Testing (iOS)","description":"This guide covers how to set up StoreKit Testing in Xcode to test paywall displays across different regions and configurations.","icon":"microscope","href":"/guides/storekit-testing"},{"title":"Paywall Traits","icon":"square-sliders","href":"/guides/paywall-traits"},{"title":"Paddle Onboarding Guide","icon":"p","description":null,"href":"/guides/paddle-onboarding-guide"},{"title":"App2Web FAQ","href":"/guides/app2web-faq"},{"title":"Google Play Data Safety (Android)","icon":"shield-halved","href":"/guides/google-play-data-safety"}]},{"group":"MIGRATIONS","icon":"arrow-up-right-dots","pages":[{"title":"iOS: Migrating from v3 to v4","icon":"circle-small","href":"/migrations/ios-3-to-4"},{"title":"Android: Migrating from v0 to v4","icon":"circle-small","href":"/migrations/android-0-to-4"},{"title":"Migrating from 2.x to 3.0","icon":"circle-small","href":"/migrations/ios-2-to-3"}]},{"group":"AGENT CONTEXT","hidden":true,"searchable":true,"pages":[{"title":"Dashboard FAQ","icon":"circle-question","href":"/guides/dashboard-faq"}]}]},"basePath":"","title":"Paywall Traits - Helium Docs","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-NdetNziF.js","DynamicMarkdown-CD8713Yy.js","zoom-image-lightbox-DMoL6lHz.js","lightbox-handle-r17bVUz3.js"]}