ChatGPT Ads 상품 피드, CSV·호스팅 URL·SFTP 중 무엇을 선택해야 할까?
ChatGPT Ads 상품 피드를 처음 연결할 때 CSV, 호스팅된 URL, SFTP 중 무엇을 골라야 할지 막막할 수 있습니다. 중요한 것은 연결 방식 자체보다 상품 정보가 얼마나 자주 바뀌고, 누가 최신 상태를 관리하는가입니다. 실제 설정 화면을 기준으로 피드 연결 방식과 업로드 후 확인할 항목을 정리했습니다.
쇼핑몰에는 이미 상품이 있는데, 광고를 시작할 때 왜 또 CSV 파일이나 상품 URL을 연결해야 할까요?
“사이트에 상품이 다 있는데 광고 관리자가 직접 읽으면 안 되나요?”
“가격과 재고가 바뀔 때마다 피드를 다시 관리해야 하나요?”
“개발팀이 없다면 SFTP는 아예 선택할 수 없는 방식일까요?”
물론 상품 광고를 운영하려면 캠페인과 예산, 광고 문구도 중요합니다. 하지만 그보다 먼저 광고가 어떤 상품을 보여줄 수 있는지, 그리고 그 상품 정보가 지금 판매 중인 정보와 같은 상태인지를 알려줘야 합니다.
상품 피드는 상품명·설명·이미지·가격·재고·상품 페이지 주소처럼 광고에 필요한 카탈로그 정보를 전달하는 방식입니다. ChatGPT Ads의 상품 광고 템플릿도 피드에서 선택된 상품의 텍스트, 이미지, 가격, 연결 주소를 사용합니다. 즉, 피드는 단순히 한 번 올리고 끝나는 파일이라기보다 광고가 참조하는 상품 목록에 가깝습니다.
그래서 중요한 질문은 “CSV와 SFTP 중 어느 기능이 더 좋을까?”가 아닙니다. 상품 정보를 누가 수정하는지, 가격과 재고가 얼마나 자주 바뀌는지, 파일을 수동으로 관리할 수 있는지에 따라 연결 방식이 달라집니다.
광고 관리자에서 새 피드를 만들려고 하면 가장 먼저 세 가지 선택지가 보입니다.
“일단 CSV를 올리면 되는 걸까?”
“쇼핑몰 상품 데이터를 URL로 연결해도 될까?”
“SFTP는 개발팀이 있어야만 쓸 수 있는 방식일까?”
셋 다 상품명, 가격, 재고, 이미지, 상품 URL을 ChatGPT Ads에 전달하는 방법입니다. 차이는 광고 성과가 아니라 카탈로그를 얼마나 자주, 어떤 방식으로 최신 상태로 유지할 수 있는가에 있습니다.
처음이라면 CSV로 구조를 확인하는 편이 가장 단순합니다. 쇼핑몰이나 내부 시스템에서 HTTPS 주소로 최신 피드 파일을 제공할 수 있다면 호스팅된 URL이 맞고, 이미 정기적으로 상품 파일을 내보내는 서버 작업이 있다면 SFTP가 자연스럽습니다.
💡 이 글에서 다루는 내용
- 상품 피드에서 CSV·호스팅 URL·SFTP가 각각 맡는 역할
- 처음 연결할 때 반드시 확인할 상품 데이터
- 호스팅된 URL 화면의 ‘샘플 행 수’를 해석하는 방법
- SFTP 업로드가 끝난 뒤에도 확인해야 하는 이유
- 세 방식 중 우리 운영 방식에 맞는 방법을 고르는 기준
이 글의 화면은 2026년 10월 광고 관리자 베타 화면에서 테스트한 흐름입니다. 계정 설정과 제품 업데이트에 따라 메뉴나 표현은 달라질 수 있습니다.
공개용 화면에서는 테스트용 표시 이름, 피드·상품 URL, 식별 값은 가렸습니다. 열 이름과 단계는 실제 흐름 그대로 남겼습니다.
피드를 연결하기 전에, 먼저 같은 데이터를 준비해야 합니다
CSV를 선택하든 URL이나 SFTP를 선택하든, 결국 전달하는 내용은 같은 상품 카탈로그입니다. 방식부터 고르기 전에 각 상품이 어떤 정보로 구성되어 있는지부터 확인해야 합니다.
상품 또는 옵션마다 한 행을 두고, 식별자는 업데이트할 때도 유지하는 것이 기본입니다. 상품 상세 페이지와 상품 이미지는 외부에서 접근 가능한 HTTPS 주소여야 합니다. 가격과 재고도 현재 상태로 관리해야 합니다.
아래처럼 첫 번째 행에는 열 이름을 넣고, 그 아래부터는 상품 또는 옵션 한 개당 한 행을 넣습니다. CSV는 엑셀이나 스프레드시트에서 열어도 표처럼 보이지만, 실제 업로드할 때는 열 이름과 값의 순서가 일관된 텍스트 파일입니다.
실무에서는 아래 항목부터 확인하면 됩니다.
| 먼저 확인할 항목 | 왜 필요한가 |
|---|---|
item_id | 같은 상품을 다음 업로드에서도 같은 상품으로 인식하게 합니다. |
| 상품명과 설명 | 어떤 상품인지 설명하는 기본 정보입니다. |
| 상품 URL | 사용자가 상품 상세 페이지로 이동할 주소입니다. |
| 이미지 URL | 상품을 보여줄 수 있는 직접 이미지 주소입니다. |
| 가격과 재고 상태 | 오래된 가격이나 품절 정보를 피하기 위해 최신 값이 필요합니다. |
| 브랜드와 판매자 정보 | 카탈로그의 상품 출처를 구분하는 데 사용합니다. |
여기서 중요한 점은 파일을 올리는 일이 끝이 아니라는 것입니다. 상품 데이터가 들어온 뒤에도 광고에 적합한 상품인지, 광고 그룹의 상품 조건과 맞는지, 캠페인이 검토와 활성화 조건을 충족하는지는 별도로 확인해야 합니다.
상품 피드를 연결하는 세 가지 방법
광고 관리자에서는 새 피드를 만들 때 CSV 또는 TXT 업로드, 호스팅된 URL, SFTP 연결 중 하나를 선택합니다. 같은 상품 데이터를 보내더라도, 업데이트를 누가 하고 어디서 관리하는지가 달라집니다.
| 방식 | 이런 경우에 잘 맞습니다 | 운영할 때 기억할 점 |
|---|---|---|
| CSV 또는 TXT 업로드 | 처음 연결하거나, 상품 변경이 드물고 수동으로 관리할 때 | 바뀐 가격·재고를 반영하려면 새 파일을 다시 올려야 합니다. |
| 호스팅된 URL | 쇼핑몰이나 서버에서 최신 카탈로그 파일을 HTTPS 주소로 제공할 수 있을 때 | URL이 계속 접근 가능해야 하며, 미리보기와 가져오기 일정을 확인해야 합니다. |
| SFTP 연결 | 정기 파일 생성·업로드 작업이 이미 있고 자동화를 운영할 때 | 접속정보를 안전하게 관리하고 업로드 처리 결과를 확인해야 합니다. |
세 방법 중 어느 하나가 무조건 더 좋은 것은 아닙니다. 업데이트가 한 달에 한두 번뿐인데 자동 연동을 먼저 만드는 것은 과할 수 있고, 반대로 가격과 재고가 자주 바뀌는 쇼핑몰에서 파일을 수동으로 관리하면 최신 상태를 유지하기 어려워집니다.
1. 처음이라면 CSV 또는 TXT 업로드부터
가장 이해하기 쉬운 시작점은 CSV입니다. 상품 데이터를 표 형태로 검토한 뒤 파일 하나를 직접 올리는 방식이기 때문입니다. 광고 관리자 화면도 이 방법을 “처음 시작하거나 가끔 수동 업데이트할 때” 적합한 방식으로 설명합니다.
CSV 또는 TXT 업로드를 선택하면 아래처럼 파일을 직접 올리는 화면이 열립니다. 처음에는 이 화면에서 작은 파일을 한 번 올려보고, 상품 목록에서 제목·가격·이미지가 예상대로 읽히는지 확인하는 편이 안전합니다.
CSV로 시작하면 다음 두 가지를 빠르게 확인할 수 있습니다.
- 우리 쇼핑몰 데이터에 필요한 열이 실제로 있는가
- 상품명, 가격, 이미지, 랜딩 URL이 상품 목록에서 의도한 대로 보이는가
OpenAI의 가이드는 UTF-8 CSV를 사용하고, 상품 또는 옵션당 한 행을 두며, 기존 상품의 식별자를 다음 업로드에서도 안정적으로 유지하라고 안내합니다. 상품명에 쉼표나 줄바꿈이 들어갈 수 있다면 CSV 형식에 맞게 값을 감싸는 것도 필요합니다.
CSV의 장점은 첫 설정을 빠르게 검증할 수 있다는 점입니다. 반면 가격이나 재고가 자주 변한다면 사람이 최신 파일을 만들고 다시 올리는 과정이 반복됩니다. 따라서 “광고를 시작하기 전에 피드 구조를 확인하는 첫 단계”로는 좋지만, 계속 수동으로 유지할 수 있을지는 별도로 판단해야 합니다.
엑셀의 열은 이렇게 읽으면 됩니다
CSV는 처음 보면 열이 많아 복잡해 보이지만, 역할별로 나누면 어렵지 않습니다.
| 역할 | CSV 열 | 쉽게 말하면 |
|---|---|---|
| 상품을 구분 | item_id | 다음 업로드에서도 같은 상품임을 알아보는 고유 번호 |
| 상품을 설명 | title, description, brand | 무엇을 파는지 알려주는 이름과 설명 |
| 상품을 보여주고 이동 | image_url, url | 상품 사진 주소와 클릭 후 이동할 상세 페이지 주소 |
| 판매 조건 | price, availability, seller_name | 얼마인지, 살 수 있는지, 누가 판매하는지 |
| 광고 처리 여부 | is_ads_eligible | 이 상품을 광고용으로 처리할지 정하는 값 |
| 추가 정보 | seller_url, return_policy, is_eligible_search, is_eligible_checkout | 판매자·반품·검색·체크아웃 관련 추가 설정 |
item_id, title, description, url, brand, image_url, price, availability, seller_name은 기본 필수 항목입니다. 광고용 처리 여부는 is_ads_eligible=true로 명시해 두는 편이 안전합니다. 반품 URL이나 검색·체크아웃 관련 열은 선택 항목이므로, 값이 없다면 억지로 채우기보다 생략합니다.
2. 카탈로그를 HTTPS 주소에서 제공한다면 호스팅된 URL
호스팅된 URL은 공개 HTTPS 주소에서 상품 파일을 가져오는 방식입니다. 새 피드를 만들 때 호스팅된 URL을 선택하면 파일 URL 입력, 파일 미리보기 및 인증, 가져오기 일정 설정 순서로 진행됩니다.
이 방식은 쇼핑몰이나 사내 시스템이 정해진 형식의 카탈로그를 URL로 내보낼 수 있을 때 잘 맞습니다. 운영자가 파일을 내려받아 다시 올리는 대신, 시스템이 갱신한 파일을 정해진 일정에 따라 가져오도록 설정할 수 있기 때문입니다.
URL 방식은 화면에서도 세 단계로 보입니다. 먼저 카탈로그 파일 주소를 입력하고, 다음으로 감지된 데이터를 검토한 뒤, 마지막으로 가져오는 주기를 설정합니다. HTTP 기본 인증이 필요한 URL만 사용자명과 비밀번호를 추가하면 됩니다.
URL을 입력한 뒤 바로 봐야 할 두 가지
첫째, 실제 파일을 가져올 수 있는지입니다. URL은 브라우저에서 열리는 주소처럼 보여도, 피드 파일을 제공하지 않거나 접근 권한·응답 형식에 문제가 있으면 미리보기 단계에서 멈출 수 있습니다. 로그인 후에만 보이는 페이지 주소가 아니라, 카탈로그 파일을 안정적으로 돌려주는 주소인지 확인해야 합니다.
둘째, 감지된 열과 샘플 상품이 맞는지입니다. 아래 화면에서는 item_id, title, description, url, image_url, price, availability 등 상품 피드에 필요한 열을 읽어온 것을 확인할 수 있습니다.
여기서 자주 헷갈리는 항목이 샘플 행 수입니다. 이 숫자는 전체 상품 수가 아니라 미리보기에서 보여주는 표본 행 수입니다. 예를 들어 이 테스트에서는 실제로 더 많은 행이 있는 카탈로그를 연결했지만, 화면에는 샘플 3행과 감지된 열만 표시됐습니다.
전체 상품 수는 피드가 처리된 뒤 피드 목록이나 제품 보기 화면에서 따로 확인해야 합니다. 미리보기에서 열이 정상적으로 읽혔다고 해서, 모든 상품이 이미 광고에 쓸 수 있는 상태라는 뜻은 아닙니다.
가져오기 일정은 업데이트 주기에 맞춰 정합니다
파일 미리보기를 통과하면 이 URL에서 파일을 가져오는 빈도를 선택하는 단계가 나옵니다. '한번' 또는 '매일'을 선택할 수 있습니다.
상품 가격과 재고가 매일 바뀔 수 있다면, 카탈로그를 갱신하는 시간과 가져오기 일정을 함께 생각해야 합니다. 오전에 피드가 먼저 가져와지고 오후에 쇼핑몰 데이터가 갱신된다면, 그날은 이전 정보가 남을 수 있습니다. URL 방식에서는 파일 생성 시점과 가져오기 시점을 운영 규칙으로 정해두는 편이 좋습니다.
3. 이미 자동 업로드 작업이 있다면 SFTP 연결
SFTP는 서버나 파일 전송 도구에서 상품 파일을 직접 업로드하는 방식입니다. 광고 관리자에서는 SFTP 연결을 선택하고 인증을 설정한 뒤, 제공된 접속정보를 SFTP 클라이언트나 업로드 스크립트에 넣어 파일을 전송합니다.
이 방식이 어울리는 곳은 보통 다음과 같습니다.
- 쇼핑몰이나 ERP에서 매일 상품 CSV를 자동으로 내보내고 있는 곳
- 개발팀이 정해진 시간에 서버 작업을 실행할 수 있는 곳
- 사람이 파일을 내려받고 올리는 과정 없이 최신 카탈로그를 유지하려는 곳
SFTP 연결을 만들면 피드 ID, 호스트, 사용자명, 업로드 경로, 포트처럼 SFTP 클라이언트에 넣을 값이 표시됩니다. 이 값으로 클라이언트나 업로드 스크립트를 설정한 뒤, 지정된 경로에 피드 파일을 전송합니다. 아래 화면에서는 피드 ID와 사용자명을 가린 상태로, 어떤 종류의 정보를 확인하는지 보여줍니다.
SFTP는 비밀번호 또는 SSH 공개 키로 인증할 수 있습니다. 업로드 파일은 SFTP 루트에 바로 두어야 하며, 하위 폴더에 넣으면 처리 문제가 생길 수 있습니다. 접속 비밀번호와 사용자명, 피드 식별자는 화면 캡처나 메신저에 공유하지 않는 것이 원칙입니다.
여기서 가장 중요한 구분은 파일 전송 성공과 상품 처리 완료가 같지 않다는 점입니다. 공식 가이드도 업로드는 비동기로 처리되므로, 전송이 성공했더라도 업로드 이력과 처리 결과를 확인하라고 안내합니다. 즉, SFTP 클라이언트에서 전송 완료가 보였다고 바로 끝내면 안 됩니다.
업로드가 끝난 뒤에는 상품 목록을 확인해야 합니다
피드가 업로드되면 제품 탭에서 실제 상품이 어떻게 읽혔는지 확인할 수 있습니다. 아래처럼 상품명, 설명, URL, 가격이 목록에 나타나는지 먼저 살펴보세요.
이 단계에서 확인할 내용은 단순합니다.
- 예상한 상품 수가 들어왔는가
- 제목, 가격, 재고 상태가 현재 쇼핑몰 정보와 같은가
- 상품 URL과 이미지가 올바른 상품을 가리키는가
- 품절 상품이 계속 노출 대상으로 남아 있지 않은가
- 같은 상품이 중복되거나 빠지지 않았는가
상품이 목록에 보인다는 것은 피드 데이터 확인에 도움이 되는 신호입니다. 하지만 곧바로 광고가 노출된다는 뜻은 아닙니다. OpenAI는 업로드 완료 후에도 상품 데이터, 재고 상태, 검토, 광고 그룹의 상품 조건, 캠페인 자격 같은 요소가 광고 제공 여부에 영향을 준다고 안내합니다.
피드와 캠페인의 역할도 나누어 생각하면 이해하기 쉽습니다. 피드는 상품 카탈로그를 제공하고, 캠페인은 그 피드를 연결합니다. 광고 그룹에서는 필요하면 브랜드·가격대 같은 상품 조건을 추가할 수 있고, 상품 광고 템플릿은 선택된 상품의 제목, 가격, 이미지, 목적지 URL을 사용합니다. 조건에 맞는 상품이라고 해서 노출이 보장되는 것은 아닙니다.
연결 방식보다 더 자주 생기는 네 가지 혼동
1. 샘플 행 수가 전체 상품 수라고 생각하는 경우
URL 미리보기의 샘플 행은 파일이 읽혔는지 빠르게 확인하는 표본입니다. 전체 상품 수는 처리 후 피드 목록과 제품 목록에서 확인해야 합니다.
2. 업로드 성공이 곧 광고 노출이라고 생각하는 경우
파일이 접수되고 상품이 처리되는 과정, 광고 그룹의 상품 조건, 캠페인·광고 검토와 활성화는 서로 다른 단계입니다. 상품 목록을 확인한 뒤에야 다음 캠페인 설정을 판단할 수 있습니다.
3. 업데이트할 때마다 상품 식별자를 바꾸는 경우
기존 상품을 업데이트하려면 같은 상품을 같은 식별자로 인식할 수 있어야 합니다. 상품명을 고치거나 가격을 바꾸더라도 item_id를 불필요하게 바꾸지 않는 편이 좋습니다.
4. 접속정보가 보이는 화면을 그대로 공유하는 경우
SFTP 비밀번호, 사용자명, 호스트, 피드 식별자가 포함된 화면은 외부에 공유하지 않아야 합니다. 비밀번호가 한 번이라도 외부에 노출됐다면 새로 발급해 기존 비밀번호를 교체하는 편이 안전합니다.
우리에게 맞는 방식은 무엇일까요?
처음에는 복잡하게 생각하지 않아도 됩니다.
| 우리 상황 | 먼저 선택할 방법 |
|---|---|
| 상품 수와 열 구성이 맞는지 빠르게 확인하고 싶다 | CSV 또는 TXT 업로드 |
| 시스템에서 최신 상품 파일을 공개 HTTPS 주소로 제공할 수 있다 | 호스팅된 URL |
| 정기 파일 생성과 서버 업로드를 자동화할 수 있다 | SFTP 연결 |
가장 현실적인 순서는 CSV로 상품 데이터가 제대로 읽히는지 먼저 확인하고, 수동 업데이트가 부담스러워지는 시점에 호스팅된 URL이나 SFTP로 옮겨가는 것입니다.
핵심은 어떤 연결 방식을 쓰느냐보다, 가격·재고·상품 URL·이미지가 실제 쇼핑몰 상태와 계속 맞아 있는가입니다. 상품 피드는 광고 소재를 한 번 만들어 두는 기능이 아니라, 카탈로그의 최신 상태를 광고 운영에 연결하는 기반에 가깝습니다.
