Skip to main content

Overview

Advanced targeting attributes let you target participants on a broader set of profile characteristics — languages spoken, employment, technology and devices, products and services used, and more — beyond the core audience fields in Targeting audiences effectively. These attributes are additive. Every existing targeting field (targetCountries, targetGenders, targetHouseholdIncome, the B2B firmographic fields, and so on) is unchanged and continues to work exactly as before. Advanced attributes are set through a single new object, advancedTargeting, when you create or update a project, and are available identically to B2C and B2B projects.
Advanced targeting is rolling out gradually and is enabled per organization. Contact your Respondent account manager to enable advanced targeting for your account. Until it’s enabled, advancedTargeting is not part of your available targeting surface.

How it works

advancedTargeting is a flat object whose keys are the attributes you want to target and whose values are the criteria a participant should meet:
{
  "advancedTargeting": {
    "languages": ["en", "es"],
    "streamingServices": ["netflix", "disneyplus"],
    "homeOwner": true
  }
}

Filters vs. signals

Advanced attributes use the same filter vs. signal model as the rest of targeting. For a refresher, see Targeting audiences effectively and participant qualification and filters.
We strongly recommend making an attribute a hard filter whenever it genuinely needs to be met — add its key to keyQualifiers. Keep it a signal only when you want a soft preference and broader reach.

Participants who haven’t set an attribute yet

Targeting an advanced attribute does not shrink your reachable audience to only participants who have already answered it. Participants who haven’t yet set that attribute can still match on your other criteria and be contacted; when they apply, they’re asked to complete the missing attribute and only continue if they qualify.

Available attributes

All attributes below are available on both B2C and B2B projects. Behavior shows whether an attribute is a soft signal by default (promotable to a hard filter via keyQualifiers) or always a hard filter. For each attribute’s allowed values, see the advancedTargeting schema in the Create a project reference — it’s generated from the API, so it’s always current.

Personal

AttributeTypeBehavior
relationshipStatusstringSignal · promotable
languagesstring[]Signal · promotable
nationalitystring[]Signal · promotable
numberOfChildrennumberSignal · promotable
numberOfChildrenLiveAtHomenumberSignal · promotable
childrenBirthYearsstring[]Signal · promotable
livingSituationstringSignal · promotable
homeOwnerbooleanSignal · promotable
petsstring[]Signal · promotable
areaTypestringAlways hard filter

Professional

AttributeTypeBehavior
militaryServiceStatusstringSignal · promotable
workSettingstringAlways hard filter
employmentStatusesstring[]Signal · promotable
cloudPlatformsstring[]Signal · promotable
codingAIToolsstring[]Signal · promotable
designPrototypingToolsstring[]Signal · promotable
productivitySoftwarestring[]Signal · promotable

Technology & devices

AttributeTypeBehavior
browsersstring[]Always hard filter
computerOSstring[]Always hard filter
programmingLanguagesstring[]Always hard filter
tabletOSstring[]Always hard filter
smartphoneOSstring[]Always hard filter
webcambooleanAlways hard filter
mobilePhoneWithInternetbooleanAlways hard filter
headsetWithMicrophonebooleanAlways hard filter

Products & services

AttributeTypeBehavior
streamingServicesstring[]Signal · promotable
foodDeliveryServicesstring[]Signal · promotable
onlineBankingToolsstring[]Signal · promotable
onlineLearningPlatformsstring[]Signal · promotable
onlineMarketplacePlatformsstring[]Signal · promotable
onlineTravelBookingstring[]Signal · promotable
smartHomeDevicesstring[]Signal · promotable
socialNetworkPlatformsstring[]Signal · promotable
vehicleBrandsstring[]Signal · promotable

Health

AttributeTypeBehavior
healthWellnessAppsstring[]Signal · promotable

Shopping

AttributeTypeBehavior
onlineShoppingFrequencystringSignal · promotable

Setting advanced attributes

Set advancedTargeting when you create a project (POST /v1/projects) or update a draft (PATCH /v1/projects/{projectId}). Add any attribute keys you want promoted to hard filters to keyQualifiers. In the create examples below, languages (B2C) / cloudPlatforms (B2B) are promoted to hard filters via keyQualifiers; the other set attributes act as soft signals; and the always-hard attributes (webcam, workSetting) filter automatically without appearing in keyQualifiers.
// POST /v1/projects
{
  // … required project fields — see "Create a project" in the API reference
  "publicTitle": "Streaming habits study",
  "targetMarketType": "b2c",
  "advancedTargeting": {
    "languages": ["en", "es"],
    "streamingServices": ["netflix", "disneyplus"],
    "homeOwner": true,
    "webcam": true
  },
  "keyQualifiers": ["languages"]
}

Updating and clearing attributes

On PATCH /v1/projects/{projectId}, advancedTargeting is merged per attribute — send only the attributes you want to change:
GoalWhat to send
Set / change an attributeInclude the key with its new value
Clear an attributeSend the key with the value null
Clear an array attributeSend [] — it’s stored as an empty list and treated as no target (no filter, no signal)
Leave an attribute unchangedOmit the key
keyQualifiers is not merged — it’s replaced as a whole, so always send the complete set of hard filters you want in effect (send [] to remove all of them).
Clearing examples
// PATCH /v1/projects/{projectId}
{
  "advancedTargeting": {
    "languages": ["en"],          // set / change
    "relationshipStatus": null,   // clear (remove the target)
    "streamingServices": []       // clear an array attribute (no target)
    // workSetting omitted        // left unchanged
  },
  "keyQualifiers": ["languages"]  // replaces the whole hard-filter set
}

See also