AI가 우리 쇼핑몰 가격을 틀리지 않게 하려면 어떻게 해야 할까?
가격은 숫자만 적는다고 끝나지 않는다
가격비교 사이트나 AI가 쇼핑몰 가격을 가져갈 때, 숫자만 제대로 적어 두면 된다고 생각하기 쉽다. 하지만 실제 프로그램은 가격 주변의 글자와 페이지 구조까지 함께 본다. 연구에서는 같은 방식도 사이트 구조에 따라 정확도가 93.81%에서 58.5%까지 떨어졌다.
가격을 정확하게 읽히게 하려면 가격 숫자뿐 아니라 「판매가」「원」「정가」 같은 표시와 페이지 구조까지 일정하게 관리해야 한다.
가격비교 프로그램은 우리 가격을 어떻게 찾을까?
가격을 가져가는 프로그램은 화면에 보이는 숫자를 무조건 가격으로 선택하지 않는다. 숫자 앞뒤에 붙은 글자와 상품명과의 거리, 페이지 안에서 숫자가 놓인 구조 등을 살펴보고 가격 후보를 고른다.
2026년 9월 스페인 사라고사대학 연구진은 웹에서 가격을 추출하는 방법을 네 가지로 정리했다. 사람이 규칙을 직접 짜는 방식, 브라우저를 띄워 화면을 읽는 방식, 브라우저 없이 HTML 원문을 읽는 방식, 기계학습이나 대형 언어모델을 이용하는 방식이다.
어느 방식도 모든 쇼핑몰에서 정확한 것은 아니다. 정확도와 속도, 필요한 자원, 사이트가 바뀌었을 때 버티는 힘 사이에 차이가 있다.
| 방식 | 잘하는 것 | 약한 것 | 논문에 정리된 숫자 |
|---|---|---|---|
| 사람이 짠 규칙(XPath· | 구조가 안정적이면 높은 정확도, 자원 적게 씀 | 화면 구조가 바뀌면 규칙이 깨짐 | F값 89.89~100%, 틀이 다른 사이트에선 58.5% |
| 브라우저 띄우기(Selenium· | 자바스크립트로 나중에 뜨는 가격도 읽음 | 자원· | 시간의 85%가 화면 그리기, 실제 추출은 2% |
| 브라우저 없이 HTML만 받기 | 빠르고 쌈 | 사이트별로 맞춘 규칙에 기댐, 나중에 뜨는 가격은 못 봄 | 735개 사이트 평균 정밀도 81%, 쪽당 0.8초 |
| 기계학습· | 처음 보는 구조에도 적응 | 학습 데이터와 연산 비용이 큼 | GPT-4 기반 도구 F값 88.69%(80개 사이트· |
가격 앞뒤에 글자를 붙이면 정말 도움이 될까?
도움이 된다. 연구에서 소개한 베트남 사례는 페이지에서 숫자를 먼저 찾은 뒤, 가격일 가능성이 높은 숫자를 규칙으로 골랐다.
숫자 앞에 「가격」이나 「VNĐ」가 있는지 보고, 숫자 뒤에 「VNĐ」「USD」「$」가 있는지를 확인했다. 「예전 가격」처럼 할인 전 가격을 뜻하는 말이 앞에 있으면 제외했다.
한국 쇼핑몰에 적용하면 「판매가」를 가격 앞에 쓰고 「원」을 뒤에 붙이는 방식으로 대응할 수 있다. 할인 전 가격에는 「정가」나 「할인 전」처럼 구분되는 말을 붙이는 것이 좋다.
이것은 논문이 한국 쇼핑몰에서 시험한 결과가 아니다. 한국 사이트에 그대로 적용한 예시로 볼 수 있다.
| 대상 | 맞힌 쪽 / 전체 | 정확도 |
|---|---|---|
| 노키아 1200 가격 패턴 | — | F값 93.88~100% |
| 캐논 G10 가격 패턴 | — | F값 90~100% |
| 레노버 T61 가격 패턴 | — | F값 89.89~90% |
| 틀이 고른 판매 사이트 | 743 / 792 | 93.81% |
| 분류마다 틀이 다른 판매 사이트 | 416 / 711 | 58.5% |
상품마다 화면 틀이 달라도 괜찮을까?
가격을 읽는 프로그램은 페이지 구조의 영향을 크게 받는다. 연구에서는 상품마다 화면 틀이 크게 달라지지 않는 판매 사이트에서 792쪽 가운데 743쪽을 맞혀 정확도가 93.81%였다.
반대로 상품 분류마다 HTML 틀이 다른 판매 사이트에서는 711쪽 가운데 416쪽만 맞혔다. 정확도가 58.5%로 내려갔다.
사장님 입장에서는 상품마다 가격을 보여 주는 위치와 구조를 지나치게 다르게 만들지 않는 것이 중요하다. 같은 상품 페이지라면 가격을 표시하는 방법도 일정하게 유지하는 편이 기계가 읽을 단서를 더 분명하게 만든다.
브라우저로 화면을 보여 주면 더 정확하지 않을까?
브라우저를 띄우는 방식은 자바스크립트로 나중에 나타나는 가격도 읽을 수 있다. 대신 처리에 필요한 시간과 통신량이 많다.
연구에서 전체 실행 시간 가운데 약 13%는 브라우저를 켜는 데 쓰였고, 약 85%는 화면을 그리는 데 쓰였다. 실제 데이터를 뽑는 데 쓰인 시간은 2%였다.
브라우저 자동화 방식도 계속 그대로 작동하는 것은 아니다. 실제 과제에서 처음에는 대본이 100% 작동했지만, 3주 뒤에는 24개 가운데 20개인 83%만 그대로 작동했다.
| 측정 항목 | 숫자 | 조건 |
|---|---|---|
| 브라우저 켜기에 쓴 시간 | 약 13% | 전체 실행 시간 대비 |
| 화면 그리기에 쓴 시간 | 약 85% | 전체 실행 시간 대비 |
| 실제 추출에 쓴 시간 | 2% | 전체 실행 시간 대비 |
| 쓸모없는 통신량 | 약 96.8% | 화면을 띄우는 방식 |
| 3주 뒤에도 작동한 브라우저 대본 | 83%(20/24) | 처음엔 100% |
| GPT-4-Turbo 추출 도구 | F값 88.69% | 80개 사이트· |
| 봇 차단 기능을 켰을 때 처리 시간 | 5.479초 → 6.862초(약 25% 증가) | 한 번 반복할 때 |
AI가 읽으면 가격을 더 잘 찾을까?
기계학습과 LLM은 처음 보는 구조에도 대응할 가능성이 있다. 하지만 이것도 항상 정확한 것은 아니며, 사용할 때마다 연산 비용이 들어갈 수 있다.
GPT-4-Turbo 기반 추출 도구는 예시를 주지 않은 상태에서 F값 88.69%를 냈다. 예시 페이지를 늘리면 결과가 달라졌으며, GPT-4-Turbo는 예시를 1개에서 5개로 늘렸을 때 약 65%에서 73%로 올라갔다.
따라서 「AI가 읽으니 가격을 틀리지 않는다」고 생각해서는 안 된다. 어떤 방식을 사용하더라도 쇼핑몰에 가격을 분명하게 적어 두는 것이 기본이다.
HTML에 가격을 제대로 넣어야 하는 이유는 무엇일까?
연구진이 새로 제안한 방식은 브라우저를 띄우지 않고 HTML을 받아 가격을 찾는다. 페이지를 조각으로 나누고 문법과 의미, 빈도 등을 이용해 가격으로 보이는 부분을 찾은 뒤, 베이즈 방식과 유전 알고리즘으로 설정값을 조정했다.
250곳이 넘는 온라인 판매처에서 시험한 결과 정밀도는 77.2%에서 87.3%로 올라갔다. 쪽당 평균 처리 시간도 약 14% 줄었다.
그래도 87.3%가 100%는 아니다. 특히 자바스크립트로 화면에서 나중에 만들어지는 가격은 서버에서 처음 받은 HTML 원문에 없기 때문에 이 방식으로 읽지 못한다.
| 시스템 | 정밀도 | 그 밖의 숫자 |
|---|---|---|
| 앞선 HTML 방식(735개 사이트) | 평균 81% | 특이도 97.61%, 완벽한 사이트 78.5%, 쪽당 0.8초 |
| 이번 연구 기본 구성 | 77.2% | — |
| 베이즈 + 유전 알고리즘 구성 | 87.3% | 쪽당 처리 시간 약 14% 단축 |
가격 숫자만 맞으면 된다는 생각을 버려야 할까?
그렇다. 가격을 읽는 프로그램에는 숫자 주변의 정보가 필요하다. 예를 들어 「29.99 EUR」처럼 가격과 통화를 한 값에 섞어 쓰기보다 구조화 데이터에서는 가격과 통화를 따로 넣어야 한다.
구조화 데이터의 `price`에는 숫자를 넣고 `priceCurrency`에는 `KRW`를 넣는 방식이다. 페이지에 표시되는 가격과 구조화 데이터의 가격도 서로 맞아야 한다.
구글 머천트 센터는 피드의 가격과 상품 페이지·구조화 데이터의 가격이 다르면 상품을 승인하지 않을 수 있다고 안내한다. 자바스크립트로 가격을 나중에 넣거나, 봇과 사람에게 다른 가격을 보여 주거나, 할인가의 적용 기간을 잘못 적는 경우 등이 문제로 제시된다.
국내에서도 첫 화면에서 반드시 내야 하는 총액 가운데 일부만 먼저 보여 주는 「순차공개 가격책정」을 금지하는 개정 전자상거래법이 2025년 2월 14일부터 시행됐다.
| 할 일 | 이유 | 근거 |
|---|---|---|
| 가격을 처음 받는 HTML 원문에 넣기 | 나중에 뜨는 가격은 HTML 방식이 못 읽고, 구글도 오류로 봄 | 논문 한계 문단, 구글 머천트 센터 도움말 |
| 숫자 옆에 「원」「판매가」 붙이기 | 앞 글자· | 논문의 베트남 사례 |
| 할인 전 가격에는 「정가」 표시를 따로 하기 | 제외 규칙이 없으면 두 숫자를 가리지 못함 | 논문의 베트남 사례 |
| 상품 분류가 달라도 같은 틀 쓰기 | 틀이 다르면 93.81% → 58.5% | 논문의 베트남 사례 |
| 구조화 데이터 price는 숫자만, 통화는 priceCurrency(KRW)에 따로 | 「29.99 EUR」처럼 섞어 쓰면 안 됨 | 구글 판매자 목록 문서 |
| 봇과 사람에게 같은 가격 보여 주기 | 다르게 보이면 가격 불일치로 미승인 | 구글 머천트 센터 도움말 |
| 첫 화면에 내야 할 총액 표시 | 일부 금액만 보여 주면 금지 대상 | 전자상거래법(2025.2.14 시행) |
결국 사장님이 확인할 것은 무엇일까?
첫째는 가격이 처음 전달되는 HTML 원문에 들어 있는지다. 화면을 연 뒤 자바스크립트로 가격을 만들어 내면 HTML을 읽는 방식에서는 가격이 빠질 수 있다.
둘째는 가격 주변의 표시다. 실제 판매 가격에는 「판매가」「원」처럼 가격임을 알 수 있는 표시를 붙이고, 할인 전 가격에는 「정가」「할인 전」처럼 구분되는 표시를 두는 것이 좋다.
셋째는 상품 페이지의 구조다. 상품 분류에 따라 가격을 보여 주는 HTML 구조가 크게 달라지면 같은 추출 규칙이 다른 결과를 낼 수 있다.
가격비교 사이트와 AI가 실제로 어떤 방식으로 가격을 읽는지는 서비스마다 다를 수 있다. 네이버쇼핑이나 다나와 같은 국내 가격비교 서비스가 내부에서 어떤 방식을 쓰는지는 공개되지 않았고, 이번 연구도 한국 쇼핑몰이나 원화 표기를 따로 시험한 연구는 아니다.
따라서 연구의 숫자를 국내 쇼핑몰의 실제 정확도로 그대로 받아들여서는 안 된다. 다만 가격을 읽는 기계가 숫자 하나만 보는 것이 아니라 주변 표시와 페이지 구조를 함께 볼 수 있다는 점은 사장님이 쇼핑몰을 관리할 때 참고할 수 있다.
요점 ① 사람이 짠 규칙은 사이트 구조에 따라 F값 100%에서 58.5%까지 차이가 났다. 요점 ② 브라우저 방식은 전체 실행 시간의 약 85%를 화면 그리기에 썼고, 3주 뒤 83%만 그대로 작동했다. 요점 ③ 새 HTML 방식은 정밀도를 77.2%에서 87.3%로 높였지만 자바스크립트로 나중에 만들어지는 가격은 읽지 못한다. 요점 ④ 가격은 HTML 원문에 넣고 「판매가」「원」「정가」 등을 구분해 표시하며, 구조화 데이터와 첫 화면의 총액도 맞춰야 한다.
같이 읽을 글
- PDF 가격표, AI가 제대로 읽게 하려면 어떻게 해야 할까?
- 홈페이지를 못 읽으면 AI는 우리 가게를 어떻게 설명할까?
- 우리 가게 홈페이지에 스키마 마크업이 꼭 필요할까?
- AI에게 가격을 맡길 때 문장도 조심해야 하나?
자료 출처
- Web Price Extraction: State of the Art and an Adaptive Browserless Implementation(University of Zaragoza·arXiv 2609.01030·2026년 9월 제출, 250곳 넘는 판매처)
- How to fix: Mismatched product price(Google Merchant Center 도움말)
- How To Add Merchant Listing Structured Data(Google Search Central 문서)
- Set up structured data for Merchant Center(Google Merchant Center 도움말)
- 공정위 전자상거래법 시행령 및 시행규칙 개정(일간NTN·2025년 2월 14일 시행)
- 전자상거래 등에서의 소비자보호 지침 개정(공정거래위원회 보도자료·2025년 10월 24일 시행)
- ★ 네이버 쇼핑 연동(프로셀 이용가이드, EP 하루 4회 수집)
- ★ 네이버 가격비교에서 갑자기 상품이 안 보여요(스토어아트 매거진)
작성일
← 칼럼 목록