이제 AI 모델이 고객들이 예전에는 구글에 검색하던 질문들에 답하고 있습니다. 만약 귀사의 브랜드가 그 답변에 포함되지 않는다면, 귀사는 거의 존재하지 않는 것과 다름없으며, 아마 그 사실조차 모르고 계실 것입니다. 저는 바로 이 점을 정확히 추적할 수 있는 무료 오픈소스 도구를 개발했습니다. 여기 제가 알게 된 사실과, Bright Data의 스크레이퍼 API만이 이를 가능하게 한 유일한 인프라였던 이유를 소개합니다.
간단한 요약:
- GEO/AEO 트래커는 6개의 AI 모델을 동시에 추적하는 무료 오픈소스 AI 가시성 대시보드입니다.
- 이 도구는 Bright Data의 LLM 스크레이퍼를 사용하여 ChatGPT, Gemini, Perplexity, Grok, Copilot 및 Google AI Mode에 쿼리를 전송합니다.
- Bright Data는 단일 API 패턴을 통해 모델별 구조화된 출력(인용, 출처, 답변 텍스트)을 제공합니다.
- 기업용 유료 도구는 월 200~600달러의 비용이 들며 데이터를 잠그지만, 이 스택은 쿼리당 몇 센트의 일부만 비용이 들며 모든 데이터는 로컬에 저장됩니다.
- SRO 파이프라인은 Bright Data의 SERP API, Web Unlocker 및 LLM 스크레이퍼를 하나의 종단간 워크플로우에서 사용합니다.
- 모든 데이터는 사용자의 환경에 저장됩니다. 벤더 종속성이나 외부 데이터베이스가 없습니다.
아직 아무도 완전히 해결하지 못한 GEO 문제
2026년 초 기준 ChatGPT의 주간 활성 사용자 수는 9억 명을 넘어섰습니다. 현재 전체 검색의 약 16%에서 Google AI 개요가 표시됩니다. 또한 AI 검색 엔진을 통해 유입되는 트래픽은 기존 자연 검색 방문자보다 전환율이 23배 더 높습니다. Ahrefs는 자체 데이터를 통해 이를 확인했으며, AI 소스에서 유입된 트래픽의 0.5%가 전체 가입자의 12.1%를 차지한다는 사실을 발견했습니다.
맥킨지는 2028년까지 미국 내 7,500억 달러의 매출이 AI 기반 검색을 통해 발생할 것으로 전망합니다. 이는 단순히 미래의 상황을 예측한 것이 아닙니다. 누군가 ChatGPT에 “어떤 CRM을 사용해야 할까요?”라고 묻거나, Perplexity에 “최고의 프로젝트 관리 소프트웨어는 어디에서 만들까요?”라고 질문할 때마다, 검색어 하나하나를 통해 이미 현실화되고 있는 현상입니다.
측정할 수 없는 것은 최적화할 수 없습니다. 그리고 AI 노출도를 측정하는 것은 비용이 너무 많이 들거나, 범위가 너무 제한적이거나, 혹은 두 가지 모두에 해당해 왔습니다.
제가 만든 것: 60초 만에 알아보는 GEO/AEO 트래커
GEO/AEO 트래커는 오픈소스 기반의 ‘로컬 우선’ AI 가시성 인텔리전스 대시보드입니다. API 키 없이도 지금 바로 라이브 데모를 체험해 보실 수 있습니다.
이 도구는 ChatGPT, Perplexity, Gemini, Grok, Google AI Mode, Microsoft Copilot 전반에서 귀하의 브랜드를 동시에, 병렬로 추적하며, 모든 데이터는 IndexedDB를 통해 브라우저에 로컬로 저장됩니다. 외부 데이터베이스 없음. 벤더 종속 없음.
13가지 기능, 6가지 AI 모델, 벤더 종속성 제로
제가 이 도구를 만든 이유는 계속해서 같은 문제에 부딪혔기 때문입니다. 평가해 본 모든 도구는 비용이 너무 비싸거나, 특정 생태계에 묶이게 하거나, 지원 모델이 충분하지 않았습니다. 그래서 제가 직접 사용하고 싶은 도구를 만들었습니다.
실제 브랜드 추적에 가장 중요한 기능:
Prompt Hub는 6가지 모델 모두에 대해 어떤 프롬프트든 동시에 실행합니다. 경쟁사 관련 검색어를 추적하는 제품 마케팅 팀에게 이는 6개의 개별 실험을 수행하는 것과 하나의 실험을 수행하는 것의 차이를 의미합니다. 전체 프롬프트 라이브러리를 관리하고, {brand} 삽입을 통해 동적 치환을 수행하며, 일괄 실행을 트리거할 수 있으며, 이 모든 작업을 병렬로 처리할 수 있습니다.
Visibility Analytics는 브랜드 언급률, 응답 내 위치, 인용 빈도, 시간 경과에 따른 감정 분석을 바탕으로 0~100점의 점수를 제공합니다. 이는 CMO가 20장짜리 설명 자료 없이도 상부에 보고할 수 있는 핵심 성과 지표(KPI)입니다. 또한 CSV 파일로 내보낼 수 있습니다.
‘인용 기회(Citation Opportunities)’는 제가 가장 자랑스럽게 생각하는 기능입니다. 이 기능은 경쟁사가 인용되는 URL 중 귀사가 노출되지 않는 부분을 보여줍니다. 이는 콘텐츠 격차와 링크 구축 인텔리전스를 자동으로 제공하는 직접적인 정보원입니다.
SRO 분석 (자세한 내용은 아래 참조)은 특정 페이지가 AI 검색 결과에 얼마나 잘 최적화되어 있는지 0에서 100점까지 점수화하고, 우선순위가 지정된 실행 가능한 권장 사항을 제공하는 6단계 파이프라인입니다. 이 기능은 단일 워크플로우 내에서 여러 Bright Data 제품을 활용합니다.
Drift Alerts는 가시성 점수가 크게 변동할 때 자동으로 발동됩니다. AI 답변 내 브랜드 평판의 변화는 빠르게 누적될 수 있습니다. 월간 검토 시점에 파악하는 것과는 달리, 며칠 내에 이를 인지하는 것은 완전히 다른 차원의 문제입니다.
왜 Bright Data만이 유일한 실행 가능한 기반이었는가
이 부분은 개발 과정 중 대부분이 간과하는 부분이지만, 이 도구가 매주 오류가 발생하지 않고 실제 운영 환경에서 안정적으로 작동하는 근본적인 이유입니다.
아무도 언급하지 않는 스크래핑 과제
ChatGPT, Perplexity, Gemini, Grok, Google AI Mode, Copilot은 모두 다음과 같은 특징을 공유합니다:
- 전적으로 자바스크립트로 렌더링됩니다. 단순한 HTTP 요청으로는 유용한 정보를 얻을 수 없습니다.
- 봇 차단이 매우 강력합니다. 자동화된 트래픽 패턴을 감지하여 차단합니다. 브라우저 지문 인식, CAPTCHA, 행동 분석 등 가장 일반적인 스크래핑 방지 기술들이 이 플랫폼들 전반에 걸쳐 동시에 적용되고 있습니다.
- 구조적으로 서로 다릅니다. 각 플랫폼은 서로 다른 형식으로 데이터를 반환합니다. Perplexity는 인라인 출처가 포함된 마크다운을 사용합니다. Gemini는 인용 정보를 별도의 구조화된 배열로 반환합니다. Grok은
answer_text_markdown과함께response_raw필드를 가지고 있습니다. - 지리적 위치에 따라 달라집니다. 동일한 프롬프트라도 요청이 발생한 것으로 보이는 국가에 따라 다른 답변과 다른 인용 정보를 반환할 수 있습니다.
이 여섯 가지 플랫폼 모두를 위해 스크래퍼를 처음부터 구축하고 유지 관리하려면 주거용 프록시 인프라, CAPTCHA 해결, 세션 관리, 모델 간 응답 정규화, 비동기 응답 폴링, 그리고 플랫폼이 구조를 업데이트할 때마다 지속적인 유지 관리가 필요합니다. 이는 추적 로직을 한 줄도 작성하기 전에 수개월에 걸친 엔지니어링 작업이 소요된다는 것을 의미합니다.
Bright Data는 이 모든 과정을 모델당 단 한 번의 API 호출로 간소화합니다.
6개의 스크래퍼, 하나의 API 키: 코드에서 작동 방식
brightdata-scraper.ts의 핵심 통합 코드는 6개 제공업체 모두에 걸쳐 다음과 같은 간단하고 반복 가능한 패턴을 따릅니다:
// 1단계: Bright Data 데이터셋 엔드포인트로 POST 요청
const scrapeResponse = await fetch(
`https://api.brightdata.com/datasets/v3/scrape?dataset_id=${datasetId}&format=json`,
{
method: "POST",
headers: { Authorization: `Bearer ${BRIGHT_DATA_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
input: [{ url: providerBaseUrl[provider], prompt: request.prompt, index: 1 }]
}),
}
);
// 2단계: 비동기 응답 처리 — 스냅샷 준비 상태 확인
if (scrapeResponse.status === 202) {
const { snapshot_id } = await scrapeResponse.json();
await monitorUntilReady(snapshot_id); // 2초마다 /progress/{id} 폴링
payload = await downloadSnapshot(snapshot_id); // GET /snapshot/{id}?format=json
}
// 3단계: 결과 정규화
const answer = normalizeAnswer(record); // 6가지 모델 형식 모두 처리
const sources = extractSourcesFromAnswer(answer); // 텍스트 + 구조화된 인용문 병합
모든 모델은 이 동일한 패턴을 사용합니다. 유일하게 달라지는 것은 데이터셋 ID(dataset_id)로, 제공업체별로 하나의 환경 변수가 지정됩니다: BRIGHT_DATA_DATASET_CHATGPT, BRIGHT_DATA_DATASET_PERPLEXITY 등입니다.
이것이 바로 아키텍처입니다: 하나의 통합 패턴, 여섯 가지 모델, 매번 일관된 구조화된 출력.
구조화된 출력의 실제 모습
각 Bright Data 스크레이퍼는 모델별 필드를 반환합니다. normalizeAnswer() 함수는 모델 간 형식 차이를 처리하여 애플리케이션의 나머지 부분이 일관된 인터페이스를 볼 수 있도록 합니다:
| 모델 | 반환되는 주요 필드 |
|---|---|
| ChatGPT | answer_text, links_attached, citations, recommendations, country |
| Perplexity | answer_text_markdown, sources, source_html, is_shopping_data |
| Gemini | answer_text, citations, links_attached, index, country |
| Grok | answer_text, answer_text_markdown, citations, response_raw |
| Google AI 모드 | 답변 텍스트, 인용, 첨부 링크, 색인, 국가 |
| Copilot | answer_text_markdown, sources, answer_section_html, index |
정규화 레이어는 먼저 answer_text를 확인하고, answer_text_markdown으로 대체되며, 그 다음 response_raw를 확인한 후 원시 레코드에 대해 심층 재귀 추출을 수행합니다. Bright Data는 플랫폼별 복잡성을 처리하고, 애플리케이션은 크로스 플랫폼 정규화를 처리합니다. 관심사의 명확한 분리입니다.
SRO 파이프라인: 하나의 기능에 담긴 Bright Data의 풀스택
SRO 분석은 트래커 내에서 기술적으로 가장 복잡한 기능이며, 동시에 Bright Data의 인프라가 대규모 환경에서 무엇을 가능하게 하는지 가장 명확하게 보여주는 사례입니다.
개념: 특정 페이지가 AI 검색 결과에 얼마나 잘 최적화되었는지 0에서 100점까지 점수를 매기고 구체적인 권장 사항을 제공합니다. 이 점수를 산출하는 6단계 파이프라인은 다음과 같습니다:
1단계: 제미니 그라운딩(Gemini Grounding). Google Gemini API를 사용하여 AI 시스템이 해당 페이지를 어떻게 인식하는지 파악합니다. 여기에는 주제, 권위 신호, 콘텐츠 구조 등이 포함됩니다.
2단계: 크로스 플랫폼 인용. scrapeAllPlatforms() 를 통해 6개의 Bright Data LLM 스크레이퍼를 모두 병렬로 호출하여, ChatGPT, Perplexity, Gemini, Grok, Google AI Mode, Copilot에서 관련 키워드를 검색했을 때 대상 URL이나 도메인이 인용되는지 확인합니다.
3단계: SERP 분석. Bright Data의 SERP API를 사용하여 해당 키워드의 자연 검색 순위 데이터를 가져옵니다. 페이지가 자연 검색에서 1위를 차지하지만 어떤 AI 답변에도 인용되지 않는다면, 이는 표면화할 가치가 있는 GEO 갭입니다.
4단계: 페이지 스크래핑. Bright Data의 Web Unlocker를 사용하여 실제 페이지 콘텐츠를 가져오고, 구조, 깊이, 핵심 요약(BLUF) 밀도, 헤딩 계층 구조, 스키마 마크업을 분석합니다. 유료 장벽이나 봇 차단 없이 진행됩니다.
5단계: 사이트 컨텍스트. 다시 Bright Data의 Web Unlocker를 사용하여 홈페이지를 가져오고, AI 시스템이 출처를 인용할지 여부를 결정할 때 사용하는 브랜드 권위 신호를 추출합니다.
6단계: LLM 분석. 위의 모든 내용을 종합하여 최종 SRO 점수와 우선순위가 지정된 권장 사항 목록을 도출합니다. 어떤 부분을 먼저 수정해야 하는지, 어떤 콘텐츠 공백이 존재하는지, AI 인용 측면에서 경쟁사가 어떤 부분에서 우위를 점하고 있는지 등을 파악합니다.
단 하나의 기능. 6가지 Bright Data 제품 통합. 그 결과, 기업 팀이 처음부터 구축하려면 수개월이 걸릴 감사 워크플로가 완성되며, 이것이 바로 핵심입니다.
기업 활용 사례: 기업들이 실제로 이를 어떻게 활용하고 있는지
이 트래커는 오픈 소스이지만, 이를 뒷받침하는 인프라(Bright Data의 LLM 스크래퍼 API)야말로 실제 기업 워크로드에 대응할 수 있는 확장성을 제공합니다. 실제 적용 사례는 다음과 같습니다.
대규모 브랜드 평판 모니터링
중견 SaaS 기업의 CMO는 다음 사항을 파악해야 합니다. 사용자가 ChatGPT에 “[제품 카테고리] 중 어떤 것을 신뢰해야 하나요?”라고 물었을 때, ChatGPT는 무엇을 대답하나요? 답변은 정확한가요? 감정은 긍정적인가요? 브랜드가 언급되기는 했나요?
추적 도구가 없다면, 3개월 뒤에야 잠재 고객이 AI에게 물어봤더니 경쟁사를 추천받았다는 말을 듣고서야 알게 됩니다. 이 트래커를 사용하면 매주 평판에 민감한 프롬프트를 일괄 실행할 수 있고, 감정이 변하면 드리프트 알림이 발동되며, ‘인용 기회(Citation Opportunities)’ 탭에서는 AI의 답변을 바꾸기 위해 어떤 콘텐츠를 제작하거나 어떤 백링크를 확보해야 하는지 정확히 보여줍니다. 더 심층적인 분석을 원하는 팀을 위해, Bright Data의 SDK를 활용해 자동화된 브랜드 평판 모니터링 워크플로를 구축하는 방법에 대한 상세한 안내가 마련되어 있습니다.
영업 팀을 위한 경쟁 정보
영업 지원 및 제품 마케팅 팀은 특정한 문제에 직면해 있습니다. 바로 자신들에게 해당해야 할 검색어에 대해 AI 답변에 경쟁사가 나타나는 현상입니다. 이들은 어떤 검색어인지, 어떤 모델인지, 왜 그런지, 그리고 어떻게 대처해야 할지 알지 못합니다.
‘경쟁사 배틀카드(Competitor Battlecards)’ 탭은 AI를 활용해 귀사의 브랜드와 경쟁사 간의 나란히 비교 결과를 생성합니다. 인용 격차 분석은 경쟁사가 인용된 반면 귀사는 인용되지 않은 URL을 정확히 보여줍니다. 이는 과거에 정보 기관들이 연간 5만 달러를 청구하며 제공하던 종류의 인텔리전스였습니다.
다중 브랜드 또는 에이전시 팀을 위한 GEO 전략
12개 브랜드를 관리하는 에이전시는 브랜드당 월 500달러의 AI 가시성 추적 비용을 감당할 수 없습니다. 비용 계산만으로도 금방 한계에 부딪히게 됩니다.
이 트래커의 다중 워크스페이스 지원 및 BYOK(Bring Your Own Key) 모델을 통해 Bright Data API 사용량에 대해서만 비용을 지불하면 됩니다. 1,000건당 1.50달러의 종량제 요금제로, 10개의 프롬프트와 6개의 모델을 포함한 전체 주간 추적 배치를 실행하는 데 드는 비용은 브랜드당 몇 센트에 불과합니다. 10개 브랜드를 추적하는 비용이 SaaS 라이선스 1개 가격보다 저렴합니다.
SEO 고객을 위한 기술적 GEO 감사
SEO 고객이 “우리 사이트는 지리적 최적화가 되어 있나요?”라고 물었을 때, 도구를 사용하지 않고는 명확한 답변을 내리기 어렵습니다. SRO 분석은 이러한 상황을 바꿉니다. 이 분석은 페이지당 0~100점의 점수와 구체적인 우선순위 목록을 제공합니다: 스키마 마크업 수정, 첫 문단의 핵심 문구(BLUF) 밀도 향상, 다음 세 도메인으로부터의 인용 확보 등입니다. 이는 “AI 최적화가 중요하다”고만 말하는 감사와 “이번 주에 해야 할 5가지 사항이 여기 있습니다”라고 말하는 감사의 차이입니다. 이러한 다중 에이전트 GEO 최적화 워크플로우를 엔드투엔드로 구축하는 방법을 알고 싶다면, CrewAI와 함께하는 GEO 및 SEO 콘텐츠 최적화 가이드에서 그 과정을 자세히 확인할 수 있습니다.
데이터 주권 요구 사항
기업의 조달 및 법무 팀은 정당한 우려를 가지고 있습니다. 브랜드 추적 데이터를 제3자 SaaS 공급업체의 서버로 전송할 수 없다는 점입니다. 이로 인해 기업 수준에서 거의 모든 상용 GEO 도구의 도입이 차단됩니다.
트래커의 로컬 우선 아키텍처(IndexedDB + localStorage) 덕분에 Bright Data는 API를 통해 구조화된 데이터를 전달하며, 해당 데이터의 저장 위치는 기업이 결정합니다. Bright Data 자체는 SOC 2 Type II, ISO 27001, GDPR 및 CCPA를 준수하므로 기업 보안 심사를 통과합니다. 데이터 흐름은 투명합니다: 구조화된 응답 입력 → 로컬 스토리지 저장 → 중개자 없음.
유사한 솔루션을 구축하려는 경우의 의미
이 트래커는 Bright Data의 LLM 스크래퍼 API를 활용한 하나의 애플리케이션입니다. 이 애플리케이션이 실행되는 인프라는 범용적입니다.
AI 모니터링 대시보드, 브랜드 인텔리전스 도구, 경쟁사 분석 제품, 또는 대규모로 AI 모델을 쿼리하여 구조화된 데이터를 반환해야 하는 어떤 애플리케이션을 구축하든, 그 구성 요소는 동일합니다. 이러한 사용 사례에 대해 어떤 솔루션이 있는지 파악하려면, 상위 SERP 및 웹 검색 API 비교 자료를 참고하면 전체적인 현황을 잘 파악할 수 있습니다. 195개국에 걸쳐 1억 5천만 개 이상의 주거용 IP를 보유한 Bright Data의 네트워크는 AI 플랫폼이 실제 사용자 트래픽을 확인할 수 있도록 합니다. 99.99%의 가동 시간을 보장하므로 화요일 아침에 자동화 파이프라인이 조용히 중단되는 일이 없습니다. 최대 5,000개의 URL을 처리할 수 있는 대량 요청 기능을 통해 단일 작업으로 엔터프라이즈급 배치 추적을 실행할 수 있습니다. S3, GCS, Snowflake, Azure 및 SFTP로의 출력 전송을 지원하므로 데이터를 기존 스택에 바로 통합할 수 있습니다.
이러한 스크래퍼를 완전한 자율 파이프라인으로 통합할 최고의 AI 에이전트 프레임워크를 고려 중이라면, 이는 자연스러운 다음 단계입니다. 모든 주요 프레임워크는 Bright Data와 직접 연동됩니다.
문제는 AI 가시성을 추적할지 여부가 아닙니다. 발견한 내용을 바탕으로 조치를 취할 인프라를 얼마나 빨리 구축할 수 있는지가 핵심입니다.
Bright Data의 LLM 스크래퍼 시작하기
GEO/AEO 트래커의 자체 인스턴스를 실행하려면 리포지토리를 클론하고 Bright Data API 키를 추가하세요. 10분 이내에 서비스를 시작할 수 있습니다:
git clone https://github.com/danishashko/geo-aeo-tracker.git
cd geo-aeo-tracker && npm install
# .env 파일에 BRIGHT_DATA_KEY 및 6개의 데이터셋 ID 추가
npm run dev
6개의 Bright Data 스크래퍼 데이터셋 ID( ChatGPT 스크래퍼 API, Perplexity 스크래퍼, Gemini 스크래퍼, Grok 스크래퍼, Google AI Mode 스크래퍼, Copilot 스크래퍼용)는 계정을 생성하면 Bright Data 스크래퍼 마켓플레이스에서 바로 확인할 수 있습니다.
기업 규모로 맞춤형 솔루션을 구축하려는 경우, LLM 스크레이퍼가 인프라 계층을 제공합니다. 두 가지 방법 모두 동일한 시작점, 즉 무료 Bright Data 체험판에서 시작됩니다.