해결해야 할 과제
소비재 브랜드를 운영하고 있다고 가정해 보겠습니다. 리셀러 정책에 따라 주력 제품을 179달러 미만으로 판매할 수 없습니다. 그런데 한 고객이 지난 주말에 누군가 Amazon에 144달러로 제품을 등록했다는 이메일을 보냅니다. 확인해 보니 이미 해당 상품 페이지는 사라진 상태입니다. 판매자는 목표 판매 속도를 달성하자마자 즉시 정상 가격으로 다시 등록했습니다. 이미 피해는 발생했고, 아직 확인해야 할 Walmart, eBay, TikTok Shop, Google Shopping이 남아 있습니다.
이것이 2026년 MAP 단속의 현실입니다. 위조 및 불법 복제 상품 규모만 해도 전 세계적으로 4,670억 달러에 달하며(OECD 및 EUIPO 데이터, Red Points 참고), 이는 그레이 마켓 차익 거래와 리셀러 정책 위반을 제외한 수치입니다. 마켓플레이스는 브랜드를 대신해 가격을 감시해 주지 않습니다. 또한 현재 위조품 압수량의 79%가 소형 소포 발송물에서 발생하고 있으며, 이는 수많은 개인 판매자가 대규모로 세관을 빠져나가고 있음을 의미합니다.
이를 신속하게 잡아내는 브랜드들은 더 나은 스프레드시트를 사용하는 것이 아닙니다. 이들은 판매하는 모든 지역의 모든 마켓플레이스에 있는 모든 제품 페이지를 매시간 확인하는 모니터링 인프라를 운영하고 있습니다.
FourA의 접근 방식
단순하게 구성하면 마켓플레이스당 하나의 스크래퍼, 하나의 cron 작업, 하나의 알림을 두게 됩니다. 그러다 Amazon이 레이아웃을 변경하여 스크래퍼가 고장 나거나, 단일 ASN에서 동일한 제품에 요청을 집중하여 IP가 차단되거나, 가격 추출 기능이 실제 판매 가격 대신 취소선이 그어진 권장소비자가격(MSRP)을 잘못 반환하는 문제가 발생합니다.
정상적으로 작동하는 파이프라인은 네 가지 부분으로 구성됩니다.
발견(Discovery). SKU 목록에서 시작하여 마켓플레이스 전반에서 활성화된 모든 제안을 찾습니다. Amazon ASIN, Walmart item ID, eBay listing ID, TikTok Shop 제품 URL 등이 여기에 해당합니다. 이는 주로 카테고리 페이지, 검색 결과 페이지, PDP 변형을 타겟팅하는 카탈로그 스크래핑 작업입니다.
페이지 수집(Page collection). 각 제안에 대해 실시간 페이지를 가져와 표시된 가격, 판매자 이름, 바이박스 소유자, 쿠폰 또는 정기 배송(Subscribe & Save) 할인 여부, 타임스탬프를 수집합니다. 일부 마켓플레이스는 깔끔한 HTML을 제공합니다. 반면 TikTok Shop과 Google Shopping은 대부분의 가격 로직을 JavaScript로 렌더링하므로, 단순한 request 라이브러리가 아닌 실제 브라우저가 필요합니다.
가격 재구성(Price reconstruction). 이 단계에서 대부분의 팀이 어려움을 겪습니다. Amazon은 정가, 5~15%의 정기 배송 할인, 때로는 쿠폰이나 멀티팩 분할 가격을 표시합니다. 고객이 실제로 지불하는 가격이 헤드라인에 표시된 숫자인 경우는 드뭅니다. 헤드라인 가격만 감시하는 모니터는 할인 조합 뒤에 숨겨진 위반 사항을 놓치게 됩니다.
증거 및 알림(Evidence and alerts). 위반 사항을 감지했을 때, 단속 팀에는 URL, 스크린샷, 정확한 가격, 타임스탬프, 판매자, 제안의 유지 기간 등의 증거가 필요합니다. 이것이 없다면 마켓플레이스 분쟁 해결 프로세스를 진행할 수 없습니다.
FourA와 같은 플랫폼은 이러한 복잡한 작업을 위한 단일 API를 제공합니다. 깔끔한 HTML을 제공하는 마켓플레이스를 위한 HTTP request, JavaScript가 많은 마켓플레이스를 위한 브라우저 세션, 그리고 직접 관리할 필요가 없는 proxy 라우팅을 지원합니다. unblocker 플래그를 설정하여 Amazon 제품 URL로 request를 보내면 Chrome과 동일한 header가 전송되어 페이지가 깔끔하게 렌더링됩니다. 미국 지역 proxy를 통해 Amazon US로 요청을 보낸 다음, 동일한 SKU를 독일 지역 proxy를 통해 Amazon DE로 요청하면 각 현지 기준에 맞는 가격 정보를 받아볼 수 있습니다.
curl -X POST "https://api.foura.ai/api/proxy" \
-H "x-api-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"maxTries": 5,
"timeout_ms": 30000,
"request": {
"method": "GET",
"url": "https://www.amazon.com/dp/B0EXAMPLE",
"unblocker": true,
"validate": {
"status": { "accept": [200] },
"data": { "fail": ["captcha", "Robot Check"] }
}
}
}'
이것이 호출의 전부입니다. 코드에 proxy 교체 로직을 작성할 필요가 없습니다. "이 사이트가 오늘 JavaScript를 실행하는지" 확인할 필요도 없습니다. 인프라가 라우팅과 재시도를 처리하며, 개발자의 파이프라인은 가격 로직만 처리하면 됩니다. unblocker 플래그가 네트워크 상에서 실제로 어떤 역할을 하는지 자세히 알아보려면 Web Unblocker 분석 글을 참고하세요.
지리적 요소는 생각보다 중요합니다. 미국, EU, 영국에 판매하는 브랜드는 각 지역의 IP 대역에서 바라본 가격 정보가 필요합니다. 마켓플레이스가 지역별 가격을 다르게 제공하거나 타 지역 IP에는 제안을 완전히 숨기기도 하기 때문입니다. 지역별 라우팅을 사용하면 "전 세계 배송"을 광고하는 판매자가 실제로 중요한 시장에서 MAP를 위반하고 있는지 검증할 수 있습니다.
결과
500개의 SKU, 6개의 마켓플레이스, 3개의 지역을 가진 중견 브랜드의 경우 모니터링해야 할 제품 페이지가 대략 9,000개에 달합니다. 매시간 수집할 경우 하루에 약 216,000개의 request가 발생합니다(일반적인 중견 기업의 브랜드 보호 범위를 기준으로 한 예시 시나리오). 이를 위해 설계된 API에는 아무것도 아닌 수준이지만, 직접 구축하려면 전담 엔지니어링 팀이 필요합니다. 하지만 흥미로운 숫자는 일일 request 수가 아닙니다. 위반 사항이 발생했을 때 얼마나 자주 같은 시간 내에 감지되는지입니다.
실제 현장에서의 개선 효과는 다음과 같습니다.
- **탐지 지연 시간(Detection latency)**이 며칠(수동 또는 주간 스크래핑)에서 매시간 폴링을 통해 1시간 미만으로 단축됩니다.
- **커버리지(Coverage)**가 "겨우 따라잡을 수 있었던 3개 마켓플레이스"에서 브랜드가 실제로 판매 중인 6개 마켓플레이스 전체로 확장됩니다.
- 가격 재구성을 통해 쿠폰, 정기 배송, 멀티팩을 올바르게 처리하면서 **오탐(False positives)**이 급격히 감소합니다.
- 각 탐지 결과가 request에 고정된 스크린샷 및 타임스탬프와 함께 제공되어 **증거의 품질(Evidence quality)**이 향상됩니다.
이미 저희의 대규모 부동산 매물 정보 수집 분석 글을 읽어보셨다면 패턴이 동일하다는 것을 알 수 있습니다. 수많은 페이지, 혼재된 렌더링 방식, 지리적 편차가 그것입니다. 제품은 바뀌어도 인프라의 형태는 변하지 않습니다.
핵심 요약
MAP 위반은 데이터 품질의 문제가 아닙니다. 시간 싸움입니다. 위반 사항을 먼저 발견하는 쪽이 우위를 점합니다. 즉, 상품 등록이 판매로 이어지기 전에 잡아내는 브랜드와, 마진을 챙긴 뒤 남들이 알아채기 전에 가격을 원래대로 돌려놓는 리셀러 간의 싸움입니다. 모니터링 스택에 추가하는 모든 레이어(지리적 정밀도, JavaScript 렌더링, 가격 스택 재구성)는 실제로는 그 시간 싸움에서 몇 분을 벌어오는 일에 불과합니다.
2026년에 이 싸움에서 승리하는 브랜드들은 MAP 단속을 분기별 감사로 취급하지 않습니다. 이를 실시간 인프라로 다루기 시작했습니다. 해결 비용이 가장 적게 드는 위반은 발생한 바로 그 시간에 감지되는 위반입니다.