Skip to main content
Version: 2025-12-18

How to implement a control blended profile in a launched target group

This guide explains how to add a control blended profile to an already launched target group. This is a common use case for the control type, allowing you to cap specific demographic groups mid-fieldwork that are filling too quickly.


Steps to implement blended profiles with control blended type in a live target group

Unlike interlock profiles, which can be generated automatically, you must always construct a control blended profile manually.


Step 1: Retrieve existing profiles and target IDs

Before creating a blended profile with control blended type, retrieve your existing profiling structure.

Action: Call the get profiles endpoint for your live target group.

GET /v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/profiles

This response includes:

  • Existing profile IDs
  • Their targets
  • Target IDs and quota objects
  • Question IDs already in use

Purpose: Identify which regular profile conditions you want to blend together.

For example, you may want to blend:

  • Age (question_id 42, conditions 20 to 29 and 30 to 39)
  • Gender (question_id 43, condition Male)
  • State (question_id 96, condition Alabama)

Make sure the discriminator or object type is object: "blended" and the blended type is blended_type: "control".


Step 2: Create a blended profile with control blended type payload

To add a blended profile with control blended type to a live project, you must use the manage-profiles endpoint. You must include the new blended object alongside all existing profiles you wish to keep.

Request example:

{
"completes_goal": 1000,
"profiling": {
"profile_adjustment_type": "percentage",
"profiles": [
{
"object": "regular",
"quotas_enabled": true,
"targets": [
{
"conditions": [
{
"object": "selection",
"question_id": 43,
"option": "1"
}
],
"quota": {
"completes_goal_percentage": 45,
"completes_goal": 0
}
},
{
"conditions": [
{
"object": "selection",
"question_id": 43,
"option": "2"
}
],
"quota": {
"completes_goal_percentage": 55,
"completes_goal": 0
}
}
]
},
{
"object": "regular",
"quotas_enabled": false,
"targets": [
{
"conditions": [
{
"object": "range",
"question_id": 42,
"min": 20,
"max": 29
}
]
},
{
"conditions": [
{
"object": "range",
"question_id": 42,
"min": 30,
"max": 39
}
]
}
]
},
{
"object": "regular",
"quotas_enabled": true,
"targets": [
{
"conditions": [
{
"object": "selection",
"question_id": 96,
"option": "1"
}
],
"quota": {
"completes_goal_percentage": 13.3,
"completes_goal": 0
}
}
]
},
{
"object": "blended",
"name": "Control quota",
"quotas_enabled": true,
"blended_type": "control",
"targets": [
{
"name": "Control quota 1",
"conditions": [
{
"object": "selection",
"question_id": 43,
"option": "1"
},
{
"object": "range",
"question_id": 42,
"min": 20,
"max": 29
},
{
"object": "selection",
"question_id": 96,
"option": "1"
}
],
"quota": {
"completes_goal_percentage": 0.0,
"completes_goal": 0
}
},
{
"name": "Control quota 2",
"conditions": [
{
"object": "selection",
"question_id": 43,
"option": "2"
},
{
"object": "range",
"question_id": 42,
"min": 30,
"max": 39
},
{
"object": "selection",
"question_id": 96,
"option": "1"
}
],
"quota": {
"completes_goal_percentage": 10.0,
"completes_goal": 0
}
},
{
"name": "Control quota 3",
"conditions": [
{
"object": "selection",
"question_id": 43,
"option": "1"
},
{
"object": "range",
"question_id": 42,
"min": 30,
"max": 39
},
{
"object": "selection",
"question_id": 96,
"option": "1"
}
],
"quota": {
"completes_goal_percentage": 0.0,
"completes_goal": 0
}
}
]
}
]
}
}
note

A completes_goal_percentage of 0.0 means the segment is paused — no completes will be collected for that target. This is useful for blocking specific demographic combinations from entering the survey.

Key behaviors

  • You can blend only profiles that are available in the target group already.
  • A control blended profile cannot use questions that are already part of an interlock blended profile in the same target group.
  • Open-ended questions cannot be blended.
  • control blended targets completes_goal are not recalculated when the target group's total completes_goal is changed. User-entered values are not overwritten by system-generated values and must be updated manually.

Step 3: Update the launched target group to use the blended profile with control blended type

To apply the blended profile to a live target group, call:

POST
https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/profiles/manage-profiles

You must include:

  • The full profiling structure
  • Your new blended profile
  • Any remaining unmodified profiles

Use the request payload from Step 2.

Example response from manage profiles

{
"completes_goal": 1000,
"profiling": {
"template_id": "e198c976-ce22-436d-acc1-95aa318cc54d",
"profile_adjustment_type": "percentage",
"profiles": [
{
"description": "What is your gender?",
"description_translated": "What is your gender?",
"id": "01KS0CT2B46RSYQG1VTWZR1YWD",
"name": "GENDER",
"object": "regular",
"quotas_enabled": true,
"targets": [
{
"id": "01KS0CT2B46RSYQG1VTWZR1YWE",
"text": "Male",
"text_translated": "Male",
"conditions": [
{
"object": "selection",
"option": "1",
"question_id": 43
}
],
"quota": {
"completes_goal": 45,
"completes_goal_percentage": 45.0,
"quota_nominal": 45
}
},
{
"id": "01KS0CT2B46RSYQG1VTWZR1YWF",
"text": "Female",
"text_translated": "Female",
"conditions": [
{
"object": "selection",
"option": "2",
"question_id": 43
}
],
"quota": {
"completes_goal": 55,
"completes_goal_percentage": 55.0,
"quota_nominal": 55
}
}
]
},
{
"description": "What is your age?",
"description_translated": "What is your age?",
"id": "01KS0CT2B46RSYQG1VTWZR1YW7",
"object": "regular",
"quotas_enabled": false,
"targets": [
{
"id": "01KS0CT2B46RSYQG1VTWZR1YW8",
"text": "20 to 29",
"text_translated": "20 to 29",
"conditions": [
{
"object": "range",
"question_id": 42,
"min": 20,
"max": 29
}
]
},
{
"id": "01KS0CT2B46RSYQG1VTWZR1YWA",
"text": "30 to 39",
"text_translated": "30 to 39",
"conditions": [
{
"object": "range",
"question_id": 42,
"min": 30,
"max": 39
}
]
}
]
},
{
"description": "What is your state?",
"description_translated": "What is your state?",
"id": "01KS0CT2B46RSYQG1VTWZR1YWJ",
"object": "regular",
"quotas_enabled": true,
"targets": [
{
"id": "01KS0CT2B46RSYQG1VTWZR1YWK",
"text": "ALABAMA",
"text_translated": "ALABAMA",
"conditions": [
{
"object": "selection",
"question_id": 96,
"option": "1"
}
],
"quota": {
"completes_goal_percentage": 13.3,
"completes_goal": 0
}
}
]
},
{
"object": "blended",
"name": "Control quota",
"description": "What is your gender?, What is your age?, What is your state?",
"description_translated": "What is your gender?, What is your age?, What is your state?",
"id": "01KS0CT2B46RSYQG1VTWZR1YYE",
"quotas_enabled": true,
"blended_type": "control",
"targets": [
{
"id": "01KS0CT2B46RSYQG1VTWZR1YYF",
"name": "Control quota 1",
"text": "Control quota 1",
"text_translated": "Control quota 1",
"conditions": [
{
"object": "selection",
"question_id": 43,
"option": "1",
"condition_name": "Male",
"condition_name_translated": "Male"
},
{
"object": "range",
"question_id": 42,
"min": 20,
"max": 29,
"condition_name": "20 to 29",
"condition_name_translated": "20 to 29"
},
{
"object": "selection",
"question_id": 96,
"option": "1",
"condition_name": "Alabama",
"condition_name_translated": "Alabama"
}
],
"quota": {
"completes_goal_percentage": 0.0,
"completes_goal": 0,
"quota_nominal": 0
}
},
{
"id": "01KS0CT2B46RSYQG1VTWZR1YYM",
"name": "Control quota 2",
"text": "Control quota 2",
"text_translated": "Control quota 2",
"conditions": [
{
"object": "selection",
"question_id": 43,
"option": "2",
"condition_name": "Female",
"condition_name_translated": "Female"
},
{
"object": "range",
"question_id": 42,
"min": 30,
"max": 39,
"condition_name": "30 to 39",
"condition_name_translated": "30 to 39"
},
{
"object": "selection",
"question_id": 96,
"option": "1",
"condition_name": "Alabama",
"condition_name_translated": "Alabama"
}
],
"quota": {
"completes_goal_percentage": 10.0,
"completes_goal": 0,
"quota_nominal": 0
}
},
{
"id": "01KS0CT2B46RSYQG1VTWZR1YYC",
"name": "Control quota 3",
"text": "Control quota 3",
"text_translated": "Control quota 3",
"conditions": [
{
"object": "selection",
"question_id": 43,
"option": "1",
"condition_name": "Male",
"condition_name_translated": "Male"
},
{
"object": "range",
"question_id": 42,
"min": 30,
"max": 39,
"condition_name": "30 to 39",
"condition_name_translated": "30 to 39"
},
{
"object": "selection",
"question_id": 96,
"option": "1",
"condition_name": "Alabama",
"condition_name_translated": "Alabama"
}
],
"quota": {
"completes_goal_percentage": 0.0,
"completes_goal": 0,
"quota_nominal": 0
}
}
]
}
]
}
}

Step 4: Validate the update

After updating:

  1. Call get profiles again
  2. Confirm:
  • The blended profile with control blended type appears under "profiles"
  • Old regular profiles are removed or updated as expected based on request body
  • Quotas correspond to the blended profile targets

Summary

Blended profiles with control blended type provide powerful, multi-dimension targeting after launch by:

  • Allowing manual construction of specific segments
  • Supporting percent-based quotas for combined segments

Use them when you need:

  • More granular segment control
  • Control demographic quotas