요약. ASO에서 키워드 카니발리제이션이란 App Store의 제목, 부제목, 그리고 100자 키워드 필드에서 같은 단어를 반복하는 것을 말합니다. Apple은 단어를 반복한다고 해서 랭킹 신호를 더 쌓아 주지 않습니다. 반복은 그저 소중한 글자 수 예산을 낭비할 뿐입니다. 해결책은 이 세 필드를 하나의 연속된 키워드 풀로 취급하고, 필드를 가로질러 같은 단어를 절대 반복하지 않는 것입니다. 영국식 영어 철자로는 cannibalisation으로 쓰지만, 문제도 해결책도 동일합니다.
App Store에서 “키워드 카니발리제이션”이란
SEO(Google)의 세계에서 키워드 카니발리제이션은 보통 같은 사이트 안의 두 페이지가 같은 검색어를 두고 경쟁하는 것을 의미합니다. 반면 App Store에서는 앱 하나당 제품 페이지가 단 하나뿐이므로 “카니발리제이션”은 다른 의미를 가집니다. 이는 자기 자신의 메타데이터 필드들이 같은 키워드의 랭킹 비중을 두고 서로 경쟁하는 것을 가리킵니다.
Apple이 App Store 검색에 사용하는, 인덱싱 대상이 되는 세 개의 텍스트 필드는 다음과 같습니다.
- 앱 이름(제목) — 30자, 랭킹에 미치는 영향이 큼
- 부제목 — 30자, 랭킹에 미치는 영향이 큼
- 키워드 필드 — 100자, 사용자에게는 보이지 않지만 랭킹에 영향을 줌
카니발리제이션은 같은 단어가 이 세 필드 중 두 개 이상에 등장할 때 발생합니다. Apple의 알고리즘은 단어를 반복한다고 해서 랭킹 비중을 더 얹어 주지 않습니다. 각 단어는 한 번만 인덱싱되고 중복된 것은 무시됩니다. 즉, 중복된 단어는 모두 아무런 추가 효과 없이 소비해 버린 글자 수입니다.
구체적인 예시
예를 들어 제목이 “FitTracker — Workout & Gym Log”(30자)라고 해 봅시다.
흔한 실수는 부제목을 “Workout Log for the Gym”(24자)으로 쓰는 것입니다. 이 부제목은 의미 있는 단어 — Workout, Log, Gym — 가 모두 이미 제목에 등장하기 때문에 카니발리제이션을 일으키고 있습니다.
해결책은 부제목을 제목이 커버하지 못하는 검색어를 위해 사용하는 것입니다. 예를 들어 “Cardio, Strength & HIIT Plans”(29자)로 쓰면 제목과 상승효과를 내는 네 개의 새로운 키워드 토큰을 추가할 수 있습니다.
키워드 필드에도 같은 규칙을 적용합니다. FitTracker, Workout, Gym, Log, Cardio, Strength, HIIT, Plans를 반복해서는 안 됩니다. 이것들은 제목과 부제목에서 이미 전부 Apple에 인덱싱되어 있습니다. 100자는 완전히 새로운 검색어를 위해 사용하세요: running,yoga,abs,pilates,trainer,routine,muscle,fitness,exercise,calisthenics.
세 필드 전체에 같은 단어를 썼다면 총 160자 중 약 50자를 낭비한 셈이 됩니다. 각기 다른 검색어로 분산하면 같은 글자 수로 대략 두 배의 키워드를 커버할 수 있습니다.
내 메타데이터에서 카니발리제이션을 발견하는 방법
빠르게 점검하는 방법입니다.
- 제목, 부제목, 키워드 필드를 하나의 텍스트 문서에 복사한다
- 모두 소문자로 만든다
- 공백과 쉼표로 나눈다
- 중복되는 토큰을 찾는다
중복을 발견했다면, 그 중복은 글자 수를 낭비하고 있는 것입니다. 먼저 키워드 필드에서 삭제하세요(가장 유연하게 조정할 수 있는 필드입니다). 그런 다음 부제목이 제 역할을 하고 있는지 다시 살펴봅니다.
주의해야 할 흔한 카니발리제이션 패턴은 다음과 같습니다.
- 키워드 필드에 브랜드명 넣기. 앱 이름은 이미 인덱싱되어 있습니다. 키워드 필드에서 절대 반복하지 마세요.
- 제목과 부제목 양쪽에 카테고리 단어 넣기. 양쪽에 “Workout”. 양쪽에 “Tracker”. 양쪽에 “App”. 모두 한 칸씩 낭비입니다.
- 같은 어근의 복수형과 단수형. Apple은 대부분의 복수형을 자동으로 스테밍(어간 처리)합니다. 알고리즘상 Workout과 workouts는 같은 토큰으로 취급되므로 둘 중 하나만 사용하세요.
- “app”이라는 단어. 한 칸을 할애할 가치가 거의 없습니다. “fitness app”이라고 검색하면서 App Store 결과를 기대하는 사람은 없으니까요.
현지화로 인한 카니발리제이션(가장 많은 팀이 놓치는 부분)
여러 언어로 메타데이터를 배포하고 있다면, 각 스토어프런트마다 30+30+100자의 예산이 따로 있습니다. 두 언어에서 완전히 동일한 단어(대부분의 브랜드명, 그리고 여러 언어에서 공통으로 등장하는 gym이나 yoga 같은 영어 유래 단어)는, 첫 번째 로케일의 제목에 이미 등장하고 크로스 로컬라이제이션을 사용하고 있다면 두 번째 로케일의 키워드 필드에서 반복할 필요가 없습니다.
이것이 바로 크로스 로컬라이제이션 기법입니다. Apple은 앱이 지원하는 활성 로케일 어디에서든 키워드를 인덱싱합니다. 그래서 영어 제목에 gym이 들어 있고, 독일어 부제목에 fitness가 들어 있으며, 독일어 키워드 필드에는 완전히 새로운 독일어 검색어가 들어 있다면, 두 스토어프런트 모두에서 그 모든 것의 합집합에 대해 랭킹에 오를 수 있습니다.
대부분의 인디 앱은 로케일을 하나의 통합된 키워드 풀로 취급하지 않고 메타데이터를 1:1로 번역해 버리기 때문에, 로케일을 가로질러 카니발리제이션을 일으킵니다. 해결책은 로케일별이 아니라 포트폴리오 전체(모든 로케일을 아우르는 단위)에서 키워드 전략을 설계하는 것입니다.
빠른 체크리스트
메타데이터 업데이트를 게시하기 전에 다음 항목을 점검하세요.
- 제목과 부제목 양쪽에 등장하는 단어가 없다
- 제목이나 부제목의 단어가 키워드 필드에 등장하지 않는다
- 복수형은 한 번만 사용한다(단수형이나 복수형 중 하나를 삭제)
- 브랜드명은 제목에만 등장한다
- 키워드 필드에 “app”이라는 단어가 없다
- 현지화한 경우: 두 활성 로케일의 키워드 필드에서 완전히 동일한 단어가 반복되지 않는다
Marteso는 이를 어떻게 처리하는가
Marteso의 AI 메타데이터 옵티마이저는 카니발리제이션을 자동으로 감지합니다. 제목, 부제목, 키워드 필드를 편집하면 옵티마이저는 다음을 수행합니다.
- 둘 이상의 필드에 등장하는 모든 단어를 강조 표시
- 중복으로 인해 낭비되는 글자 수를 표시
- 키워드 리서치에서 추출한 완전히 새로운 대체 검색어를, 검색량과 난이도순으로 정렬해 제안
여러 로케일 구성에서는 카니발리제이션 검사가 모든 활성 스토어프런트를 가로질러 실행되므로, 로케일별 문제뿐 아니라 포트폴리오 수준의 충돌까지 확인할 수 있습니다.