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

kakao developers

관련사이트
  • 문서
  • 카카오모먼트
  • 고객데이터 관리

사이드 메뉴

검색

이 문서는 고객데이터 API 사용 방법을 안내합니다.

메서드URL인증 방식
GEThttps://apis.moment.kakao.com/openapi/v4/customerData

업로드된 고객데이터 목록을 반환합니다.

성과형 광고 및 메시지 광고에서 타겟으로 사용할 수 있습니다.

이름설명필수
Authorization인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
O
adAccountId광고계정 ID
adAccountId: ${AD_ACCOUNT_ID}
O
이름타입설명
-CustomerData[]업로드된 고객데이터 목록
이름타입설명
idLong고객데이터 번호
adAccountIdLong광고계정 번호
nameString고객데이터 이름
kuidListKeyString고객데이터 등록 Key
statusEnum: CustomerDataStatus상태
readyBoolean준비완료 여부
fileTypeEnum: CustomerDataFileType파일 식별자 유형
typeEnum: CustomerDataType고객데이터 등록 방식
sourceUrlString등록 URL(일부 마스킹되어 반환)
renewableBoolean갱신 여부
renewalExpireDateTimeString갱신 유효기간
타겟 생성일시로부터 90일
populationScoreLong타겟 모수
populationUpdateDateString타겟 업데이트 일시
타겟 모수가 업데이트된 시간
createdDateString등록일시
고객데이터를 수정한 경우 수정한 고객데이터의 생성일시
originalCreatedDateString최초 고객데이터 등록일시
고객데이터를 수정한 경우 최초 등록한 고객데이터의 생성일시
lastModifiedDateString마지막 수정 완료일시
curl -X GET "https://apis.moment.kakao.com/openapi/v4/customerData" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
[
{
"id": 2656,
"adAccountId": 27429,
"name": "고객데이터 등록",
"kuidListKey": "c8010decafde484eb33284b53a290c30",
"status": "COMPLETE",
"ready": true,
"fileType": "ADID",
"type": "URL",
"sourceUrl": "https://sample-url.com/*****valid1.csv",
"renewable": true,
"renewalExpireDateTime": "2026-09-01T00:03:58",
"populationScore": 7170,
"populationUpdateDate": "2026-06-03T00:13:59",
"createdDate": "2026-06-03T00:03:59",
"originalCreatedDate": "2026-06-01T00:03:59",
"lastModifiedDate": "2026-06-03T00:13:59"
}
]
메서드URL인증 방식
GEThttps://apis.moment.kakao.com/openapi/v4/customerData/${ID}

특정 고객데이터의 상세 정보를 반환합니다.

이 API는 고객데이터마다 5초에 한 번씩 요청이 가능하도록 제한되어 있습니다.

이름설명필수
Authorization인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
O
adAccountId광고계정 ID
adAccountId: ${AD_ACCOUNT_ID}
O
이름타입설명필수
IDLong고객데이터 번호O
이름타입설명
idLong고객데이터 번호
adAccountIdLong광고계정 번호
nameString고객데이터 이름
kuidListKeyString고객데이터 등록 Key
statusEnum: CustomerDataStatus상태
readyBoolean준비완료 여부
fileTypeEnum: CustomerDataFileType파일 식별자 유형
typeEnum: CustomerDataType고객데이터 등록 방식
sourceUrlString등록 URL(일부 마스킹되어 반환)
renewableBoolean갱신여부
renewalExpireDateTimeString갱신 유효기간
populationScoreLong타겟 모수
populationUpdateDateString타겟 업데이트 일시
타겟 모수가 업데이트된 시간
createdDateString등록일시
originalCreatedDateString최초 고객데이터 등록일시
고객데이터를 수정한 경우 최초 등록한 고객데이터의 생성일시
lastModifiedDateString마지막 수정 완료일시
curl -X GET "https://apis.moment.kakao.com/openapi/v4/customerData/${ID}" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"id": 2656,
"adAccountId": 27429,
"name": "고객데이터 등록",
"kuidListKey": "c8010decafde484eb33284b53a290c30",
"status": "COMPLETE",
"ready": true,
"fileType": "ADID",
"type": "URL",
"sourceUrl": "https://sample-url.com/*****valid1.csv",
"renewable": true,
"renewalExpireDateTime": "2026-09-01T00:03:58",
"populationScore": 7170,
"populationUpdateDate": "2026-06-03T00:13:59",
"createdDate": "2026-06-03T00:03:59",
"originalCreatedDate": "2026-06-01T00:03:59",
"lastModifiedDate": "2026-06-03T00:13:59"
}
메서드URL인증 방식
POSThttps://apis.moment.kakao.com/openapi/v4/customerData

광고그룹 생성 및 수정 시 사용할 고객데이터를 파일 형태로 등록합니다.

  • Multipart/form-data 방식만 지원
  • 하나의 고객데이터는 10개 이하의 CSV 파일로 구성 가능
  • 전체 파일 용량은 200MB 이하
  • 계정당 최대 50개의 고객데이터 등록 가능
  • 파일 등록 후 1시간 이내에 모수 추출
  • 파일 내용 형식은 파일 식별자 유형을 참고

이 API는 사용자 계정, 광고계정마다 5초에 한 번씩 요청 가능하도록 제한되어 있습니다.

이름설명필수
Authorization인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
O
adAccountId광고계정 ID
adAccountId: ${AD_ACCOUNT_ID}
O
  • files 또는 adGroupIds 중 하나 필수
이름타입설명필수
nameString고객데이터 이름(최대: 120자)
한글, 영문, 특수문자, 공백 허용
O
fileTypeEnum: CustomerDataFileType파일 식별자 유형O
filesMultipart File[]고객데이터(최대: 10개, 합계 200MB)
MimeType이 text/csv인 csv 확장자를 가진 파일
X*
adGroupIdsLong[]메시지 광고그룹 ID 목록X*
* fileType이 MESSAGE_RETARGET이면 adGroupIds 필수, 그 외 files 필수
이름타입설명
idLong고객데이터 번호
adAccountIdLong광고계정 번호
nameString고객데이터 이름
fileTypeEnum: CustomerDataFileType파일 식별자 유형
adGroupIdsLong[]메시지 광고그룹 ID 목록
statusString상태
WAITING(대기중)으로 고정
successCountInteger성공 건수
failedCountInteger실패 건수
duplicationCountInteger중복 건수
createdDateString등록일시
curl -X POST "https://apis.moment.kakao.com/openapi/v4/customerData" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "Content-Type: multipart/form-data" \
-F "files=@local/sample1.csv" \
-F "files=@local/sample2.csv" \
-F "name=첫번째_고객데이터" \
-F "fileType=ADID"
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"id": 2656,
"adAccountId": 27429,
"name": "고객데이터 등록",
"fileType": "ADID",
"status": "WAITING",
"successCount": 980,
"failedCount": 15,
"duplicationCount": 5,
"createdDate": "2026-06-03T00:03:59"
}
메서드URL인증 방식
POSThttps://apis.moment.kakao.com/openapi/v4/customerData/url

광고그룹에서 사용할 고객데이터를 URL로 등록합니다.

  • URL은 http:// 또는 https:// 형식으로 퍼블릭 액세스가 가능하고 식별자 목록을 다운로드할 수 있어야 함
  • CSV 파일은 고객데이터 파일로 등록 API와 달리 별도의 용량 제한 없음
  • 파일 내용 형식은 파일 식별자 유형 참고
  • MESSAGE_RETARGET 유형은 URL 등록 불가
  • 타겟 등록 후 1시간 이내에 모수 추출
  • 갱신 옵션을 포함하면 카카오모먼트가 하루 1회 URL을 호출해 식별자 목록을 갱신하며, 갱신 완료 전까지는 갱신 전 파일로 광고그룹 타겟 작동
  • 갱신 유효기간은 최초 타겟 등록 후 90일까지이며, 유효기간 종료 후 타겟 신규 생성 필요

이 API는 사용자 계정, 광고계정마다 5초에 한 번씩 요청 가능하도록 제한되어 있습니다.

이름설명필수
Authorization인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
O
adAccountId광고계정 ID
adAccountId: ${AD_ACCOUNT_ID}
O
이름타입설명필수
nameString고객데이터 이름(최대: 120자)
한글, 영문, 특수문자, 공백 허용
O
fileTypeEnum: CustomerDataFileType파일 식별자 유형
URL 등록은 메시지 발송 대상자 제외
O
sourceUrlString등록 URLO
renewableBoolean갱신여부
true일 경우 일 1회 갱신 수행
O
이름타입설명
idLong고객데이터 번호
adAccountIdLong광고계정 번호
nameString고객데이터 이름
fileTypeEnum: CustomerDataFileType파일 식별자 유형
statusString상태
WAITING(대기중)으로 고정
createdDateString등록일시
sourceUrlString등록 URL(일부 마스킹되어 반환)
renewableBoolean갱신여부
renewalExpireDateTimeString갱신 유효기간
타겟 생성일시로부터 90일
curl -X POST "https://apis.moment.kakao.com/openapi/v4/customerData/url" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "Content-Type: application/json" \
-d '{
"name": "고객데이터 URL 등록",
"fileType": "ADID",
"sourceUrl": "https://sample-url.com/audience.csv",
"renewable": true
}'
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"id": 2657,
"adAccountId": 27429,
"name": "고객데이터 URL 등록",
"fileType": "ADID",
"status": "WAITING",
"createdDate": "2026-06-03T00:03:59",
"sourceUrl": "https://sample-url.com/*****ience.csv",
"renewable": true,
"renewalExpireDateTime": "2026-09-01T00:03:58"
}
메서드URL인증 방식
PUThttps://apis.moment.kakao.com/openapi/v4/customerData

등록되어 있는 고객데이터 타겟을 수정합니다.

  • status가 COMPLETE인 타겟만 수정 가능
  • 파일 유형으로 등록한 타겟은 파일 유형으로만 수정 가능
  • 수정 가능 항목은 파일(files)
  • Multipart/form-data 방식만 지원
  • 광고그룹에서 메시지 광고로 사용 중일 경우 수정 불가
  • 수정 후 1시간 이내에 모수 추출
  • 수정 완료 전까지는 수정 전 타겟 모수로 광고그룹 타겟팅이 작동하며, 완료 후 수정된 타겟으로 변경

이 API는 고객데이터마다 5초에 한 번씩 요청이 가능하도록 제한되어 있습니다.

이름설명필수
Authorization인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
O
adAccountId광고계정 ID
adAccountId: ${AD_ACCOUNT_ID}
O
  • files 또는 adGroupIds 중 하나 필수
이름타입설명필수
idLong고객데이터 번호O
fileTypeEnum: CustomerDataFileType파일 식별자 유형O
filesMultipart File[]고객데이터(최대: 10개, 합계 200MB)
MimeType이 text/csv인 csv 확장자를 가진 파일
X*
adGroupIdsLong[]메시지 광고그룹 ID 목록X*
* fileType이 MESSAGE_RETARGET이면 adGroupIds 필수, 그 외 files 필수
이름타입설명
idLong고객데이터 번호
adAccountIdLong광고계정 번호
nameString고객데이터 이름
fileTypeEnum: CustomerDataFileType파일 식별자 유형
adGroupIdsLong[]메시지 광고그룹 ID 목록
statusString상태
WAITING(대기중)으로 고정
successCountInteger성공 건수
failedCountInteger실패 건수
duplicationCountInteger중복 건수
createdDateString등록일시
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/customerData" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "Content-Type: multipart/form-data" \
-F "id=2656" \
-F "fileType=ADID" \
-F "files=@audience_new.csv"
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"id": 2658,
"adAccountId": 27429,
"name": "고객데이터 등록",
"fileType": "ADID",
"status": "WAITING",
"successCount": 1200,
"failedCount": 0,
"duplicationCount": 3,
"createdDate": "2026-06-05T09:00:00"
}
메서드URL인증 방식
PUThttps://apis.moment.kakao.com/openapi/v4/customerData/url

등록된 고객데이터 타겟을 수정합니다.

  • URL 유형으로 등록한 타겟은 URL 유형으로만 수정 가능
  • 수정 가능 항목은 URL(sourceUrl), 갱신 옵션(renewable)
  • 타겟 수정 후 1시간 이내에 모수 추출
  • 수정 완료 전까지는 수정 전 타겟 모수로 광고그룹 타겟팅이 작동하며, 완료 후 수정된 타겟으로 변경

이 API는 고객데이터마다 5초에 한 번씩 요청이 가능하도록 제한되어 있습니다.

이름설명필수
Authorization인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
O
adAccountId광고계정 ID
adAccountId: ${AD_ACCOUNT_ID}
O
이름타입설명필수
idLong고객데이터 번호O
sourceUrlString등록 URLO
fileTypeEnum: CustomerDataFileType파일 식별자 유형
MESSAGE_RETARGET 제외
O
renewableBoolean갱신여부
true일 경우 일 1회 갱신 수행
O
이름타입설명
idLong고객데이터 번호
adAccountIdLong광고계정 번호
nameString고객데이터 이름
fileTypeEnum: CustomerDataFileType파일 식별자 유형
statusString상태
WAITING(대기중)으로 고정
createdDateString등록일시
sourceUrlString등록 URL(일부 마스킹되어 반환)
renewableBoolean갱신여부
renewalExpireDateTimeString갱신 유효기간
타겟 생성일시로부터 90일
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/customerData/url" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "Content-Type: application/json" \
-d '{
"id": 2657,
"sourceUrl": "https://sample-url.com/audience_v2.csv",
"renewable": false
}'
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"id": 2659,
"adAccountId": 27429,
"name": "고객데이터 URL 등록",
"fileType": "ADID",
"status": "WAITING",
"createdDate": "2026-06-05T09:00:00",
"sourceUrl": "https://sample-url.com/*****e_v2.csv",
"renewable": false,
"renewalExpireDateTime": "2026-09-01T00:03:58"
}
메서드URL인증 방식
PUThttps://apis.moment.kakao.com/openapi/v4/customerData/name

고객데이터 이름을 수정합니다.

이름설명필수
Authorization인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
O
adAccountId광고계정 ID
adAccountId: ${AD_ACCOUNT_ID}
O
이름타입설명필수
idLong고객데이터 번호O
nameString수정할 고객데이터 이름(최대: 120자)
한글, 영문, 특수문자, 공백 허용
O
이름타입설명
idLong고객데이터 번호
adAccountIdLong광고계정 번호
nameString고객데이터 이름
kuidListKeyString고객데이터 등록 Key
readyBoolean준비완료 여부
statusEnum: CustomerDataStatus상태
fileTypeEnum: CustomerDataFileType파일 식별자 유형
typeEnum: CustomerDataType고객데이터 등록 방식
sourceUrlString등록 URL(일부 마스킹되어 반환)
renewableBoolean갱신여부
renewalExpireDateTimeString갱신 유효기간
populationScoreLong타겟 모수
createdDateString등록일시
lastModifiedDateString마지막 수정 완료일시
originalCreatedDateString최초 고객데이터 등록일시
고객데이터를 수정한 경우 최초 등록한 고객데이터의 생성일시
populationUpdateDateString타겟 업데이트 일시
타겟 모수가 업데이트된 시간
curl -X PUT "https://apis.moment.kakao.com/openapi/v4/customerData/name" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}" \
-H "Content-Type: application/json" \
-d '{
"id": 2656,
"name": "고객데이터 이름 변경"
}'
// HTTP/1.1 200 OK
// Content-Type: application/json;charset=UTF-8
{
"id": 2656,
"adAccountId": 27429,
"name": "고객데이터 이름 변경",
"kuidListKey": "c8010decafde484eb33284b53a290c30",
"ready": true,
"status": "COMPLETE",
"fileType": "ADID",
"type": "URL",
"sourceUrl": "https://sample-url.com/*****valid1.csv",
"renewable": true,
"renewalExpireDateTime": "2026-09-01T00:03:58",
"populationScore": 7170,
"createdDate": "2026-06-03T00:03:59",
"lastModifiedDate": "2026-06-03T00:13:59",
"originalCreatedDate": "2026-06-01T00:03:59",
"populationUpdateDate": "2026-06-03T00:13:59"
}
메서드URL인증 방식
DELETEhttps://apis.moment.kakao.com/openapi/v4/customerData/${ID}

등록된 고객데이터를 삭제합니다.

광고그룹에서 사용 중일 경우 삭제가 불가능합니다. 삭제 시 업로드된 원본 파일과 성공 파일도 함께 삭제됩니다.

이름설명필수
Authorization인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
O
adAccountId광고계정 ID
adAccountId: ${AD_ACCOUNT_ID}
O
이름타입설명필수
IDLong고객데이터 번호O
curl -v -X DELETE "https://apis.moment.kakao.com/openapi/v4/customerData/${ID}" \
-H "Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}" \
-H "adAccountId: ${AD_ACCOUNT_ID}"
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
메서드URL인증 방식
DELETEhttps://apis.moment.kakao.com/openapi/v4/customerData

복수의 고객데이터를 한 번에 삭제합니다.

광고그룹 및 메시지에서 사용 중일 경우 삭제가 불가능합니다.

이름설명필수
Authorization인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
O
adAccountId광고계정 ID
adAccountId: ${AD_ACCOUNT_ID}
O
이름타입설명필수
customerDataIdsString고객데이터 번호
여러 개의 고객데이터 번호를 쉼표(,)로 구분한 하나의 문자열로 전달
O
이름타입설명
successCountInteger삭제 성공 건수
failCountInteger삭제 실패 건수
errorMessagesString[]실패 사유 목록
curl -v -X DELETE "https://apis.moment.kakao.com/openapi/v4/customerData?customerDataIds=${CUSTOMER_DATA_ID},${CUSTOMER_DATA_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": ["타겟을 사용 중인 오디언스가 있습니다."]
}
메서드URL인증 방식
GEThttps://apis.moment.kakao.com/openapi/v4/customerData/usages/${ID}

지정한 고객데이터를 사용 중인 광고그룹 및 캠페인 목록을 반환합니다.

이름설명필수
Authorization인증 방식, 비즈니스 토큰으로 인증 요청
Authorization: Bearer ${BUSINESS_ACCESS_TOKEN}
O
adAccountId광고계정 ID
adAccountId: ${AD_ACCOUNT_ID}
O
이름타입설명필수
IDLong고객데이터 번호O
이름타입설명
-AdGroupAndCampaign[]고객데이터를 사용 중인 광고그룹 및 캠페인 목록
이름타입설명
campaignCampaign캠페인
adGroupAdGroup광고그룹
messageAdMessageAd메시지
curl -X GET "https://apis.moment.kakao.com/openapi/v4/customerData/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"]
}
}
]

도움이 되었나요?

    카카오모먼트 > 고객데이터 관리 - 카카오디벨로퍼스 | 문서