본문 바로가기메인 메뉴 바로가기사이드 메뉴 바로가기

kakao developers

Related sites
  • Docs
  • Kakao Moment
  • Engagement targeting management

사이드 메뉴

Search

This document describes how to use the engagement targeting management APIs.

The engagement targeting can be used as targeting information when creating or editing an ad group. The targeting information is created based on a combination of clicks, plays, and conversions to your ads.

The Kakao Moment Ads provide a variety of ad engagement data according to your campaign's goal and type. Depending on users' choices, various engagement data is collected and used to make ad engagement target. The types of engagement data that you can use may vary depending on your campaign's type.

Engagement response targets can be created and used regardless of the ad type (DISPLAY, MESSAGE). However, the scope of some campaign types and ad response data varies depending on the ad type. For the details, see the table below.

Creatable campaign typesUsable engagement response data
Kakao Bizboard
Kakao Bizboard CPT
Kakao Bizboard Chat tab CPT
Display
Video
Focus board
Profile full view
Click (클릭), Conversion (전환), Play (재생)
Product catalog
Reach pop all day
Click (클릭), Conversion (전환)
Kakao Talk Channel
Personalized message
Open (열람), Click (클릭), Conversion (전환), Play (재생)

Each ad type has a different definition of available ad response data.

TypeClick (클릭)Play (재생)Conversion (전환)Open (열람)
DISPLAYUsers who have clicked at least one area in clickable areas of the ad.Users who have played the video of the message for over 3 seconds or over 25% (May include users who have clicked or converted).
  1. Users whose conversion is detected by the Kakao Pixel & SDK
  2. If the ObjectiveType is set to 'TALK_CHANNEL' among the Kakao Bizboard X Conversion(전환) type of campaigns, users who have added Kakao Talk Channel through the ad.
    • If the advertisement target is the Kakao Talk Channel
    • If using the button for adding Kakao Talk Channel when the landing to the ad view
-
MESSAGEUsers who have clicked at least one area in clickable areas of the message the users have viewed.Users who have played the video of the message for over 3 seconds (May include users who have clicked).
  • Users whose conversion is detected by the Kakao Pixel & SDK after clicking at least one area in clickable areas of the message.
  • Users who have added Kakao Talk Channel through the channel friend button in the message.
Users who opened the Kakao Talk Channel's chat and read a message.

Ad response data is available for the following operations.

Ad response dataOperation
Click(All)operation: ONLY
firstIndicator: CLICK
Play(All)operation: ONLY
firstIndicator: PLAY
Conversion(All)operation: ONLY
firstIndicator: CONVERSION
Open(All)operation: ONLY
firstIndicator: OPEN
Click-Playoperation: MINUS
firstIndicator: CLICK
secondIndicator: PLAY
Play-Clickoperation: MINUS
firstIndicator: PLAY
secondIndicator: CLICK
Click-Conversionoperation: MINUS
firstIndicator: CLICK
secondIndicator: CONVERSION
Open-Click-Playoperation: MINUS
firstIndicator: OPEN
secondIndicator: CLICK
thirdIndicator: PLAY
Open-Conversionoperation: MINUS
firstIndicator: OPEN
secondIndicator: CONVERSION
Click&Playoperation: AND
firstIndicator: PLAY
secondIndicator: CLICK
MethodURLAuthorization
GEThttps://apis.moment.kakao.com/openapi/v4/targetings/cohort/listBusiness token

Returns a list of engagement targets you can use as a targeting option when creating or editing an ad group.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescription
-CohortTarget[]List of engagement targets.
NameTypeDescription
idLongEngagement target's ID.
audienceTypeStringEngagement target's type.
One of DISPLAY, MESSAGE or ALL.
nameStringEngagement target's name.
baseAdsBaseAd[]List of engagement data.
collectDurationIntegerCollecting period.
User data collected during this period from today is used for the ad targeting.
If no one responded to your ad during this period, data may not exist even though you have run ads before.
cohortStatusStringStatus of target population.
One of the followings:
  • WAITING: Preparing for extracting target population.
  • AVAILABLE_ERROR: Error in extracting target population.
  • AVAILABLE: Target population has been extracted from a customer file.
  • MODIFYING: Modifying target population.
  • DELETE: Deleted or deleting.
  • ERROR: Other errors.
popultaionScoreLongTarget population that is normally extracted when target population's status is AVAILABLE.
After requesting the creation of an ad response target based on the estimated reach of Kakao users who interacted with the selected ad, the audience extraction is completed within one hour, and the audience is updated in real-time.
A target in the WAITING state is in the pre-extraction stage and cannot be used for targeting.
createdDateStringDate and time of creation in yyyy-MM-dd'T'HH:mm:ss format.
lastModifiedDateStringDate and time of modification in yyyy-MM-dd'T'HH:mm:ss format.
curl -X GET "https://apis.moment.kakao.com/openapi/v4/targetings/cohort/list" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
[
{
"adAccountId": 1234,
"id": 1,
"audienceType": "MESSAGE",
"name": "first_engagement_target",
"baseAds": [
{
"campaign": {
"id": 5678,
"name": "first_campaign",
"campaignTypeGoal": {
"campaignType": "TALK_CHANNEL",
"goal": "REACH"
}
},
"adGroup": {
"id": 20425,
"name": "first_ad_group"
},
"operation": "ONLY",
"firstIndicator": "OPEN"
}
],
"collectDuration": 90,
"cohortStatus": "AVAILABLE",
"createdDate": "2020-01-01 00:00:00",
"lastModifiedDate": "2020-01-01 00:00:00"
}
]
MethodURLAuthorization
GEThttps://apis.moment.kakao.com/openapi/v4/targetings/cohort/${ID}Business token

Returns detailed information about the specified engagement target.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
IDLongEngagement target's ID.O
NameTypeDescription
idLongEngagement target's ID.
audienceTypeStringEngagement target's type.
One of DISPLAY, MESSAGE or ALL.
adAccountIdLongAd account's ID.
nameStringEngagement target's name.
baseAdsBaseAd[]List of engagement data.
collectDurationIntegerCollecting period.
User data collected during this period from today is used for the ad targeting.
If no one responded to your ad during this period, data may not exist even though you have run ads before.
cohortStatusStringStatus of target population.
One of the followings:
  • WAITING: Preparing for extracting target population.
  • AVAILABLE_ERROR: Error in extracting target population.
  • AVAILABLE: Target population has been extracted from a customer file.
  • MODIFYING: Modifying target population.
  • DELETE: Deleted or deleting.
  • ERROR: Other errors.
popultaionScoreLongTarget population that is normally extracted when target population's status is AVAILABLE.
After requesting the creation of an ad response target based on the estimated reach of Kakao users who interacted with the selected ad, the audience extraction is completed within one hour, and the audience is updated in real-time.
A target in the WAITING state is in the pre-extraction stage and cannot be used for targeting.
createdDateStringDate and time of creation in yyyy-MM-dd'T'HH:mm:ss format.
lastModifiedDateStringDate and time of modification in yyyy-MM-dd'T'HH:mm:ss format.
curl -X GET 'https://apis.moment.kakao.com/openapi/v4/targetings/cohort/${ID}' \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"adAccountId": 65721,
"id": 100943,
"collectDuration": 90,
"cohortStatus": "WAITING",
"name": "first_engagement_target",
"audienceType": "MESSAGE",
"baseAds": [
{
"campaign": {
"id": 82141,
"name": "first_campaign",
"campaignTypeGoal": {
"campaignType": "TALK_CHANNEL",
"goal": "REACH"
}
},
"adGroup": {
"id": 101326,
"name": "first_ad_group"
},
"operation": "ONLY",
"firstIndicator": "OPEN"
},
{
"messageAd": {
"id": "msg-ad-1336211109228568577"
},
"operation": "ONLY",
"firstIndicator": "OPEN"
}
],
"populationScore": 0,
"createdDate": "2025-04-15T13:27:57.603841",
"lastModifiedDate": "2025-04-15T13:27:57.60384",
"populationUpdateDate": null
}
MethodURLAuthorization
GEThttps://apis.moment.kakao.com/openapi/v4/targetings/cohort/creatablesBusiness token

Returns a list of ad groups and campaigns under an ad account required when you create an engagement target.

Only ad group information for campaign's Type X Goal that allow ad reaction target creation can be retrieved. The campaign types that can be created can be found in Criteria by engagement target type.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
campaignTypeCampaignTypeCampaign type you want to retrieve.O
goalGoalCampaign goal you want to retrieve.O
searchKeywordStringCampaign's name you want to retrieve.O
NameTypeDescription
-AdGroupAndCampaign[]List of ad groups and campaigns.
NameTypeDescription
adGroupAdGroupAd group.
campaignCampaignCampaign.
curl -X GET "https://apis.moment.kakao.com/openapi/v4/targetings/cohort/creatables?campaignType=DISPLAY&goal=VISITING&searchKeyword=HG" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-d '{
"campaignType": "DISPLAY",
"goal": "VISITING",
"searchKeyword":"HG"
}'
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
[
{
"campaign": {
"id": 1234,
"name": "first_campaign",
"campaignTypeGoal": {
"campaignType": "DISPLAY",
"goal": "VISITING"
}
},
"adGroup": [
{
"id": 56,
"name": "first_ad_group"
},
{
"id": 78,
"name": "second_ad_group"
}
]
}
]
MethodURLAuthorization
POSThttps://apis.moment.kakao.com/openapi/v4/targetings/cohortBusiness token

Creates a new engagement target.

You can create up to 50 engagement targets per ad account. Engagement targeting can be used as targeting information when creating or editing an ad group. The targeting information is created based on a combination of clicks, plays, and engagement data to your ads.

Refer to Engagement targeting for the criteria by engagement target type, engagement criteria by campaign type, and available operation and engagement types by Type X Goal.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
nameStringEngagement target's name.

Allowed characters: Korean, English, special characters, space
Character limits: 50 characters
O
baseAdsBaseAd[]List of engagement data.O
NameTypeDescriptionRequired
adGroupAdGroupInformation of the ad group.O
campaignCampaignInformation of the campaign.O
operationOperationOperation type.
Refer to Available operation and engagement types by Type X Goal.
O
firstIndicatorIndicatorFirst response type.
Refer to Available operation and engagement types by Type X Goal.
O
secondIndicatorIndicatorSecond response type.
Refer to Available operation and engagement types by Type X Goal.
X
thirdIndicatorIndicatorThird response type.
Refer to Available operation and engagement types by Type X Goal.
X
NameTypeDescription
idLongEngagement target's ID.
adAccountIdLongAd account's ID.
nameStringEngagement target's name.
collectDurationIntegerCollecting period.
User data collected during this period from today is used for the ad targeting.
If no one responded to your ad during this period, data may not exist even though you have run ads before.
baseAdsBaseAd[]List of engagement data.
cohortStatusStringStatus of target population.
One of the followings:
  • WAITING: Preparing for extracting target population.
  • AVAILABLE_ERROR: Error in extracting target population.
  • AVAILABLE: Target population has been extracted from a customer file.
  • MODIFYING: Modifying target population.
  • DELETE: Deleted or deleting.
  • ERROR: Other errors.
createdDateStringDate and time of creation in yyyy-MM-dd'T'HH:mm:ss format.
lastModifiedDateStringDate and time of modification in yyyy-MM-dd'T'HH:mm:ss format.
curl -X POST "https://apis.moment.kakao.com/openapi/v4/targetings/cohort" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-d '{
"name": "first_ad_response",
"audienceType": "MESSAGE",
"baseAds": [
{
"campaign": {
"id": 56,
"campaignTypeGoal": {
"campaignType": "TALK_CHANNEL"
}
},
"adGroup": {
"id": 78
},
"firstIndicator": "OPEN",
"operation": "ONLY"
}
]
}'
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"adAccountId": 1234,
"id": 1,
"audienceType": "MESSAGE",
"collectDuration": 90,
"cohortStatus": "WAITING",
"name": "first_ad_response",
"baseAds": [
{
"campaign": {
"id": 56,
"name": "first_campaign",
"campaignTypeGoal": {
"campaignType": "TALK_CHANNEL",
"goal": "REACH"
}
},
"adGroup": {
"id": 78,
"name": "first_ad_group"
},
"operation": "ONLY",
"firstIndicator": "OPEN"
}
],
"createdDate": "2020-01-01 00:00:00",
"lastModifiedDate": "2020-01-01 00:00:00"
}
MethodURLAuthorization
PUThttps://apis.moment.kakao.com/openapi/v4/targetings/cohort/nameBusiness token

Edits the name of an engagement target.

  • An engagement target that has already been deleted cannot be edited
  • The new name cannot duplicate the name of an existing engagement target

This API limits the number of calls you can make to every 10 seconds per user account.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
idLongEngagement target's ID.O
nameStringEngagement target's name.

Allowed characters: Korean, English, special characters, space
Character limits: 50 characters
O
NameTypeDescription
adAccountIdLongAd account's ID.
idLongEngagement target's ID.
audienceTypeStringEngagement target's type.
One of DISPLAY, MESSAGE or ALL.
nameStringEngagement target's name.
collectDurationIntegerCollecting period.
User data collected during this period from today is used for the ad targeting.
If no one responded to your ad during this period, data may not exist even though you have run ads before.
baseAdsBaseAd[]List of engagement data.
cohortStatusStringStatus of target population.
One of the followings:
  • WAITING: Preparing for extracting target population.
  • AVAILABLE_ERROR: Error in extracting target population.
  • AVAILABLE: Target population has been extracted from a customer file.
  • MODIFYING: Modifying target population.
  • DELETE: Deleted or deleting.
  • ERROR: Other errors.
createdDateStringDate and time of creation in yyyy-MM-dd'T'HH:mm:ss format.
lastModifiedDateStringDate and time of modification in yyyy-MM-dd'T'HH:mm:ss format.
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/targetings/cohort/name" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-d '{
"id": 1,
"name": "edit_engagement_target_name"
}'
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"adAccountId": 1234,
"id": 1,
"audienceType": "MESSAGE",
"collectDuration": 90,
"cohortStatus": "WAITING",
"name": "edit_engagement_target_name",
"baseAds": [
{
"campaign": {
"id": 56,
"name": "first_campaign",
"campaignTypeGoal": {
"campaignType": "TALK_CHANNEL",
"goal": "REACH"
}
},
"adGroup": {
"id": 78,
"name": "first_ad_group"
},
"operation": "ONLY",
"firstIndicator": "OPEN"
}
],
"createdDate": "2020-01-01 00:00:00",
"lastModifiedDate": "2020-01-01 12:00:00"
}
MethodURLAuthorization
PUThttps://apis.moment.kakao.com/openapi/v4/targetings/cohortBusiness token

Enables you to edit the data of the engagement target.

  • Retrieve the existing information with the View engagement target API, then pass both the fields to edit and those not to edit. To retain engagement target information, pass the existing values for fields you do not want to edit
  • The engagement target name cannot be edited
  • The target is updated within one hour after the edit
  • Until the edit is complete, the ad group uses the previous target population. After completion, it switches to the edited target
NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
idLongEngagement target's ID.O
baseAdsBaseAd[]List of engagement data.O
NameTypeDescriptionRequired
adGroupAdGroupInformation of the ad group.O
campaignCampaignInformation of the campaign.O
operationOperationOperation type.
One of ONLY,MINUS, or AND.
Refer to Available operation and engagement types by Type X Goal.
O
firstIndicatorIndicatorFirst response type.
One of PLAY, CLICK, OPEN, or CONVERSION.
Refer to Available operation and engagement types by Type X Goal.
O
secondIndicatorIndicatorSecond response type.
One of PLAY, CLICK, or CONVERSION.
Refer to Available operation and engagement types by Type X Goal.
X
NameTypeDescription
idLongEngagement target's ID.
audienceTypeStringEngagement target's type.
One of DISPLAY, MESSAGE or ALL.
adAccountIdLongAd account's ID.
nameStringEngagement target's name.
collectDurationIntegerCollecting period.
User data collected during this period from today is used for the ad targeting.
If no one responded to your ad during this period, data may not exist even though you have run ads before.
baseAdsBaseAd[]List of engagement data.
cohortStatusStringStatus of target population.
One of the followings:
  • WAITING: Preparing for extracting target population.
  • AVAILABLE_ERROR: Error in extracting target population.
  • AVAILABLE: Target population has been extracted from a customer file.
  • MODIFYING: Modifying target population.
  • DELETE: Deleted or deleting.
  • ERROR: Other errors.
createdDateStringDate and time of creation in yyyy-MM-dd'T'HH:mm:ss format.
lastModifiedDateStringDate and time of modification in yyyy-MM-dd'T'HH:mm:ss format.
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/targetings/cohort" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-d '{
"id": 1234,
"name": "edit_engagement_target_data",
"baseAds": [
{
"campaign": {
"id": 56,
"campaignTypeGoal": {
"campaignType": "TALK_CHANNEL"
}
},
"adGroup": {
"id": 78
},
"firstIndicator": "OPEN",
"operation": "ONLY"
}
]
}'
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"adAccountId": 1234,
"id": 1,
"audienceType": "MESSAGE",
"collectDuration": 90,
"cohortStatus": "WAITING",
"name": "edit_engagement_target_data",
"baseAds": [
{
"campaign": {
"id": 56,
"name": "first_campaign",
"campaignTypeGoal": {
"campaignType": "TALK_CHANNEL",
"goal": "REACH"
}
},
"adGroup": {
"id": 78,
"name": "first_ad_group"
},
"operation": "ONLY",
"firstIndicator": "OPEN"
}
],
"createdDate": "2020-01-01 00:00:00",
"lastModifiedDate": "2020-01-01 15:00:00"
}
MethodURLAuthorization
DELETEhttps://apis.moment.kakao.com/openapi/v4/targetings/cohort/${ID}Business token

Deletes an engagement target.

  • Engagement targets that have already been deleted or are in use cannot be deleted

This API limits the number of calls you can make to every second per user account.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
IDLongEngagement target's ID.O
curl -v -X DELETE "https://apis.moment.kakao.com/openapi/v4/targetings/cohort/${ID}" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
MethodURLAuthorization
DELETEhttps://apis.moment.kakao.com/openapi/v4/targetings/cohortBusiness token

Deletes multiple engagement targets at once.

The deletion conditions are the same as Conditions for use for deleting an engagement target.

This API limits the number of calls you can make to every second per user account.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
cohortIdsStringEngagement target's ID.
To pass multiple Engagement target IDs, separate them with a comma(,).
O
curl -v -X DELETE "https://apis.moment.kakao.com/openapi/v4/targetings/cohort?cohortIds=${COHORT_ID},${COHORT_ID}" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"successCount": 1,
"failCount": 1,
"errorMessages": ["타겟을 사용 중인 오디언스가 있습니다."]
}
MethodURLAuthorization
GEThttps://apis.moment.kakao.com/openapi/v4/targetings/cohort/usages/${ID}Business token

Returns the usage list for the designated engagement target.

NameDescriptionRequired
AuthorizationAuthorization: Bearer ${BUSINESS_ACCESS_TOKEN}
Business token as a type of user authentication.
O
adAccountIdadAccountId: ${AD_ACCOUNT_ID}
Ad account's ID.
O
NameTypeDescriptionRequired
IDLongEngagement target's ID.O
NameTypeDescription
-AdGroupAndCampaign[]List of ad groups and campaigns using the engagement target.
NameTypeDescription
adGroupAdGroupInformation of the ad group.
campaignCampaignInformation of the campaign.
messageAdMessageAdInformation of the message.
curl -X GET "https://apis.moment.kakao.com/openapi/v4/targetings/cohort/usages/${ID}" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
[
{
"adGroup": {
"id": 105488,
"name": "first_ad_group",
"adGroupStatus": ["LIVE"],
"adGroupType": "DISPLAY"
},
"campaign": {
"id": 62286,
"name": "first_campaign",
"campaignTypeGoal": {
"campaignType": "DISPLAY",
"goal": "VISITING"
}
}
},
{
"messageAd": {
"id": "msg-ad-1362737813386051585",
"name": "first_message",
"opStatus": ["READY"]
}
}
]

Was this helpful?

    Kakao Moment > Engagement targeting management - Kakao Developers | Docs