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 29and30 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
}
}
]
}
]
}
}
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
controlblended profile cannot use questions that are already part of aninterlockblended profile in the same target group. - Open-ended questions cannot be blended.
controlblended targetscompletes_goalare not recalculated when the target group's totalcompletes_goalis 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:
- Call get profiles again
- Confirm:
- The blended profile with
controlblended 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