페이지 이동경로
  • 문서>
  • 카카오 키워드광고>
  • 광고 만들기: 키워드

카카오 키워드광고

광고 만들기: 키워드

이 문서는 광고 만들기: 키워드 API 사용 방법을 안내합니다.

키워드란 사용자가 검색 시 입력한 검색어를 지칭합니다. 광고그룹 내 다양한 키워드를 생성할 수 있으며, 생성한 소재를 노출하기 위한 단어입니다. 광고 집행을 결정하는 중요한 단위로 생성한 소재와 관련성 높은 키워드를 설정하면 효과적인 광고 성과를 볼 수 있습니다.

키워드 목록 보기

기본 정보

GET /openapi/v1/keywords HTTP/1.1
Host: api.keywordad.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}

키워드 목록을 조회합니다.

액세스 토큰(Access token)과 광고계정 ID(adAccountId)를 헤더에 담아 GET으로 요청합니다. 성공 시 응답 바디에 JSON 객체로 키워드의 목록을 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다

Request

Header
Name Type Description Required
Authorization String 액세스 토큰
Bearer ${ACCESS_TOKEN} 형식으로 전달
O
adAccountId Long 광고계정 ID O
Parameter
Name Type Description Required
adGroupId Long 광고그룹 ID O
config String 키워드 상태(미입력시 ON,OFF값 출력) X

Response

Name Type Description
adGroupId Long 광고그룹 ID
id Long 키워드 ID
text String 키워드 이름
config String 키워드 상태
landingInfo LandingInfo 키워드 랜딩 URL 정보
bidStrategy BidStrategy 키워드 입찰전략
status String[] 운영 상태 정보
reviewStatus String[] 심사 상태 정보

Sample

Request
curl -X GET "https://api.keywordad.kakao.com/openapi/v1/keywords?adGroupId=4444444441&config=ON" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: {adAccountId}"
Response
[
  {
    "adGroupId": "4444444441",
    "id": "55555555551",
    "text": "키워드1",
    "config": "ON",
    "landingInfo": {
      "rspvLandingUrl": "https://www.daum.net",
      "pcLandingUrl": null,
      "mobileLandingUrl": null
    },
    "bidStrategy": {
      "type": "MANUAL",
      "bidAmount": 1000
    },
    "status": [
      "WAITING",
      "OFF_BY_BIZ_CHANNEL_WAITING",
      "OFF"
    ],
    "reviewStatus": "WAITING"
  },
  {
    "adGroupId": "4444444441",
    "id": "55555555552",
    "text": "키워드2",
    "config": "ON",
    "landingInfo": {
      "rspvLandingUrl": null,
      "pcLandingUrl": "https://www.daum.net",
      "mobileLandingUrl": "https://www.daum.net"
    },
    "bidStrategy": {
      "type": "AD_GROUP",
      "bidAmount": null
    },
    "status": [
      "WAITING",
      "OFF_BY_BIZ_CHANNEL_WAITING",
      "OFF"
    ],
    "reviewStatus": "WAITING"
  }
]

키워드 보기

기본 정보

GET /openapi/v1/keywords/${id} HTTP/1.1
Host: api.keywordad.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}

키워드의 상세 정보를 조회합니다.

액세스 토큰(Access token)과 광고계정 ID(adAccountId)를 헤더에 담아 GET으로 요청합니다. 성공 시 응답 바디에 JSON 객체로 키워드의 상세 정보를 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.

Request

Header
Name Type Description Required
Authorization String 액세스 토큰
Bearer ${ACCESS_TOKEN} 형식으로 전달
O
adAccountId Long 광고계정 ID O
Parameter
Name Type Description Required
id Long 키워드 ID O

Response

Name Type Description
adGroupId Long 광고그룹 ID
id Long 키워드 ID
text String 키워드 이름
config String 키워드 상태
landingInfo LandingInfo 키워드 랜딩 URL 정보
bidStrategy BidStrategy 키워드 입찰전략
status String[] 운영 상태 정보
reviewStatus String[] 심사 상태 정보

Sample

Request
curl -X GET "https://api.keywordad.kakao.com/openapi/v1/keywords/55555555551" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: {adAccountId}"
Response
{
  "adGroupId": "4444444441",
  "id": "55555555551",
  "text": "키워드1",
  "config": "OFF",
  "landingInfo": {
    "rspvLandingUrl": null,
    "pcLandingUrl": null,
    "mobileLandingUrl": null
  },
  "bidStrategy": {
    "type": "AD_GROUP",
    "bidAmount": null
  },
  "status": [
    "WAITING",
    "OFF_BY_BIZ_CHANNEL_WAITING",
    "OFF"
  ],
  "reviewStatus": "WAITING"
}

키워드 생성하기

기본 정보

POST /openapi/v1/keywords HTTP/1.1
Host: api.keywordad.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}

새로운 키워드을 생성합니다. 이미 등록된 키워드 재추가시 해당 키워드는 나타나지 않습니다.

액세스 토큰(Access token)과 광고계정 ID(adAccountId)를 헤더에 담아 POST로 요청합니다. 성공 시 응답 바디에 JSON 객체로 키워드 상세 정보를 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.

Request

Header
Name Type Description Required
Authorization String 액세스 토큰
Bearer ${ACCESS_TOKEN} 형식으로 전달
O
adAccountId Long 광고계정 ID O
Parameter
Name Type Description Required
adGroupId Long 광고그룹 ID O
texts String[] 키워드 리스트 O
bidStrategy BidStrategy 키워드 입찰전략 O

Response

Name Type Description
adGroupId Long 광고그룹 ID
id Long 키워드 ID
text String 키워드
config String 키워드 상태
ON, OFF 중 하나
landingInfo LandingInfo 키워드 랜딩 URL 정보
bidStrategy BidStrategy 키워드 입찰전략
status String[] 운영 상태 정보
reviewStatus String[] 심사 상태 정보

Sample

Request
curl -X POST "https://api.keywordad.kakao.com/openapi/v1/keywords" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: {adAccountId}" \
    -H "Content-Type: application/json" \
    -d '{
        "adGroupId": "4444444441",
        "texts": [
            "키워드1",
            "키워드2"
        ],
        "bidStrategy": {
            "type": "AD_GROUP",
            "bidAmount": null
        }
    }'
Response
[
  {
    "adGroupId": "4444444441",
    "id": "55555555551",
    "text": "키워드1",
    "config": "ON",
    "landingInfo": {
      "rspvLandingUrl": null,
      "pcLandingUrl": null,
      "mobileLandingUrl": null
    },
    "bidStrategy": {
      "type": "AD_GROUP",
      "bidAmount": null
    },
    "status": [
      "OFF_BY_BIZ_CHANNEL_WAITING",
      "WAITING"
    ],
    "reviewStatus": "WAITING"
  },
  {
    "adGroupId": "4444444441",
    "id": "55555555552",
    "text": "키워드2",
    "config": "ON",
    "landingInfo": {
      "rspvLandingUrl": null,
      "pcLandingUrl": null,
      "mobileLandingUrl": null
    },
    "bidStrategy": {
      "type": "AD_GROUP",
      "bidAmount": null
    },
    "status": [
      "OFF_BY_BIZ_CHANNEL_WAITING",
      "WAITING"
    ],
    "reviewStatus": "WAITING"
  }
]

키워드 생성하기: 개별 옵션 설정

기본 정보

POST /openapi/v1/keywords/individual HTTP/1.1
Host: api.keywordad.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}

새로운 키워드마다 옵션을 설정하여 생성합니다. 이미 등록된 키워드 재추가시 해당 키워드는 나타나지 않습니다.

액세스 토큰(Access token)과 광고계정 ID(adAccountId)를 헤더에 담아 POST로 요청합니다. 성공 시 응답 바디에 JSON 객체로 키워드 상세 정보를 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.

Request

Header
Name Type Description Required
Authorization String 액세스 토큰
Bearer ${ACCESS_TOKEN} 형식으로 전달
O
adAccountId Long 광고계정 ID O
Parameter
Name Type Description Required
adGroupId Long 광고그룹 ID O
individualKeywords Object 생성할 키워드 정보를 담은 객체
자세한 내용은 individualKeywords 확인
O
individualKeywords
Name Type Description Required
text String 키워드 O
bidStrategy BidStrategy 키워드 입찰전략 O
landingInfo LandingInfo 키워드 랜딩 URL 정보 X

Response

Name Type Description
adGroupId Long 광고그룹 ID
id Long 키워드 ID
text String 키워드
config String 키워드 상태
ON, OFF 중 하나
landingInfo LandingInfo 키워드 랜딩 URL 정보
bidStrategy BidStrategy 키워드 입찰전략
status String[] 운영 상태 정보
reviewStatus String[] 심사 상태 정보

Sample

Request
curl -X POST "https://api.keywordad.kakao.com/openapi/v1/keywords/individual" \
    -H "adAccountId: {adAccountId}"\
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "Content-Type: application/json" \
    -d '{
        "adGroupId": "4444444441",
        "individualKeywords": [
          {
            "text": "키워드1",
            "bidStrategy": {
                "type": "AD_GROUP",
                "bidAmount": null
            },
            "landingInfo":{
                "rspvLandingUrl": "https://www.daum.net"
            }
          },
          {
            "text": "키워드2",
            "bidStrategy": {
                "type": "MANUAL",
                "bidAmount": 1000
            },
            "landingInfo":{
                "pcLandingUrl": "https://www.daum.net",
                "mobileLandingUrl": "https://www.daum.net"
            }
          }
        ]
    }'
Response
[
  {
    "adGroupId": "4444444441",
    "id": "55555555551",
    "text": "키워드1",
    "config": "ON",
    "landingInfo": {
      "rspvLandingUrl": "https://www.daum.net",
      "pcLandingUrl": null,
      "mobileLandingUrl": null
    },
    "bidStrategy": {
      "type": "AD_GROUP",
      "bidAmount": null
    },
    "status": [
      "OFF_BY_BIZ_CHANNEL_WAITING",
      "WAITING"
    ],
    "reviewStatus": "WAITING"
  },
  {
    "adGroupId": "4444444441",
    "id": "55555555552",
    "text": "키워드2",
    "config": "ON",
    "landingInfo": {
      "rspvLandingUrl": null,
      "pcLandingUrl": "https://www.daum.net",
      "mobileLandingUrl": "https://www.daum.net"
    },
    "bidStrategy": {
      "type": "MANUAL",
      "bidAmount": 1000
    },
    "status": [
      "OFF_BY_BIZ_CHANNEL_WAITING",
      "WAITING"
    ],
    "reviewStatus": "WAITING"
  }
]

키워드 수정하기

기본 정보

PUT /openapi/v1/keywords/${id} HTTP/1.1
Host: api.keywordad.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}

키워드 정보를 수정합니다. 기존 키워드 정보를 조회한 후에 수정하고자 하는 필드와 수정을 원치 않는 필드를 조합하여 요청해야 합니다. 수정을 원치 않는 필드도 기존 값으로 요청되어야 키워드 정보를 유지할 수 있습니다.

액세스 토큰(Access token)과 광고계정 ID(adAccountId)를 헤더에 담아 PUT으로 요청합니다. 성공 시 JSON 객체로 수정된 키워드 정보를 받습니다. . 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.

Request

Header
Name Type Description Required
Authorization String 액세스 토큰
Bearer ${ACCESS_TOKEN} 형식으로 전달
O
adAccountId Long 광고계정 ID O
Parameter
Name Type Description Required
id Long 키워드 ID O
landingInfo LandingInfo 키워드 랜딩 URL 정보(미입력시 '랜딩 URL 미설정'으로 입력) X
bidStrategy BidStrategy 키워드 입찰전략 O

Response

Name Type Description
adGroupId Long 광고그룹 ID
id Long 키워드 ID
text String 키워드
config String 키워드 상태
ON, OFF 중 하나
landingInfo LandingInfo 키워드 랜딩 URL 정보
bidStrategy BidStrategy 키워드 입찰전략
status String[] 운영 상태 정보
reviewStatus String[] 심사 상태 정보

Sample

Request
curl -X POST "https://api.keywordad.kakao.com/openapi/v1/keywords/5555555551" \
    -H "adAccountId: {adAccountId}"\
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "Content-Type: application/json" \
    -d '{
        "landingInfo": {
          "rspvLandingUrl": null,
          "pcLandingUrl": null,
          "mobileLandingUrl": null
        },
       "bidStrategy": {
         "type": "AD_GROUP",
         "bidAmount": null
       }
    }'
Response
{
  "adGroupId": "4444444441",
  "id": "5555555551",
  "text": "키워드1",
  "config": "ON",
  "landingInfo": {
    "rspvLandingUrl": null,
    "pcLandingUrl": null,
    "mobileLandingUrl": null
  },
  "bidStrategy": {
    "type": "AD_GROUP",
    "bidAmount": null
  },
  "status": [
    "OFF_BY_BIZ_CHANNEL_WAITING",
    "WAITING"
  ],
  "reviewStatus": "WAITING"
}

키워드 상태 바꾸기

기본 정보

PATCH /openapi/v1/keywords/${id}/onOff HTTP/1.1
Host: api.keywordad.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}

키워드의 상태를 ON 또는 OFF로 변경합니다. 키워드의 상태가 ON 또는 OFF일 경우만 변경 가능합니다.

액세스 토큰(Access token)과 광고계정 ID(adAccountId)를 헤더에 담아 PATCH로 요청합니다. 성공 시 HTTP 상태 코드 200에 응답 바디는 없습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.

Request

Header
Name Type Description Required
Authorization String 액세스 토큰
Bearer ${ACCESS_TOKEN} 형식으로 전달
O
adAccountId Long 광고계정 ID O
Parameter
Name Type Description Required
id Long 키워드 ID O
config String 키워드의 상태
ON, OFF 중 하나
O

Sample

Request

curl -X PATCH "https://api.keywordad.kakao.com/openapi/v1/keywords/55555555551/onOff" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: {adAccountId}" \
    -H "Content-Type: application/json" \
    -d '{
            "config": "OFF"
        }'
Response
HTTP/1.1 200 OK
Content-Length: 0
Content-type: application/json;charset=UTF-8

키워드 입찰가 수정하기

기본 정보

PATCH /openapi/v1/keywords/${id}/bidStrategy HTTP/1.1
Host: api.keywordad.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}

키워드의 기본입찰가를 수정합니다.

액세스 토큰(Access token)과 광고계정 ID(adAccountId)를 헤더에 담아 PATCH로 요청합니다. 성공 시 HTTP 상태 코드 200에 응답 바디는 없습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.

Request

Header
Name Type Description Required
Authorization String 액세스 토큰
Bearer ${ACCESS_TOKEN} 형식으로 전달
O
adAccountId Long 광고계정 ID O
Parameter
Name Type Description Required
id Long 키워드 ID O
bidStrategy BidStrategy 키워드 입찰전략 O

Sample

Request
curl -X PATCH "https://api.keywordad.kakao.com/openapi/v1/keywords/55555555551/bidStrategy" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: {adAccountId}" \
    -H "Content-Type: application/json" \
    -d '{
            "bidStrategy": {
                "type": "MANUAL",
                "bidAmount": 3000
            }
        }'
Response
HTTP/1.1 200 OK
Content-Length: 0
Content-type: application/json;charset=UTF-8

키워드 랜딩 URL 수정하기

기본 정보

PATCH /openapi/v1/keywords/${id}/landingInfo HTTP/1.1
Host: api.keywordad.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}

키워드의 랜딩 URL을 수정합니다.

액세스 토큰(Access token)과 광고계정 ID(adAccountId)를 헤더에 담아 PATCH로 요청합니다. 성공 시 HTTP 상태 코드 200에 응답 바디는 없습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.

Request

Header
Name Type Description Required
Authorization String 액세스 토큰
Bearer ${ACCESS_TOKEN} 형식으로 전달
O
adAccountId Long 광고계정 ID O
Parameter
Name Type Description Required
id Long 키워드 ID O
landingInfo LandingInfo 키워드 랜딩 URL 정보(미입력시 '랜딩 URL 미설정'으로 입력) X

Sample

Request
curl -X PATCH "https://api.keywordad.kakao.com/openapi/v1/keywords/55555555551/landingInfo" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: {adAccountId}" \
    -H "Content-Type: application/json" \
    -d '{
            "landingInfo": {
                "pcLandingUrl": "https://www.daum.net",
                "mobileLandingUrl": "https://www.daum.net"
            }
        }'
Response
HTTP/1.1 200 OK
Content-Length: 0
Content-type: application/json;charset=UTF-8

키워드 심사보류 사유 확인하기

기본 정보

GET /openapi/v1/keywords/(id}/reviewReason HTTP/1.1
Host: api.keywordad.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}

심사보류된 키워드의 상세 사유를 확인합니다.

액세스 토큰(Access token)과 광고계정 ID(adAccountId)를 헤더에 담아 GET으로 요청합니다. 성공 시 응답 바디에 JSON 객체로 심사보류된 키워드의 상세 정보 배열을 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.

Request

Header
Name Type Description Required
Authorization String 액세스 토큰
Bearer ${ACCESS_TOKEN} 형식으로 전달
O
adAccountId Long 광고계정 ID O
Parameter
Name Type Description Required
id Long 키워드 ID O

Response

Name Type Description
id Long 키워드 ID
reasons String[] 사유

Sample

Request
curl -X POST "https://api.keywordad.kakao.com/openapi/v1/keywords/5555555551/reviewReason" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: {adAccountId}"
Response
{
    "id": "55555555551",
    "reasons": [
      "신청하신 키워드는 사이트와 관련성이 부족한 키워드로 확인되어 광고 등록이 불가합니다.",
      "신청하신 키워드는 광고 소재 부적합 키워드로 분류되어 광고 등록이 불가합니다.
       - 비속어, 은어, 성인금칙어, 무리한 축약어",
      "신청하신 키워드는 결혼중개업 관련 키워드로 아래 가이드라인을 준수하셔야 등록이 가능합니다.
       * 필요서류 : 국내/외 결혼중개업등록증, 인허가보증보험증권(손해배상 청구절차 기재 시 미제출 가능)
       * 필요정보 : 상호, 대표자명, 신고번호 또는 등록번호, 사업자등록번호, 소재지의 사업장소재지(주소), 전화번호, 결혼중개업 수수료·회비 등을 기재한 표, 이용약관
 
       ※ 서류접수 방법
       * 관리시스템을 통한 서류접수 방법
       ① 카카오 키워드 광고 > 도구 > 심사서류관리
       ② 심사서류 등록하기 > 소재 심사용 > 확인
       * 팩스 : 02-2088-3434 (* 주의 : 계정번호, 비즈채널URL, 사이트명, 담당자명, 키워드 기재 요망)"
    ]
}

키워드 품질지수 보기

기본 정보

GET /openapi/v1/keywords/${id}/quality HTTP/1.1
Host: api.keywordad.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}

키워드의 품질지수 정보를 조회합니다.

액세스 토큰(Access token)과 광고계정 ID(adAccountId)를 헤더에 담아 GET으로 요청합니다. 성공 시 응답 바디에 JSON 객체로 품질지수를 받습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다

Request

Header
Name Type Description Required
Authorization String 액세스 토큰
Bearer ${ACCESS_TOKEN} 형식으로 전달
O
adAccountId Long 광고계정 ID O
Parameter
Name Type Description Required
id Long 키워드 ID O

Response

Name Type Description
id Long 키워드 ID
text String 키워드
quality Integer 품질지수

Sample

Request
curl -X GET "https://api.keywordad.kakao.com/openapi/v1/keywords/55555555551/quality" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: {adAccountId}" \
Response
{
  "id": "55555555551",
  "text": "키워드1",
  "quality": 2
}

키워드 삭제하기

기본 정보

DELETE /openapi/v1/keywords/${id} HTTP/1.1
Host: api.keywordad.kakao.com
Authorization: Bearer ${ACCESS_TOKEN}

키워드를 삭제합니다.

액세스 토큰(Access token)과 광고계정 ID(adAccountId)를 헤더에 담아 DELETE로 요청합니다. 삭제하려는 키워드의 ID를 파라미터로 지정해야 합니다. 성공 시 HTTP 상태 코드 200에 응답 바디는 없습니다. 실패 시 에러 코드 및 상세 에러 코드로 사유를 확인합니다.

Request

Header
Name Type Description Required
Authorization String 액세스 토큰
Bearer ${ACCESS_TOKEN} 형식으로 전달
O
adAccountId Long 광고계정 ID O
Parameter
Name Type Description Required
id Long 키워드 ID O

Sample

Request
curl -X DELETE "https://api.keywordad.kakao.com/openapi/v1/keywords/55555555551"
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    -H "adAccountId: {adAccountId}" \
Response: 성공
HTTP/1.1 200 OK
Content-Length: 0
Content-type: application/json;charset=UTF-8

더보기