Visitor Attributes
Share anonymous visitor signals so Koah can serve more relevant ads.
Visitor attributes are anonymous, on-device signals the SDK attaches to ad requests to improve matching. No personally identifiable information is involved — values are stored locally on the device and sent to Koah AI to improve ad matching.
SDK support
| Attribute | JavaScript | iOS | Android | React Native | Flutter |
|---|---|---|---|---|---|
| Age range | Supported | Supported | Supported | Supported | Supported |
| Gender | Supported | Supported | Supported | Supported | Supported |
| Income bracket | Supported | Supported | Supported | Supported | Supported |
Age range
User's age range is a common signal used to improve ad matching. You can provide it three ways:
- Predefined bucket — pick the closest bucket.
- Custom span — pass a range (e.g.
25–34); must start at 0 or higher. - Exact age — pass a single integer; the SDK stores it internally as
age…ageso the wire format stays consistent.
Sixteen buckets are available, from under 13 to 75 and over:
Under 13 is a no-op from 1.0 on. Mobile SDK versions 1.0 and later
ignore any age or range that starts under 13 — including the <13 bucket —
and discard an under-13 value persisted by an earlier version. The bucket
remains in the API for compatibility only. See Children's
privacy.
Gender
Self-reported gender. Pass one of the two values below; use unknown to clear a previously set value.
Income bracket
Self-reported annual household income, in thousands of USD. Pick the closest bracket:
Persistence and clearing
- Persistence. Attributes persist locally across app launches and page loads. You only need to set them when the value first becomes known or changes.
- Clearing. Set the value to
unknownto clear it. Clear when a user signs out, switches accounts, or revokes consent. Clearing one attribute leaves the others untouched.
Visitor attributes are anonymous and never tied to an identity. See Privacy & brand safety for how Koah handles data.