AI 검색이 D2C 퍼널을 재편하는 방식
D2C 브랜드의 AI 검색 풀퍼널 설계는 콘텐츠를 AI 친화적으로 바꾸는 수준의 작업이 아니다. ChatGPT Search, Perplexity, Google AI Overviews는 크롤 → 색인 → 랭킹 → 답변 생성이라는 4단계 파이프라인에서 신호를 수집하며, 이 과정에서 전통 퍼널의 인지·고려·전환이 단일 쿼리 안에 통합된다. "30대 민감성 피부에 맞는 비건 선크림 추천"이라는 쿼리는 인지, 고려, 구매 의도를 동시에 처리한다. 따라서 퍼널 단계별로 크롤러 접근성, 구조화 데이터 신호, 쿼리 유형 매핑을 분리 설계하지 않으면 어느 단계에서도 인용 후보에 오르지 못한다.
발견 단계: AI 크롤러 접근성과 브랜드 엔티티 구축
robots.txt 분리 전략
GPTBot(OpenAI), ClaudeBot(Anthropic), PerplexityBot은 각각 독립적인 크롤러다. 일괄 차단하면 LLM 실시간 검색 색인에서도 누락된다. D2C 브랜드에게 권장하는 설정은 결제·계정 경로만 차단하고 제품·리뷰·비교 경로를 명시적으로 허용하는 방식이다.
# robots.txt — D2C 기준
User-agent: GPTBot
Disallow: /checkout/
Disallow: /account/
Allow: /products/
Allow: /reviews/
Allow: /compare/
User-agent: ClaudeBot
Disallow: /checkout/
Allow: /products/
Allow: /blog/
User-agent: PerplexityBot
Allow: /
# llms.txt (루트, Markdown 형식)
# 브랜드 요약 단락 + 핵심 제품 카테고리 URL + FAQ 링크
# Perplexity 등 일부 크롤러가 참조 사례 있음 (공식 확인 없음, 추정)
- 왜: AI 봇을 차단하면 LLM 훈련 데이터 풀에서 제외돼 중장기적으로 브랜드 엔티티 인지도가 낮아진다.
- 어떻게: Nginx/Cloudflare 로그에서
User-Agent: GPTBot패턴을 필터링해 실제 크롤 빈도와 수집 URL을 주 단위로 확인한다.
Organization JSON-LD로 브랜드 엔티티 등록
- 왜: LLM은 답변 생성 시 엔티티 신뢰도를 참조하며, Organization 스키마가 명시적으로 브랜드를 선언할수록 인용 가능성이 높아진다.
- 어떻게: 홈페이지
<head>에@type: Brand를 포함한 Organization JSON-LD를 삽입하고,sameAs에 Wikidata·공식 SNS URL을 연결한다.
고려 단계: Product·Review JSON-LD와 비교 쿼리 매핑
AI 검색에서 고려 단계 쿼리는 "A vs B", "성분 비교", "추천" 형태가 많다. LLM이 이 쿼리에 응답할 때 구조화된 제품 정보를 인용하는지 여부는 Product 스키마 완성도와 직결된다.
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "비건 선크림 SPF50+",
"brand": { "@type": "Brand", "name": "YourBrand" },
"description": "무기자차 성분, 백탁 없음, 비건 인증, 민감성 피부 임상 테스트 완료.",
"sku": "SUN-VG-50-50ML",
"offers": {
"@type": "Offer",
"url": "https://yourbrand.com/products/vegan-sunscreen",
"priceCurrency": "KRW",
"price": "28000",
"availability": "https://schema.org/InStock",
"priceValidUntil": "2026-12-31"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "312"
},
"review": [{
"@type": "Review",
"reviewRating": { "@type": "Rating", "ratingValue": "5" },
"author": { "@type": "Person", "name": "김지수" },
"reviewBody": "민감성 피부에도 자극 없고 백탁 전혀 없어요. 재구매 3회째."
}]
}
</script>
- aggregateRating 필수: LLM이 "리뷰 좋은 선크림" 쿼리에 인용 후보를 고를 때
ratingValue와reviewCount를 명시적 신호로 활용한다. 수치가 없으면 후보에서 탈락한다. - description 키워드 정렬: "비건 인증, 무기자차, 백탁 없음"처럼 쿼리 키워드와 일치하는 구체적 속성을 직접 기재한다. "피부가 빛나는" 같은 마케팅 문구는 LLM 매칭에 기여하지 않는다.
- 비교 콘텐츠 전용 URL:
/compare/vegan-vs-mineral-sunscreen패턴의 페이지를 별도 운영한다. LLM은 비교 쿼리 처리 시 명시적 비교 구조를 가진 페이지를 우선 인용하는 경향이 있다(플랫폼별 상이, 추정).
전환 단계: Offer 최신성과 구매 의도 쿼리 포착
"지금 구매 가능한 비건 선크림", "비건 선크림 최저가" 같은 구매 의도 쿼리에서 AI 검색은 Offer 스키마의 availability와 price를 실시간 신호로 처리한다. JSON-LD가 최신 값으로 유지되지 않으면 "현재 구매 가능"이라는 맥락을 LLM 답변에서 놓친다.
- availability 동적 갱신: 재고 소진 시
InStock을OutOfStock으로 즉시 교체한다. SSR 또는 CDN 엣지 함수를 사용해 재고 상태를 JSON-LD에 반영한다. - priceValidUntil 필수: 날짜 없는 가격 정보는 AI 크롤러가 캐시 시점 기준으로 처리해 오래된 가격을 인용할 수 있다. 상시 판매라면 1년 단위 롤링으로 설정한다.
- HowTo 스키마 추가: "올바른 선크림 사용법" 쿼리는 구매 직후 재확인 쿼리다. HowTo를 제품 상세 페이지에 삽입하면 구매 후 검색에서도 브랜드 콘텐츠가 인용되어 재구매 경로로 이어진다.
퍼널 단계별 신호와 측정 비교
| 퍼널 단계 | 전통 SEO 신호 | AEO/GEO 신호 | 측정 방법 |
|---|---|---|---|
| 발견(Awareness) | 제목 태그, 메타 설명, 백링크 수 | Organization JSON-LD, llms.txt, robots.txt 허용 범위 | 서버 로그 AI 봇 크롤 빈도, 수집 URL 수 |
| 고려(Consideration) | 체류 시간, CTR, 페이지뷰 | Product/FAQ/Review JSON-LD 완성도, 비교 콘텐츠 구조 | LLM 답변 인용 빈도(수동 샘플링, Brand24, Perplexity API) |
| 전환(Conversion) | 전환율, 장바구니 이탈률 | Offer InStock 최신성, 가격 유효기간, HowTo | AI 유입 세그먼트 전환율(UTM: source=chatgpt 등) |
| 리텐션(Retention) | 재방문율, 이메일 오픈율 | 재구매 쿼리 인용, HowTo, FAQ 콘텐츠 | 재구매 쿼리에서 브랜드 언급 점유율 |
흔한 함정: Search Console 리치 결과 = AI 검색 인용이라는 착각
Google Rich Results Test에서 적격 판정을 받았다고 ChatGPT Search나 Perplexity에 자동 반영되지 않는다. Google AI Overviews는 Knowledge Graph와 크롤 콘텐츠를 혼합 참조하며, ChatGPT Search는 Bing 색인 또는 GPTBot 자체 크롤 결과를 사용한다. Search Console에서 리치 결과 적격이더라도 GPTBot이 해당 URL을 수집하지 않았다면 ChatGPT 답변에는 등장하지 않는다.
올바른 처리: 구조화 데이터 유효성(Google Rich Results Test)과 AI 봇 크롤 접근성(Nginx·Cloudflare 로그에서 GPTBot·ClaudeBot User-Agent 필터링)을 분리해 각각 검증한다. AI 봇이 크롤하지 않은 URL은 robots.txt와 서버 방화벽 규칙을 우선 점검한다.
ChatGPT Search에서 제품 인용을 확률적으로 높이는 실질적인 방법은 무엇인가요?
OpenAI는 인용 결정 알고리즘을 공개하지 않으므로 "강제" 방법은 없다. 인용 가능성을 높이는 신호는 세 가지다. 첫째, GPTBot이 제품 URL을 실제로 크롤하는지 서버 로그로 주 단위 확인한다. 둘째, Product JSON-LD의 description·aggregateRating·offers가 최신 값인지 점검한다. 셋째, 독립적인 외부 미디어(기술 블로그, 인플루언서 리뷰)가 해당 제품 URL을 앵커 텍스트와 함께 링크하면 LLM 훈련 데이터와 실시간 색인 양쪽에서 신뢰도 신호로 작용한다. "강제 인용"보다 "인용 거부 이유 제거"가 현실적인 접근이다.
AI 검색 유입 트래픽을 Google Analytics 4에서 별도 세그먼트로 추적할 수 있나요?
Perplexity, You.com은 HTTP Referer 헤더에 출처 도메인을 포함하므로 GA4의 session_source가 perplexity.ai로 집계된다. ChatGPT Search는 Referer를 전달하지 않는 경우가 있어 direct/(none)으로 잡힌다. 분리 추적을 위해서는 AI 플랫폼 링크에 UTM 파라미터를 삽입하거나, 서버 액세스 로그에서 ChatGPT-User User-Agent를 별도 집계한 뒤 해당 시간대의 direct 트래픽과 대조하는 다중 신호 삼각측정을 사용한다. 현 시점에서 완전한 attribution은 어렵고, 플랫폼별 API가 정비될 때까지 근사치 측정이 현실적이다.
참고 자료
이 글의 권고는 아래 공식 문서·연구를 근거로 합니다.