Google 판매자 센터 전송

Google 판매자 센터용 BigQuery Data Transfer Service를 사용하여 Google 판매자 센터 보고 데이터의 반복 로드 작업을 자동으로 예약하고 관리할 수 있습니다.

제한사항

판매자 센터 전송에는 다음과 같은 제한사항이 적용됩니다.

  • 판매자 ID의 전송을 만든 후 최대 90분 정도 기다리면 판매자 계정 데이터가 준비되고 전송할 수 있게 됩니다.
  • 최대 백필 기간은 구성할 수 없습니다. 이전 데이터 백필은 현재 지원되지 않습니다. 현재 데이터에 대한 백필만 설정할 수 있습니다.
  • BigQuery의 제품 및 제품 문제 데이터는 판매자 계정의 실시간 보기를 나타내지 않습니다. 데이터는 배치 모드로 전송되며 최대 15시간 전의 데이터일 수 있습니다. BigQuery에서 데이터의 최신 상태를 확인하려면 제품 테이블의 세부정보 탭에서 '데이터 최신 상태' 타임스탬프를 보세요. 제품 테이블의 데이터 최신 상태 타임스탬프

지원되는 보고서

Google 판매자 센터용 BigQuery Data Transfer Service는 현재 다음과 같은 데이터를 지원합니다.

  • 제품 및 제품 문제
    여기에는 피드 또는 Content API for Shopping을 통해 판매자 센터에 제공되는 제품 데이터가 포함됩니다. 또한 Google이 제품에서 감지한 항목 수준의 문제도 포함됩니다. 이 데이터는 Google 판매자 센터에서 보거나 Content API for Shopping을 쿼리하여 확인할 수 있습니다.

판매자 센터 보고 데이터가 BigQuery에 보고되는 방식에 대한 자세한 내용은 Google 판매자 센터 테이블 스키마를 참조하세요.

현재 Google 판매자 센터용 BigQuery Data Transfer Service는 다음과 같은 보고 옵션을 지원합니다.

보고 옵션 지원
일정

매일, 전송이 처음 만들어진 시간(기본값)

시간을 구성할 수 있습니다.

멀티 클라이언트 계정(MCA) 지원

여러 판매자 ID를 가진 기존 고객은 상위 멀티 클라이언트 계정(MCA)을 구성하는 것이 좋습니다. MCA를 구성하면 모든 판매자 ID의 단일 전송을 만들 수 있습니다.

Google 판매자 센터 MCA를 사용하면 개별 판매자 ID를 사용하는 경우보다 여러 가지 이점이 있습니다.

  • 여러 판매자 ID의 보고 데이터를 전송할 때 더 이상 여러 전송을 관리할 필요가 없습니다.
  • 여러 판매자 ID가 포함된 쿼리는 모든 판매자 ID 데이터가 동일한 테이블에 저장되므로 훨씬 더 쉽게 작성할 수 있습니다.
  • MCA를 사용하면 모든 판매자 ID 데이터가 동일한 작업에 로드되므로 잠재적인 BigQuery 로드 작업 할당량 문제가 완화됩니다.

MCA를 사용할 경우의 단점 하나는 후속 쿼리 비용이 높아질 수 있다는 점입니다. 모든 데이터가 동일한 테이블에 저장되므로 개별 판매자 ID의 데이터를 검색하는 쿼리가 여전히 전체 테이블을 검색해야 합니다.

MCA를 사용 중인 경우 MCA ID가 aggregator_id에 나열되고 개별 하위 계정이 merchant_id에 나열됩니다. MCA를 사용하지 않는 계정의 경우 aggregator_idnull로 설정됩니다.

시작하기 전에

Google 판매자 센터 전송을 만들기 전에 다음을 수행합니다.

  • BigQuery Data Transfer Service 사용 설정에 필요한 모든 작업을 완료했는지 확인합니다.
  • Google 판매자 센터 데이터를 저장할 BigQuery 데이터세트를 생성합니다.
  • 기본 BigQuery 웹 UI를 사용하여 전송을 만들려면 권한 창을 볼 수 있도록 bigquery.cloud.google.com에서 팝업을 허용합니다. Google 판매자 센터용 BigQuery Data Transfer Service가 Google 쇼핑에서 제품 목록 및 계정을 관리할 수 있는 권한을 허용해야 합니다.
  • 전송 실행 알림은 현재 알파 버전입니다. Cloud Pub/Sub에서 전송 실행 알림을 설정하려면 pubsub.topics.setIamPolicy 권한이 있어야 합니다. 이메일 알림만 설정한다면 Cloud Pub/Sub 권한은 필요 없습니다. 자세한 내용은 BigQuery Data Transfer Service 실행 알림을 참조하세요.

필수 권한

전송을 만드는 사람에게 다음과 같은 필수 권한이 있는지 확인합니다.

  • BigQuery:

    • 전송을 만들 bigquery.transfers.update 권한
    • 대상 데이터세트에 대한 bigquery.datasets.update 권한

    사전 정의된 Cloud IAM 역할 bigquery.admin에는 bigquery.transfers.updatebigquery.datasets.update 권한이 있습니다. BigQuery의 Cloud IAM 역할에 대한 자세한 내용은 액세스 제어를 참조하세요.

  • Google 판매자 센터: 전송 구성에서 사용되는 Google 판매자 센터 계정에 액세스합니다. Google 판매자 센터 UI에서 사용자 섹션을 클릭하여 액세스 권한을 확인할 수 있습니다.

Google 판매자 센터 전송 설정

Google 판매자 센터 보고용 데이터 전송을 설정하려면 다음이 필요합니다.

  • 판매자 ID 또는멀티 클라이언트 계정 ID: Google 판매자 센터 UI의 왼쪽 상단 섹션에 표시되는 판매자 ID입니다.

Google 판매자 센터 보고용 데이터 전송을 만들려면 다음 안내를 따르세요.

Console

  1. BigQuery 웹 UI로 이동합니다.

    BigQuery 웹 UI로 이동

  2. 전송을 클릭합니다.

  3. 전송 만들기를 클릭합니다.

  4. 전송 만들기 페이지에서 다음을 수행합니다.

    • 소스 유형 섹션에서 소스에 Google 판매자 센터를 선택합니다.

    • 전송 구성 이름 섹션의 표시 이름에 전송 이름(예: My Transfer)을 입력합니다. 전송 이름은 나중에 수정해야 할 경우에 전송을 쉽게 식별할 수 있는 값이면 됩니다.

      전송 이름

    • 일정 옵션 섹션의 일정에서 설정 시간에 시작을 클릭합니다.

      • 반복에서 전송을 실행할 빈도 옵션을 선택합니다.

        • 매일(기본값)
        • 매주
        • 매월
        • 커스텀
        • 요청 시
      • 시작일 및 실행 시간에 전송을 시작할 날짜 및 시간을 입력합니다. 이 값은 현재 UTC 시간에서 90분 이상 경과한 시간이어야 합니다. 지금 시작을 선택하면 이 옵션은 사용 중지됩니다.

        전송 일정

        일정 옵션을 지금 시작으로 설정한 상태로 두면 첫 번째 전송 실행이 즉시 시작되고, 오류 메시지(No data to transfer found for the Merchant account. If you have just created this transfer, you may need to wait for up to 90 minutes before the data of your Merchant account are prepared and available for the transfer.)와 함께 실패합니다. 이 오류가 발생하면 90분 동안 기다린 후 오늘 날짜로 백필을 설정하거나 다음 예약이 실행되는 내일까지 기다리세요.

    • 대상 설정 섹션의 대상 데이터세트에서 데이터를 저장하기 위해 만든 데이터세트를 선택합니다.

      전송 데이터세트

    • 데이터 소스 세부정보 섹션에서 판매자 ID에 판매자 ID 또는 MCA ID를 입력합니다.

      Google 판매자 센터 소스 세부정보

    • (선택사항) 알림 옵션 섹션에서 다음을 수행합니다.

      • 전환을 클릭해서 이메일 알림을 사용 설정합니다. 이 옵션을 사용 설정하면 전송 실행이 실패할 때 전송 관리자에게 이메일 알림이 발송됩니다.
      • Cloud Pub/Sub 주제 선택에서 주제 이름을 선택하거나 주제 만들기를 클릭합니다. 이 옵션은 전송의 Cloud Pub/Sub 실행 알림을 구성합니다. 전송 실행 알림은 현재 알파 버전입니다.
  5. 저장을 클릭합니다.

기본 UI

  1. 기본 BigQuery 웹 UI로 이동합니다.

    기본 BigQuery 웹 UI로 이동

  2. 전송을 클릭합니다.

  3. 전송 추가를 클릭합니다.

  4. 새 전송 페이지에서 다음 안내를 따르세요.

    • 소스에서 Google 판매자 센터를 선택합니다.
    • 표시 이름에 전송 이름(예: My Transfer)을 입력합니다. 전송 이름은 나중에 수정해야 할 경우에 전송을 쉽게 식별할 수 있는 값이면 됩니다.
    • 일정에서 수정을 클릭하고 Starting (UTC)(시작(UTC)) 시간을 현재 시간에서 90분 이상 지난 시간으로 변경합니다.

      전송 일정

      기본 예약 설정을 그대로 두면 첫 번째 전송 실행이 즉시 시작되고 오류 메시지(No data to transfer found for the Merchant account. If you have just created this transfer, you may need to wait for up to 90 minutes before the data of your Merchant account are prepared and available for the transfer.)와 함께 실패합니다. 이 오류가 발생하면 90분 동안 기다린 후 오늘 날짜로 백필을 설정하거나 다음 예약이 실행되는 내일까지 기다리세요.

    • 대상 데이터세트에서 Google 판매자 센터 데이터를 저장하기 위해 만든 데이터세트를 선택합니다.

    • 판매자 ID에 판매자 ID 또는 MCA 계정 ID를 입력합니다.

      Google 판매자 센터 전송

    • (선택사항) 고급 섹션을 펼쳐서 전송의 실행 알림을 구성합니다. 전송 실행 알림은 현재 알파 버전입니다.

      • Cloud Pub/Sub 주제주제 이름(예: projects/myproject/topics/mytopic)을 입력합니다.
      • 전송 실행 실패 시 이메일 알림을 허용하려면 이메일 알림 전송을 선택합니다.
      • 전송 설정 시 사용 중지됨을 선택하지 않습니다. 기존 전송을 사용 중지하려면 전송 작업을 참조하세요.

        Cloud Pub/Sub 주제

  5. 추가를 클릭합니다.

  6. 메시지가 표시되면 허용을 클릭하여 BigQuery Data Transfer Service에 Google 쇼핑의 제품 목록 및 판매자 계정을 관리하고, BigQuery에서 데이터에 액세스하고 관리할 수 있는 권한을 부여합니다. 권한 창을 보려면 bigquery.cloud.google.com에서 팝업을 허용해야 합니다.

    판매자 센터의 전송 권한 대화상자

CLI

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 매개변수를 지정합니다.
  • 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"}' \
--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.

메시지 안내를 따라 명령줄에 인증 코드를 붙여넣습니다.

이 전송을 만들고 최대 90분 동안 기다려야만 판매자 계정이 준비되고 전송 가능한 상태가 됩니다. 이 오류가 발생하면 90분 동안 기다린 후 오늘 날짜로 백필을 설정하거나 다음 예약이 실행되는 내일까지 기다리세요.

API

projects.locations.transferConfigs.create 메서드를 사용하고 TransferConfig 리소스의 인스턴스를 지정합니다.

Google 판매자 센터 전송 설정 문제해결

전송을 설정하는 데 문제가 발생한 경우에는 BigQuery Data Transfer Service 전송 설정 문제해결Google 판매자 센터 전송 문제를 참조하세요.

데이터 쿼리

BigQuery로 전송되는 데이터는 수집 시간으로 파티션을 나눈 테이블에 기록됩니다. 자세한 내용은 파티션을 나눈 테이블 소개를 참조하세요.

Google 판매자 센터 테이블을 쿼리할 때는 _PARTITIONTIME 또는 _PARTITIONDATE 의사 열을 쿼리에 사용해야 합니다. 자세한 내용은 파티션을 나눈 테이블 쿼리를 참조하세요.

Products_ 테이블에는 중첩 및 반복 필드가 포함됩니다. 중첩 및 반복 데이터 처리에 대한 자세한 내용은 표준 SQL 문서의 반복 필드 처리의 차이점을 참조하세요.

Google 판매자 센터 샘플 쿼리

다음과 같은 Google 판매자 센터 샘플 쿼리를 사용하여 전송된 데이터를 분석할 수 있습니다. 또한 Google 데이터 스튜디오와 같은 시각화 도구에서 쿼리를 사용할 수 있습니다.

이러한 샘플은 BigQuery의 표준 SQL 지원 기능을 사용합니다. 표준 SQL은 GCP Console의 BigQuery 웹 UI에서 기본 쿼리 구문입니다. BigQuery가 명령줄에서 표준 SQL을 사용하도록 하려면 --use_legacy_sql=false 플래그를 사용하세요. 프리픽스 사용에 대한 자세한 내용은 쿼리 프리픽스 설정을 참조하세요.

다음 각 쿼리에서 [DATASET]를 해당 데이터세트 이름으로 바꿉니다. [MERCHANT_ID]를 판매자 ID로 바꿉니다. MCA를 사용 중인 경우에는 [MERCHANT_ID]를 MCA ID로 바꿉니다.

제품 및 제품 문제 통계

다음 샘플 쿼리는 제품 수, 문제가 있는 제품, 일별 문제를 제공합니다.

Console

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

CLI

bq query --use_legacy_sql=false '
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'

쇼핑 광고에 승인되지 않은 제품

다음 샘플 쿼리는 쇼핑 광고에 표시하도록 승인되지 않은 제품 수를 제공합니다. 제외되었거나 문제가 있는 제품이라서 승인되지 않았을 수 있습니다.

Console

SELECT
  _PARTITIONDATE AS date,
  COUNT(*) AS num_products
FROM
  dataset.Products_merchant_id,
  UNNEST(destinations) AS destination
WHERE
  _PARTITIONDATE >= 'YYYY-MM-DD' AND
  destination.status = 'disapproved'
GROUP BY
  date
ORDER BY
  date DESC

CLI

bq query --use_legacy_sql=false '
SELECT
  _PARTITIONDATE AS date,
  COUNT(*) AS num_products
FROM
  dataset.Products_merchant_id,
  UNNEST(destinations) AS destination
WHERE
  _PARTITIONDATE >= 'YYYY-MM-DD' AND
  destination.status = 'disapproved'
GROUP BY
  date
ORDER BY
  date DESC'

승인되지 않은 문제가 있는 제품

다음 샘플에서는 승인되지 않은 문제가 있는 제품 수를 검색합니다.

Console

SELECT
  _PARTITIONDATE AS date,
  COUNT(DISTINCT CONCAT(CAST(merchant_id AS STRING), ':', product_id))
      AS num_distinct_products
FROM
  dataset.Products_merchant_id,
  UNNEST(issues) AS issue
WHERE
  _PARTITIONDATE >= 'YYYY-MM-DD' AND
  issue.servability = 'disapproved'
GROUP BY
  date
ORDER BY
  date DESC

CLI

bq query --use_legacy_sql=false '
SELECT
  _PARTITIONDATE AS date,
  COUNT(DISTINCT CONCAT(CAST(merchant_id AS STRING), ':', product_id))
      AS num_distinct_products
FROM
  dataset.Products_merchant_id,
  UNNEST(issues) AS issue
WHERE
  _PARTITIONDATE >= 'YYYY-MM-DD' AND
  issue.servability = 'disapproved'
GROUP BY
  date
ORDER BY
  date DESC'
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.