Google 판매자 센터 전송
Google 판매자 센터용 BigQuery Data Transfer Service를 사용하여 Google 판매자 센터 보고 데이터의 반복되는 로드 작업을 자동으로 예약하고 관리할 수 있습니다.
지원되는 보고서
Google 판매자 센터용 BigQuery Data Transfer Service는 다음과 같은 데이터를 지원합니다.
제품 및 제품 문제
제품 및 제품 문제 보고서에는 피드를 통해 또는 Content API for Shopping을 통해 판매자 센터에 제공되는 제품 데이터가 포함됩니다. 이 보고서에는 Google이 제품에서 감지한 항목 수준의 문제도 포함됩니다. Google 판매자 센터에서 또는 Content API for Shopping을 쿼리하여 제품 및 제품 문제 데이터를 볼 수 있습니다. 이 데이터가 BigQuery에 로드되는 방법에 대한 정보는 Google 판매자 센터 제품 테이블 스키마를 참조하세요.
리전별 인벤토리
리전별 인벤토리 보고서에는 리전별 가용성 및 가격 책정 재정의에 대한 추가 제품 데이터가 포함됩니다. 이 데이터가 BigQuery에 로드되는 방법에 대한 자세한 내용은 Google 판매자 센터 리전별 인벤토리 테이블 스키마를 참조하세요.
로컬 인벤토리
로컬 인벤토리 보고서에는 제품의 로컬 인벤토리에 대한 추가 제품 데이터가 포함됩니다. 이 보고서에는 로컬 가격 책정, 재고, 수량, 수령, 매장 내 제품 위치에 대한 데이터가 포함됩니다. 이 데이터가 BigQuery에 로드되는 방법에 대한 자세한 내용은 Google 판매자 센터 로컬 인벤토리 테이블 스키마를 참조하세요.
성능
실적 보고서는 광고 및 무료 등록정보 모두에서 실적 데이터를 세분화하여 제공합니다. 이 데이터가 BigQuery에 로드되는 방법에 대한 정보는 Google 판매자 센터 성능 테이블 스키마를 참조하세요.
베스트셀러
베스트셀러 보고서는 Google 판매자 센터 UI에 있는 것과 동일한 데이터를 제공하며 최대 2년까지 국가 또는 카테고리의 데이터를 백필할 수 있습니다. 여기에는 쇼핑 광고 및 무료 목록에서 가장 인기 있는 제품과 브랜드에 대한 데이터와 인벤토리에 재고가 있는지 여부가 포함됩니다. 이 보고서는 Google 판매자 센터를 통해 제공되는 베스트셀러 보고서를 기반으로 합니다. 이 데이터가 BigQuery에 로드되는 방법에 대한 정보는 Google 판매자 센터 베스트셀러 테이블 스키마를 참조하세요.
가격 경쟁력
가격 벤치마크 보고서(이전의 가격 벤치마크 보고서)는 제품 수준 속성 및 가격 벤치마크 데이터를 포함하며 Google 판매자 센터에서 제공하는 가격 경쟁력 보고서와 동일한 정의를 기반으로 합니다. 이 데이터가 BigQuery에 로드되는 방법에 대한 정보는 Google 판매자 센터 가격 경쟁력 테이블 스키마를 참조하세요.
가격 정보
가격 정보 보고서를 사용하여 제품의 추천 할인가와 제품 가격을 업데이트할 때 예상되는 실적 예측을 확인할 수 있습니다. 가격 정보 보고서를 사용하면 제품의 가격을 더욱 효과적으로 책정할 수 있습니다. 이 보고서의 데이터를 사용하는 방법에 대한 자세한 내용은 가격 정보 보고서로 제품 가격 책정 개선을 참조하세요. 이 데이터가 BigQuery에 로드되는 방법에 대한 정보는 Google 판매자 센터 가격 정보 테이블 스키마를 참조하세요.
가격 벤치마크
이 데이터가 BigQuery에 로드되는 방법에 대한 정보는 Google 판매자 센터 가격 벤치마크 테이블 스키마를 참조하세요.
베스트셀러
베스트셀러 보고서에는 쇼핑 광고 및 무료 목록에서 가장 인기 있는 제품과 브랜드에 대한 데이터와 인벤토리에 재고가 있는지 여부가 포함됩니다. 이 보고서는 Google 판매자 센터를 통해 제공되는 베스트셀러 보고서를 기반으로 합니다.
베스트셀러 보고서는 다음 표로 구성됩니다.
BestSellers_TopProducts_
는 국가별 상위 제품 및 Google 상품 카테고리 순위를 나열한 목록입니다. 이 테이블은 쇼핑 광고 및 무료 목록의 모든 판매자 데이터를 나타냅니다.BestSellers_TopProducts_Inventory_
는 인기 제품과 인벤토리 간의 매핑 테이블입니다.BestSellers_TopBrands_
는 국가 및 Google 제품 카테고리별로 계산된 상위 브랜드의 순위 목록입니다. 이는 쇼핑 광고와 무료 목록에 있는 모든 판매자의 데이터를 나타냅니다.
베스트셀러 데이터가 BigQuery에 로드되는 방식에 대한 자세한 내용은 Google 판매자 센터 인기 제품, 제품 인벤토리, 인기 브랜드 테이블 스키마를 참조하세요.
Google 판매자 센터용 BigQuery Data Transfer Service는 다음과 같은 보고 옵션을 지원합니다.
보고 옵션 | 지원 |
---|---|
일정 | 일별, 주별, 월별 또는 커스텀으로 설정할 수 있습니다. 기본적으로 전송이 생성될 때 일별로 설정됩니다. 전송 사이의 최소 간격은 6시간입니다. |
제한사항
일부 보고서에는 이전 백필에 대한 지원 기간과 같은 자체 제약조건이 있을 수 있습니다. 다음 섹션에서는 각 보고서의 제한사항에 대해 설명합니다.
이전 백필 지원
모든 보고서가 동일한 방식으로 이전 백필을 지원하지는 않습니다. 다음은 보고서 목록과 이전 백필의 지원 수준입니다.
- 제품 및 제품 문제 - 14일
- 로컬 인벤토리 - 14일
- 리전 인벤토리 - 14일
- 성능 - 2년
- 베스트셀러 - 2년
- 가격 경쟁력 - 백필 지원 없음
- 가격 정보 - 백필 지원 없음
제품 및 제품 문제
- BigQuery의 제품 및 제품 문제 데이터는 판매자 계정의 실시간 보기를 나타내지 않습니다. 데이터의 타임라인을 보려면 스키마의
product_data_timestamp
필드를 참조하세요.
가격 벤치마크
- 가격 벤치마크 데이터는 가격 벤치마크의 실시간 보기가 아닙니다. 데이터 타임라인을 보려면 가격 벤치마크 스키마의
price_benchmark_timestamp
필드를 참조하세요. - 모든 제품에 가격 벤치마크가 있는 것은 아닙니다.
베스트셀러
- 모든 국가가 순위 데이터를 포함하는 것은 아닙니다. 보고서에 포함된 국가(ISO 3166-1 alpha-2 사용): AT, AU, BE, BR, CA, CH, CZ, DE, DK, ES, FI, FR, GB, HU, IE, IN, IT, JP, MX, NL, NO, NZ, PL, PT, RO, RU, SE, SK, TR, UA, US
- 베스트셀러 데이터는 브랜드 순위의 실시간 보기가 아닙니다.
데이터의 타임라인을 보려면
BestSellers_TopProducts_
및BestSellers_TopBrands_
스키마의rank_timestamp
필드를 참조하세요. BestSellers_TopBrands_
테이블의 브랜드에 매핑되지 않는google_brand_id
가 있는Products_
테이블에 행이 있을 수 있습니다.google_brand_id
필드의 브랜드 ID는 비즈니스 및 브랜드의 변화 특성을 반영하기 위해 시간 경과에 따라 변경될 수 있습니다. 따라서 장기간에 걸친 브랜드 집합 추적은 보장되지 않습니다.- 여러 카테고리에서 브랜드 순위가 결정되지만
Products_
테이블의 모든 제품은 리프 카테고리에 속합니다. 비리프 카테고리에서 브랜드와 제품을 조인하려면 베스트셀러 샘플 쿼리에 표시된 대로google_product_category_ids
필드를 사용합니다.
멀티 클라이언트 계정(MCA) 지원
여러 판매자 ID를 가진 기존 고객은 상위 멀티 클라이언트 계정(MCA)을 구성하는 것이 좋습니다. MCA를 구성하면 모든 판매자 ID의 단일 전송을 만들 수 있습니다.
Google 판매자 센터 MCA를 사용하면 개별 판매자 ID를 사용할 때보다 여러 가지 이점이 있습니다.
- 여러 판매자 ID의 보고 데이터를 전송할 때 더 이상 여러 전송을 관리할 필요가 없습니다.
- 여러 판매자 ID가 포함된 쿼리는 모든 판매자 ID 데이터가 동일한 테이블에 저장되므로 훨씬 더 쉽게 작성할 수 있습니다.
- MCA를 사용하면 모든 판매자 ID 데이터가 동일한 작업으로 로드되므로 잠재적인 BigQuery 로드 작업 할당량 문제가 완화됩니다.
MCA를 사용할 경우의 한 가지 단점은 후속 쿼리 비용이 높아질 수 있다는 점입니다. 모든 데이터가 동일한 테이블에 저장되므로 개별 판매자 ID의 데이터를 검색하는 쿼리가 여전히 전체 테이블을 검색해야 합니다.
MCA를 사용하는 경우 aggregator_id
아래에 MCA ID가 나열되고 merchant_id
아래에 개별 하위 계정이 나열됩니다. MCA를 사용하지 않는 계정의 경우 aggregator_id
가 null
로 설정됩니다.
모든 보고서가 MCA를 지원하지는 않습니다. MCA는 다음 보고서에서 지원됩니다.
- 제품 및 제품 문제
- 로컬 인벤토리
- 리전별 인벤토리
시작하기 전에
Google 판매자 센터 전송을 만들기 전에 다음을 수행하세요.
- BigQuery Data Transfer Service 사용 설정에 필요한 모든 작업을 완료했는지 확인합니다.
- Google 판매자 센터 데이터를 저장할 BigQuery 데이터 세트를 생성합니다.
- Pub/Sub의 전송 실행 알림을 설정하려면
pubsub.topics.setIamPolicy
권한이 있어야 합니다. 이메일 알림만 설정한다면 Pub/Sub 권한이 필요하지 않습니다. 자세한 내용은 BigQuery Data Transfer Service 실행 알림을 참조하세요.
필수 권한
전송을 만드는 사람에게 다음과 같은 필수 권한이 있는지 확인합니다.
BigQuery:
- 전송을 만들
bigquery.transfers.update
권한 - 대상 데이터 세트에 대한
bigquery.datasets.get
및bigquery.datasets.update
권한
사전 정의된 IAM 역할
bigquery.admin
에는bigquery.transfers.update
,bigquery.datasets.update
,bigquery.datasets.get
권한이 있습니다. BigQuery Data Transfer Service의 IAM 역할에 대한 자세한 내용은 액세스 제어를 확인하세요.- 전송을 만들
Google 판매자 센터
전송 구성에 사용되는 Google 판매자 센터 계정에 액세스하세요. Google 판매자 센터 UI에서 사용자 섹션을 클릭하여 액세스 권한을 확인할 수 있습니다.
가격 경쟁력 및 베스트셀러 데이터에 액세스하려면 먼저 시장 분석 프로그램을 사용하도록 설정해야 합니다.
Google 판매자 센터 전송 설정
Google 판매자 센터 보고를 위한 데이터 전송을 설정하려면 다음이 필요합니다.
- 판매자 ID 또는멀티 클라이언트 계정 ID: Google 판매자 센터 UI에 표시되는 판매자 ID입니다.
Google 판매자 센터 보고용 데이터 전송을 만들려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
전송을 클릭합니다.
전송 만들기를 클릭합니다.
전송 만들기 페이지에서 다음을 수행합니다.
소스 유형 섹션에서 소스로 Google 판매자 센터를 선택합니다.
전송 구성 이름 섹션의 표시 이름에 전송 이름(예:
My Transfer
)을 입력합니다. 전송 이름은 나중에 수정해야 할 경우를 대비해 전송을 식별할 수 있는 값이면 됩니다.일정 옵션 섹션에서 다음을 수행합니다.
반복 빈도를 선택합니다. 시간, 일, 주, 월을 선택할 경우 빈도도 지정해야 합니다. 커스텀 반복 빈도를 지정하기 위해 커스텀을 선택할 수도 있습니다. 주문형을 선택하면 전송을 수동으로 트리거할 때 이 전송이 실행됩니다.
해당하는 경우 지금 시작 또는 설정 시간에 시작을 선택하고 시작 날짜와 실행 시간을 제공합니다.
시작일 및 실행 시간에 전송을 시작할 날짜 및 시간을 입력합니다. 이 값은 현재 UTC 시간에서 24시간 이상 경과한 시간이어야 합니다. 지금 시작을 선택하면 이 옵션은 사용 중지됩니다.
일정 옵션을 지금 시작으로 설정한 상태로 두면 첫 번째 전송 실행이 즉시 시작되고, 오류 메시지(
No data to transfer found for the Merchant account. If you have just created this transfer, you may need to wait for up to a day before the data of your Merchant account are prepared and available for the transfer.
)와 함께 실패합니다. 다음 예약된 실행은 성공적으로 실행됩니다. 판매자 계정의 데이터가 동일한 날짜(UTC 시간)에 준비되었으면 오늘 실행에 대해 백필을 설정할 수 있습니다.
대상 설정 섹션의 대상 데이터세트에서 데이터를 저장하기 위해 만든 데이터세트를 선택합니다.
데이터 소스 세부정보 섹션에서 판매자 ID에 판매자 ID 또는 MCA ID를 입력합니다.
전송할 보고서를 선택하세요. 자세한 내용은 지원되는 보고서를 참조하세요.
(선택사항) 알림 옵션 섹션에서 다음을 수행합니다.
저장을 클릭합니다.
bq
bq mk
명령어를 입력하고 전송 생성 플래그 --transfer_config
를 지정합니다. 다음 플래그도 필요합니다.
--data_source
--target_dataset
--display_name
--params
또한 --project_id
플래그를 입력하여 특정 프로젝트를 지정할 수도 있습니다. --project_id
를 지정하지 않으면 기본 프로젝트가 사용됩니다.
bq mk \ --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source
각 항목의 의미는 다음과 같습니다.
- project_id는 프로젝트 ID입니다.
- dataset는 전송 구성 대상 데이터 세트입니다.
- name은 전송 구성의 표시 이름입니다. 전송 이름은 나중에 수정해야 할 경우를 대비해 전송을 식별할 수 있는 값이면 됩니다.
- parameters에는 JSON 형식으로 생성된 전송 구성의 매개변수가 있습니다. 예를 들면
--params='{"param":"param_value"}'
입니다.- Google 판매자 센터에서
merchant_id
매개변수를 지정합니다. export_products
매개변수는 제품 및 제품 문제 데이터를 전송할지 여부를 지정합니다. 이 매개변수는export_products
매개변수를 지정하지 않은 경우에도 기본적으로 포함됩니다. 이 매개변수를 명시적으로 포함하고 'true'로 설정하는 것이 좋습니다.export_regional_inventories
매개변수는 리전별 인벤토리 데이터를 전송할지 여부를 지정합니다.export_local_inventories
매개변수는 로컬 인벤토리 데이터를 전송할지 여부를 지정합니다.export_price_benchmarks
매개변수는 가격 벤치마킹 데이터를 전송할지 여부를 지정합니다.export_best_sellers
매개변수는 베스트셀러 데이터를 전송할지 여부를 지정합니다.
- Google 판매자 센터에서
- data_source는 데이터 소스(
merchant_center
)입니다.
예를 들어 다음 명령어는 판매자 ID 1234
및 대상 데이터 세트 mydataset
를 사용하여 My Transfer
라는 Google 판매자 센터 전송을 만듭니다. 기본 프로젝트에 전송이 생성됩니다.
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"merchant_id":"1234","export_products":"true","export_regional_inventories":"true","export_local_inventories":"true","export_price_benchmarks":"true","export_best_sellers":"true"}' \
--data_source=merchant_center
명령어를 처음 실행할 때 다음과 같은 메시지를 받게 됩니다.
[URL omitted] Please copy and paste the above URL into your web browser and
follow the instructions to retrieve an authentication code.
메시지 안내를 따라 명령줄에 인증 코드를 붙여넣습니다.
이 전송을 만들고 최대 1일 동안 기다려야만 판매자 계정의 데이터가 준비되고 전송 가능한 상태가 됩니다. 다음 예약된 실행은 성공적으로 실행됩니다. 판매자 계정의 데이터가 동일한 날짜(UTC 시간)에 준비되었으면 오늘 실행에 대해 백필을 설정할 수 있습니다.
API
projects.locations.transferConfigs.create
메서드를 사용하고 TransferConfig
리소스의 인스턴스를 지정합니다.
Google 판매자 센터 전송 설정 문제 해결
전송을 설정하는 데 문제가 발생하면 BigQuery Data Transfer Service 전송 설정 문제 해결에서 Google 판매자 센터 전송 문제를 참조하세요.
데이터 쿼리
BigQuery로 전송되는 데이터는 내부 데이터화 시간별로 파티션을 나눈 테이블에 기록됩니다. 자세한 내용은 파티션을 나눈 테이블 소개를 참조하세요.
Google 판매자 센터 테이블을 쿼리할 때는 _PARTITIONTIME
또는 _PARTITIONDATE
유사 열을 쿼리에 사용해야 합니다.
자세한 내용은 파티션을 나눈 테이블 쿼리를 참조하세요.
Products_
테이블에는 중첩 및 반복 필드가 포함됩니다. 중첩 및 반복 데이터 처리에 대한 자세한 내용은 GoogleSQL 문서에서 반복 필드 처리의 차이점을 참조하세요.
Google 판매자 센터 샘플 쿼리
다음과 같은 Google 판매자 센터 샘플 쿼리를 사용하여 전송된 데이터를 분석할 수 있습니다. Looker Studio와 같은 시각화 도구에서 쿼리를 사용할 수도 있습니다.
다음 각 쿼리에서 dataset를 해당 데이터 세트 이름으로 바꿉니다. merchant_id를 판매자 ID로 바꿉니다. MCA를 사용 중인 경우에는 merchant_id를 MCA ID로 바꿉니다.
제품 및 제품 문제 샘플 쿼리
제품 및 제품 문제 통계
다음 SQL 샘플 쿼리는 제품 수, 문제가 있는 제품, 일별 문제를 제공합니다.
SELECT _PARTITIONDATE AS date, COUNT(*) AS num_products, COUNTIF(ARRAY_LENGTH(issues) > 0) AS num_products_with_issues, SUM(ARRAY_LENGTH(issues)) AS num_issues FROM dataset.Products_merchant_id WHERE _PARTITIONDATE >= 'YYYY-MM-DD' GROUP BY date ORDER BY date DESC
쇼핑 광고에 승인되지 않은 제품
다음 SQL 샘플 쿼리는 쇼핑 광고에 표시하도록 승인되지 않은 제품 수를 국가별로 구분하여 제공합니다. 제외된 대상 또는 제품 관련 문제로 인해 비승인이 발생할 수 있습니다.
SELECT _PARTITIONDATE AS date, disapproved_country, COUNT(*) AS num_products FROM dataset.Products_merchant_id, UNNEST(destinations) AS destination, UNNEST(disapproved_countries) AS disapproved_country WHERE _PARTITIONDATE >= 'YYYY-MM-DD' GROUP BY date, disapproved_country ORDER BY date DESC
승인되지 않은 문제가 있는 제품
다음 SQL 샘플 쿼리는 비승인 문제가 있는 제품 수를 국가별로 구분하여 가져옵니다.
SELECT _PARTITIONDATE AS date, applicable_country, COUNT(DISTINCT CONCAT(CAST(merchant_id AS STRING), ':', product_id)) AS num_distinct_products FROM dataset.Products_merchant_id, UNNEST(issues) AS issue, UNNEST(issue.applicable_countries) as applicable_country WHERE _PARTITIONDATE >= 'YYYY-MM-DD' AND issue.servability = 'disapproved' GROUP BY date, applicable_country ORDER BY date DESC
가격 벤치마크 샘플 쿼리
제품 가격을 벤치마크와 비교
다음 SQL 쿼리는 Products
및 Price Benchmarks
데이터를 조인하여 제품 목록 및 관련 벤치마크를 반환합니다.
WITH products AS ( SELECT _PARTITIONDATE AS date, * FROM dataset.Products_merchant_id WHERE _PARTITIONDATE >= 'YYYY-MM-DD' ), benchmarks AS ( SELECT _PARTITIONDATE AS date, * FROM dataset.Products_PriceBenchmarks_merchant_id WHERE _PARTITIONDATE >= 'YYYY-MM-DD' ) SELECT products.date, products.product_id, products.merchant_id, products.aggregator_id, products.price, products.sale_price, benchmarks.price_benchmark_value, benchmarks.price_benchmark_currency, benchmarks.country_of_sale FROM products INNER JOIN benchmarks ON products.product_id = benchmarks.product_id AND products.merchant_id = benchmarks.merchant_id AND products.date = benchmarks.date
베스트셀러 샘플 쿼리
지정된 카테고리 및 국가의 최고 제품
다음 SQL 쿼리는 미국 '스마트폰' 카테고리의 인기 제품을 반환합니다.
SELECT rank, previous_rank, relative_demand.bucket, (SELECT name FROM top_products.product_title WHERE locale = 'en-US') AS product_title, brand, price_range FROM dataset.BestSellers_TopProducts_merchant_id AS top_products WHERE _PARTITIONDATE = 'YYYY-MM-DD' AND ranking_category = 267 /*Smartphones*/ AND ranking_country = 'US' ORDER BY rank
내 인벤토리의 인기 제품
다음 SQL 쿼리는 BestSellers_TopProducts_Inventory_
및 BestSellers_TopProducts_
데이터를 조인하여 인벤토리에 있는 인기 제품 목록을 반환합니다.
WITH latest_top_products AS ( SELECT * FROM dataset.BestSellers_TopProducts_merchant_id WHERE _PARTITIONDATE = 'YYYY-MM-DD' ), latest_top_products_inventory AS ( SELECT * FROM dataset.BestSellers_TopProducts_Inventory_merchant_id WHERE _PARTITIONDATE = 'YYYY-MM-DD' ) SELECT top_products.rank, inventory.product_id, (SELECT ANY_VALUE(name) FROM top_products.product_title) AS product_title, top_products.brand, top_products.gtins FROM latest_top_products AS top_products INNER JOIN latest_top_products_inventory AS inventory USING (rank_id)
지정된 카테고리 및 국가의 최고 브랜드
다음 SQL 쿼리는 미국 '스마트폰' 카테고리의 인기 브랜드를 반환합니다.
SELECT rank, previous_rank, brand FROM dataset.BestSellers_TopBrands_merchant_id WHERE _PARTITIONDATE = 'YYYY-MM-DD' AND ranking_category = 267 /*Smartphones*/ AND ranking_country = 'US' ORDER BY rank
인벤토리의 최고 브랜드 제품
다음 SQL 쿼리는 인벤토리에 있는 인기 브랜드의 제품 목록을 카테고리 및 국가별로 나열하여 반환합니다.
WITH latest_top_brands AS ( SELECT * FROM dataset.BestSellers_TopBrands_merchant_id WHERE _PARTITIONDATE = 'YYYY-MM-DD' ), latest_products AS ( SELECT product.*, product_category_id FROM dataset.Products_merchant_id AS product, UNNEST(product.google_product_category_ids) AS product_category_id, UNNEST(destinations) AS destination, UNNEST(destination.approved_countries) AS approved_country WHERE _PARTITIONDATE = 'YYYY-MM-DD' ) SELECT top_brands.brand, (SELECT name FROM top_brands.ranking_category_path WHERE locale = 'en-US') AS ranking_category, top_brands.ranking_country, top_brands.rank, products.product_id, products.title FROM latest_top_brands AS top_brands INNER JOIN latest_products AS products ON top_brands.google_brand_id = products.google_brand_id AND top_brands.ranking_category = product_category_id AND top_brands.ranking_country = products.approved_country