구매자가 에이전트인 시대의 사이트: 준비 상태 체크리스트

2026년 9월 9일 OpenAI가 자율 에이전트를 실행하는 별도 서비스를 공개했습니다. 과제를 받아 끝까지 수행하는 프로그램, 주문 완료까지 포함해서 처리하는 프로그램입니다. 즉 쇼핑몰에 눈으로 상품 페이지를 보지 않고 데이터를 읽는 구매자가 들어온다는 뜻입니다. OpenAI의 커머스 관련 문서를 다시 읽고 수정 사항을 하나의 목록으로 묶었습니다. 그런 구매자가 버튼까지 도달하고 캡차에 걸려 멈추지 않으려면 마크업, 피드, 결제에 무엇이 있어야 하는지에 대한 목록입니다.
에이전트가 일반 검색 로봇과 다른 점
검색 로봇은 페이지를 색인에 넣고 나중에 사람에게 링크를 보여주기 위해 옵니다. 그다음 판단은 사람이 합니다. 사이즈를 고르면 가격이 나타난다는 것을 사람은 알아채고, 뉴스레터 구독 팝업도 닫습니다.
에이전트는 그렇게 못 합니다. 에이전트는 행동을 수행합니다. 상품을 고르고, 장바구니에 넣고, 결제를 전달합니다. 사람이 직관으로 통과하는 모든 것이 프로그램에게는 데이터에 명시적으로 적혀 있어야 합니다. 가격, 재고, 배송 기간, 반품 조건.
구매 자체가 이제 상품 페이지에만 살지 않습니다. Snapchat은 2026년 9월 13일 개인 메시지 안에 상품 카드를 넣었습니다. 예전에는 앱 안의 쇼핑 탭에서만 보여줬지만, 이제 상품을 대화창으로 상대에게 보낼 수 있습니다. 이때 사이트는 열리지 않고, 구매자에게 도달하는 모든 것은 여러분의 디자인이 아니라 여러분의 데이터에서 나옵니다.
Instant Checkout과 ACP: 채팅 안에서 구매가 일어나는 지점
Instant Checkout은 쇼핑몰 사이트로 이동하지 않고 ChatGPT 인터페이스 안에서 바로 주문을 완료하는 기능입니다. 기반은 Agentic Commerce Protocol(ACP)입니다. AI 어시스턴트 안에서의 구매를 다루는 공개 표준으로, Stripe가 OpenAI와 함께 만들었습니다.
쇼핑몰에 요구되는 것은 세 가지입니다. 상품 피드, Agentic Checkout Spec 구현(주문 상태 교환), Delegated Payment Spec 구현(결제 전달). 접근 권한은 아직 승인된 파트너에게만 있고, 신청은 chatgpt.com/merchants에서 하며, 연동은 테스트 피드 검증부터 시작합니다. Stripe 자료에 따르면 미국 구매자에게 먼저 Etsy 판매자의 상품이 열렸고, 이어서 Glossier, Vuori, Spanx, SKIMS를 포함한 1,000,000곳 이상의 Shopify 판매자가 연결됩니다.
리스크를 계산하는 분들에게 중요한 세부 사항: 돈과 주문은 쇼핑몰 쪽에 남습니다. OpenAI는 merchant of record, 즉 법적 의미의 판매자가 아닙니다. 세금 계산도 쇼핑몰, 부정거래 검증도 쇼핑몰, 승인 결제도 쇼핑몰이 자기 결제대행으로 하고, ChatGPT에는 "승인" 또는 "거절" 상태만 돌려줍니다.
Delegated Payment Spec은 이렇게 작동합니다. OpenAI가 결제 상한 금액과 유효기간이 붙은 일회용 결제 요청을 만들고, 결제 제공사가 응답으로 토큰을 돌려줍니다. 첫 호환 구현은 Stripe Shared Payment Token이며, 조건에 맞는 카드는 추가로 네트워크 토큰으로 변환됩니다.
솔직한 경계선도 있습니다. OpenAI에 피드를 올리는 표준 절차는 기본적으로 미국을 향해 있고, target_countries와 store_country 컬럼으로도 이게 바뀌지 않습니다. 현재 공통 포맷이 설명하는 범위는 US, CA, MX입니다. 쇼핑몰이 이 국가에 없다면, 한 주 동안의 작업은 채팅 안 판매 시작이 아니라 데이터 준비입니다.
마크업: JavaScript 없이도 보이는 Product와 Offer
체크아웃 연동이 없어도 모두에게 필요한 최소치는 상품 페이지의 Schema.org 구조화 데이터입니다. 이름과 이미지가 있는 Product 타입, 그 안에 가격, 통화, availability(재고)가 있는 Offer. Google이 쇼핑 결과를 위해 요구하는 것과 같은 필드라서, 이 작업은 한 번 쓰고 버리는 일이 아닙니다.
확인은 간단하고, 저는 이것을 가장 먼저 합니다. 브라우저에서 JavaScript를 끄고 상품 페이지를 엽니다. 가격, 재고, 주문 버튼이 보이면 데이터가 HTML에 있다는 뜻입니다. 보이지 않으면 클릭 후에 스크립트가 그려준다는 뜻이고, 에이전트는 이름만 있는 빈 페이지를 받습니다.
같은 테스트가 두 번째 문제도 잡아냅니다. 옵션을 선택한 뒤에만 나타나는 가격입니다. 상품에 사이즈가 5개이고 가격을 스크립트가 넣어준다면, 마크업에는 옵션별로 Offer가 하나씩 있어야 합니다. 그렇지 않으면 데이터에는 가격이 단 하나도 없습니다.
피드: 필수 항목 9개와 한 줄을 날려버리는 값들
ChatGPT 응답에 상품이 들어가려면 피드가 필요하고, OpenAI 스펙에서 한 줄당 필수 항목은 9개입니다. item_id, title, description, url, brand, seller_name, image_url, availability, price. 포맷은 CSV 또는 JSON.
availability 항목은 다섯 가지 값만 받습니다. in_stock, out_of_stock, pre_order, backorder, unknown. 누락되거나 비어 있거나 모르는 값이면 그 줄 전체가 거절됩니다. 즉 그 상품은 에이전트에게 존재하지 않습니다. 가격은 "79.99 USD" 형식으로 쓰고, 천 단위 구분 기호는 넣지 않습니다.
같은 피드의 콘텐츠 제한: title은 150자까지, description은 일반 텍스트로 5,000자까지. url과 image_url은 http 또는 https로 로그인 없이 공개 접근이 되어야 합니다. 인증 뒤에 숨은 피드는 쓸모가 없습니다. GTIN은 정확히 8, 12, 13, 14자리여야 하고 체크 디지트도 맞아야 합니다.
저도 걸려 넘어질 뻔한 별도의 함정: OpenAI에는 두 번째 프로필, Google 호환 피드 프로필이 있고 거기서는 같은 의미를 다르게 씁니다. 컬럼은 id, title, description, link, image_link, availability, price, brand. 예약 구매는 pre_order가 아니라 preorder로 씁니다. unknown 값은 받지 않습니다. availability_date는 preorder와 backorder에서 필수입니다. 가격 0은 휴대폰(카테고리 267)과 태블릿(카테고리 4745)에서 subscription_cost와 함께일 때만 허용됩니다.
- 모든 줄에 item_id, title, description, url, brand, seller_name, image_url, availability, price
- availability는 허용된 다섯 값만
- 가격은 79.99 USD 형식
- title 150자 이내, description 5,000자 이내
- url과 image_url이 로그인 없이 열림
- GTIN은 8, 12, 13, 14자리
두 피드 프로필을 한 표로 정리했습니다. "항목" 열, "OpenAI에서 쓰는 방식" 열, "Google 호환 프로필에서 쓰는 방식" 열, "틀리면 무엇이 깨지는가" 열. 채우는 데 한 시간 걸렸지만, 매번 문서를 열고 pre_order인지 preorder인지 헷갈리는 일이 사라졌습니다.
갱신 주기: Google은 하루 1회, ACP는 15분까지
Google 상품 데이터 관리 도구인 Google Merchant Center는 최소 하루 1회 갱신되는 최신 피드를 요구합니다. 2026년 6월 1일자 ACP 상품 피드 공개 스펙은 15분마다까지의 주기를 명시하고, OpenAI 연동은 하루 단위 카탈로그 스냅샷을 전제로 합니다.
실무적 의미는 하나입니다. 사이트의 재고가 피드 갱신보다 자주 바뀌면, 에이전트는 없는 물건을 주문하고 결제 단계에서 거절을 받습니다. 거절은 잃어버린 주문만이 아니라, 판단을 프로그램이 내리는 채널에서의 평판 손실입니다.
is_eligible_checkout 플래그와, 없으면 체크아웃을 못 켜는 두 페이지
OpenAI 피드에서 구매 가능 여부를 담당하는 것은 is_eligible_checkout 플래그입니다. 두 조건이 동시에 맞을 때만 동작합니다. is_eligible_search 항목도 true여야 하고, 여러분의 연동에 체크아웃이 활성화되어 있어야 합니다. 즉 먼저 노출이 허용되고, 그다음에야 구매가 허용됩니다.
체크아웃을 위해서는 공개 주소가 담긴 두 항목이 사실상 필수입니다. seller_privacy_policy(개인정보 처리방침)와 seller_tos(판매 약관). 쇼핑몰의 이 페이지들이 회원 페이지 안에 있거나 인증 뒤의 PDF로 있다면, 공개 영역으로 빼내야 합니다.
디스커버리와 체크아웃이 서로 다른 과제라는 점도 따로 알아둘 만합니다. 2026년 8월 15일 Paz.ai의 분석에 따르면 ACP가 기술하는 것은 구매 세션 자체이고, 상품이 ChatGPT 응답에 들어가는 것은 ACP checkout 구현 없이 피드만으로도 가능합니다. 프로토콜 차원의 수수료는 없고, 결제대행과 플랫폼 비용만 냅니다.
에이전트를 완전히 멈추게 하는 것들
세 가지가 마크업 작업 전체를 0으로 만듭니다. 프로그램이 통과할 수 없는 것들입니다.
- 상품 페이지, 장바구니, 주문으로 가는 길목의 캡차. 사람은 5초에 풀지만, 에이전트는 막히고 떠납니다.
- 가격을 보기 전의 필수 회원가입. 가격이 로그인한 사용자에게만 보이면, 에이전트에게는 가격이 없습니다.
- 위젯이 붙은 한 화면으로만 존재하는 결제. 결제 토큰을 다루는 별도 단계가 없는 경우입니다. 에이전트에게는 분리 가능한 경로가 필요합니다. 주문 구성 확정, 금액 수신, 결제 전달.
네 번째는 제가 가장 자주 보고, 가장 아깝습니다. 작년에 "혹시 모르니" 막아둔 robots.txt의 AI 크롤러 차단 규칙입니다. robots.txt는 사이트 루트에 있는 파일로, 로봇에게 어디를 다닐 수 있는지 알려줍니다. 거기에 AI 크롤러 차단이 남아 있는 동안 쇼핑몰은 에이전트 시나리오에서 완전히 잘려 나가고, 어떤 마크업도 도움이 되지 않습니다.
기여도 측정: 에이전트 주문을 나중에 리포트에서 찾는 방법
채팅에서 완료된 주문은 익숙한 사이트 방문 없이 들어오기 때문에, 채널 리포트에서 직접 유입으로 잡히거나 아예 어디에도 안 잡힐 수 있습니다. OpenAI는 권장 사항 섹션에서 피드의 url 항목에 파라미터를 넣으라고 직접 권합니다. 예를 들어 utm_medium=feed 같은 것을 넣고, 카탈로그 스냅샷 사이에 동일하게 유지하라고 합니다. 그렇지 않으면 같은 상품이 서로 다른 링크로 집계됩니다.
집계의 나머지 절반은 사이트 밖으로 나갑니다. Google Ads는 2026년 9월 10일부터 오프라인 판매를 받습니다. 즉 브라우저에서 일어나지 않은 판매를 업로드할 수 있습니다. 에이전트 주문도 같은 방식입니다. 거래가 여러분의 CRM에 생겼으면, 픽셀이 아니라 업로드로 광고 계정까지 전달해야 합니다.
채널이 어디로 가는지도 함께 보입니다. 2026년 9월 10일 Search Engine Land는 Amazon이 자사 광고 구매 플랫폼을 통해 ChatGPT 내 광고 게재를 시험 중이라고 보도했습니다. 에이전트가 상품을 고르는 자리가 유료 지면이 있는 매체가 되어 가고, 시간이 갈수록 거기에 무료로 들어가기는 어려워집니다.
플랫폼 위의 쇼핑몰이라면 일부는 이미 되어 있습니다
연동을 손으로 쓰기 전에 플랫폼을 확인하세요. Search Engine Journal은 2026년 6월 16일, Shopify Agentic Storefronts가 미국의 조건 충족 판매자에게 기본으로 켜져 있고 하나의 관리자 화면에서 카탈로그를 ChatGPT, Google AI Mode, Microsoft Copilot, Perplexity로 배포한다고 썼습니다. 작은 쇼핑몰이라면 지금 프로토콜 선택을 결정하는 쪽은 개발자가 아니라 플랫폼입니다.
- 1일차상품 페이지 10개에서 JavaScript를 끈 테스트, 보이지 않는 것들의 목록 작성
- 2일차가격, 재고, 옵션이 담긴 Product와 Offer를 HTML에 넣기
- 3일차OpenAI 필수 항목 9개 기준 피드 작성, 테스트 업로드 검증
- 4일차두 피드 프로필 대조: pre_order 대 preorder, 예약 구매의 availability_date
- 5일차robots.txt에서 AI 크롤러 차단 해제, 개인정보 처리방침과 판매 약관을 공개 영역으로 이동
- 6일차피드 url 항목에 utm 파라미터 추가, 업로드 간 동일하게 유지
- 7일차최소 하루 1회 피드 갱신, 오프라인 판매를 광고 계정으로 업로드
오늘 한 시간에 할 일
- JavaScript를 끈 상태로 상품 페이지 5개를 열고 사라진 것을 적기: 가격, 재고, 버튼.
- robots.txt를 열고 AI 크롤러 차단이 없는지 확인하기.
- 피드의 availability 항목 점검: 모든 값이 허용 목록 안에 있고 빈 값이 없는지.
- 개인정보 처리방침과 판매 약관이 회원 로그인 없이 공개 링크로 열리는지 확인하기.
원하시면 여러분의 피드와 상품 페이지 마크업을 보고, 에이전트가 어느 단계에서 떨어져 나가는지 알려드리겠습니다. 문의로 연락 주세요.



Aleksandr