Transferencias de Google Merchant Center

El Servicio de transferencia de datos de BigQuery para Google Merchant Center te permite programar y administrar automáticamente trabajos de carga recurrentes de los datos de informes de Google Merchant Center.

Informes compatibles

El Servicio de transferencia de datos de BigQuery para Google Merchant Center admite los siguientes datos:

Productos y problemas de productos

El informe de productos y problemas de productos incluye los datos de productos que se proporcionan a Merchant Center a través de feeds o a través de la Content API for Shopping. En este informe, también se incluyen problemas a nivel de artículo que Google detecta para tus productos. Puedes ver los datos de los productos y los problemas en los productos en Google Merchant Center o a través de una consulta a la Content API for Shopping. Para obtener información sobre cómo se cargan estos datos en BigQuery, consulta el esquema de la tabla de productos de Google Merchant Center.

Inventarios regionales

En el informe de inventarios regionales, se incluyen datos adicionales de los productos sobre la disponibilidad regional y las anulaciones de precios de tus productos. Para obtener más información sobre cómo se cargan estos datos en BigQuery, consulta el esquema de la tabla de inventarios regionales.

Inventarios locales

El informe de inventarios locales incluye datos adicionales del producto sobre el inventario local de tus productos. Este informe contiene datos sobre los precios locales, la disponibilidad, la cantidad, el retiro y la ubicación del producto en la tienda. Para obtener información sobre cómo se cargan estos datos en BigQuery, consulta el esquema de la tabla de inventarios locales de Google Merchant Center.

Rendimiento

El informe de rendimiento proporciona una segmentación detallada de tus datos de rendimiento en los anuncios y las fichas gratuitas. Para obtener información sobre cómo se cargan estos datos en BigQuery, consulta el esquema de la tabla de productos de Google Merchant Center.

Los más vendidos

El informe de los más vendidos proporciona los mismos datos que se encuentran en la IU de Google Merchant Center y te permite reabastecer los datos en países o categorías hasta por 2 años. Esto incluye los datos sobre los productos y las marcas más populares en los anuncios de Shopping y las fichas no pagas, además de saber si los tienes en tu inventario. Este informe se basa en el informe de los mejores vendedores disponible a través de Google Merchant Center. Para obtener información sobre cómo se cargan estos datos en BigQuery, consulta los esquemas de tablas de los mejores vendedores de Google Merchant Center.

Competitividad de precios

Antes conocido como el informe de comparativas de precios, el informe de competitividad de precios incluye atributos a nivel de producto y datos de comparativas de precios y se basa en las mismas definiciones que el informe de competitividad de precios disponible a través de Google Merchant Center. Para obtener información sobre cómo se cargan estos datos en BigQuery, consulta el esquema de tabla de puntos de Comparativas de precios de Google Merchant Center.

Información sobre precios

Usa el informe de estadísticas de precios para ver los precios de oferta sugeridos de tus productos y las predicciones del rendimiento que puedes esperar si actualizas los precios de tus productos. Puedes usar este informe para definir los precios de tus productos de manera más eficaz. Para obtener más información sobre cómo usar los datos de este informe, consulta Mejora los precios de los productos con el informe de estadísticas de precios para obtener más información para usar los datos de este informe. Para obtener información sobre cómo se cargan estos datos en BigQuery, consulta el esquema de tabla de puntos de Comparativas de precios de Google Merchant Center.

Comparativas de precios

Para obtener información sobre cómo se cargan estos datos en BigQuery, consulta el esquema de tabla de puntos de Comparativas de precios de Google Merchant Center.

Inventario de productos, productos principales y marcas principales

Las tablas de productos principales, marcas principales e inventario de productos incluyen datos sobre los productos y las marcas más populares en los anuncios de Shopping y las fichas no pagas, además de saber si los tienes en tu inventario. Este informe se basa en el informe de los mejores vendedores disponible a través de Google Merchant Center.

Los informes de marcas principales, productos principales e inventario de productos se componen de las siguientes tablas:

  • BestSellers_TopProducts_ es una lista clasificada de productos principales por país y categoría de producto de Google. En esta tabla, se representan los datos de todos los comercios en los anuncios de Shopping y las fichas no pagas.
  • BestSellers_TopProducts_Inventory_ es una tabla de asignación entre los productos principales y tu inventario.
  • BestSellers_TopBrands_ es una lista clasificada de marcas principales, calculadas por país y categoría de producto de Google. Representa los datos de todos los comercios en los anuncios de Shopping y las fichas no pagas.

Para obtener información sobre cómo se cargan los datos de los más vendidos en BigQuery, consulta los esquemas de tablas de productos principales, inventario de productos y marcas principales de Google Merchant Center.

El Servicio de transferencia de datos de BigQuery para Google Merchant Center admite las siguientes opciones de informes:

Opción de informe Asistencia
Programa

Configurable con información diaria, semanal, mensual o personalizada. De forma predeterminada, se configura a diario cuando se crea la transferencia. El intervalo mínimo entre transferencias es de 6 horas.

Limitaciones

Algunos informes pueden tener sus propias restricciones, como diferentes períodos de compatibilidad para los reabastecimientos históricos. En las siguientes secciones, se describen las limitaciones de cada informe.

Asistencia para reabastecimientos históricos

No todos los informes admiten reabastecimientos históricos de la misma manera. La siguiente es una lista de informes y el nivel de compatibilidad con los reabastecimientos históricos.

  • Productos y problemas de productos: 14 días
  • Inventarios locales: 14 días
  • Inventarios regionales: 14 días
  • Rendimiento: 2 años
  • Los más vendidos - 2 años
  • Competitividad de los precios: Sin asistencia de reabastecimiento
  • Estadísticas de precios: Sin compatibilidad con reabastecimiento

Productos y problemas con productos

  • Los datos de productos y de problemas de productos en BigQuery no representan la vista en tiempo real de tu cuenta del comerciante. Para ver el cronograma de tus datos, consulta el campo product_data_timestamp en el esquema.

Comparativas de precios

  • Los datos de las Comparativas de precios no representan la vista en tiempo real de las Comparativas de precios. Para ver el cronograma de tus datos, consulta el campo price_benchmark_timestamp en el esquema de comparativas de precios.
  • No todos los productos tendrán una comparativa de precios.

Los más vendidos

  • No todos los países contendrán los datos de clasificación. Países incluidos en el informe (con ISO 3166-1 Alfa-2): AT, AU, BE, BI, CA, CH, CZ, DE, DK, ES, FI, FR, GB, HU, IE, IN, IT, JP, MX, NL, NO, NZ, PL, RO, RU, SE, SK, TR, UA y US
  • Los datos de los más vendidos no representan una vista en tiempo real de las clasificaciones de la marca. Para ver el cronograma de tus datos, consulta el campo rank_timestamp en el esquema BestSellers_TopProducts_ y BestSellers_TopBrands_.
  • Puede haber filas en la tabla Products_ con un google_brand_id que no se mapea a ninguna marca en la tabla BestSellers_TopBrands_.
  • Los ID de marca en el campo google_brand_id pueden cambiar con el tiempo para reflejar la naturaleza cambiante de las empresas y marcas. Debido a esto, no se garantiza el seguimiento de un conjunto de marcas durante un período prolongado.
  • Si bien las marcas se clasifican en muchas categorías diferentes, todos los productos de la tabla Products_ están en categorías de hoja. Para unirte a marcas y productos en categorías que no sean de hoja, usa el campo google_product_category_ids, como se muestra en Consultas de muestra de los más vendidos.

Asistencia para cuenta de varios clientes (MCA)

Se recomienda a los clientes existentes con varios ID de Merchant que configuren una cuenta de varios clientes (MCA) principal. La configuración de una MCA te permite crear una única transferencia para todos tus ID de Merchant.

Usar las MCA de Google Merchant Center tiene varios beneficios en comparación con los ID de Merchant individuales:

  • Ya no es necesario que administres varias transferencias para transferir datos de informes de varios ID de comerciante.
  • Las consultas que implican varios ID de Merchant son mucho más fáciles de escribir porque todos los datos de ID de Merchant se almacenan en la misma tabla.
  • Usar las MCA alivia los posibles problemas de cuota de trabajo de carga de BigQuery porque todos los datos del ID de Merchant se cargan en el mismo trabajo.

Una posible desventaja de usar las MCA es la probabilidad de que los costos posteriores de consulta sean más altos. Debido a que todos tus datos se almacenan en la misma tabla, las consultas que recuperan datos para un ID de Merchant individual deben analizar toda la tabla.

Si usas una MCA, el ID de la MCA aparece en aggregator_id y las cuentas secundarias individuales se muestran en merchant_id. En el caso de las cuentas que no usan una MCA, aggregator_id se establece en null.

No todos los informes admiten las MCA. Las MCA son compatibles con los siguientes informes:

  • Productos y problemas de productos
  • Inventarios locales
  • Inventarios regionales
  • Rendimiento de productos
  • Competitividad de precios
  • Información sobre precios

Antes de comenzar

Antes de crear una transferencia de Google Merchant Center:

Permisos necesarios

Asegúrate de que la persona que crea la transferencia tenga los siguientes permisos requeridos:

  • BigQuery:

    • permisos bigquery.transfers.update para crear la transferencia
    • Los permisos bigquery.datasets.get y bigquery.datasets.update en el conjunto de datos de destino

    La función predefinida de IAM bigquery.admin incluye los permisos bigquery.transfers.update, bigquery.datasets.update y bigquery.datasets.get. Para obtener más información sobre las funciones de IAM en el Servicio de transferencia de datos de BigQuery, consulta Control de acceso.

  • Google Merchant Center

Configura una transferencia de Google Merchant Center

La configuración de una transferencia de datos para los informes de Google Merchant Center requiere lo siguiente:

Si quieres crear una transferencia de datos para los informes de Google Merchant Center, haz lo siguiente:

Consola

  1. Ve a la página de BigQuery en la consola de Google Cloud.

    Ir a la página de BigQuery

  2. Haz clic en Transferencias de datos.

  3. Haz clic en Crear transferencia.

  4. En la página Crear transferencia, sigue estos pasos:

    • En la sección Tipo de fuente, en Fuente, elige Google Merchant Center.

    • En la sección Nombre de la configuración de transferencia, en Nombre visible, ingresa el nombre de la transferencia, como My Transfer. El nombre de la transferencia puede ser cualquier valor que te permita identificarla con facilidad si es necesario hacerle modificaciones más tarde.

      Nombre de la transferencia

    • En la sección Opciones de programación, haz lo siguiente:

      • Selecciona una Frecuencia de repetición. Si seleccionas Horas, Días, Semanas o Meses, también debes especificar una frecuencia. También puedes seleccionar Personalizado para especificar una frecuencia de repetición personalizada. Si seleccionas Según demanda, esta transferencia se ejecuta cuando activas la transferencia de forma manual.

      • Si corresponde, selecciona Comenzar ahora o Comenzar a una hora determinada y proporciona una fecha de inicio y una hora de ejecución.

      • En Fecha de inicio y hora de ejecución, ingresa la fecha y hora para iniciar la transferencia. Este valor debe estar al menos 24 horas después de la hora UTC actual. Si seleccionaste Comenzar ahora (Start now), esta opción está inhabilitada.

        Programa de la transferencia

        Si dejas las opciones de programación configuradas como Start now (Comenzar ahora), la primera ejecución de transferencia se iniciará de inmediato, fallará y mostrará el siguiente mensaje de error: 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. La próxima ejecución programada debería ejecutarse de forma correcta. Si los datos de tu cuenta de Merchant están listos en la misma fecha en la hora UTC, puedes configurar un reabastecimiento para la ejecución de hoy.

    • En la sección Configuración de destino, en Conjunto de datos de destino, selecciona el conjunto de datos que creaste para almacenar tus datos.

      Conjunto de datos de la transferencia

    • En la sección Detalles de la fuente de datos (Data source details), en ID de Merchant (Merchant ID), ingresa tu ID de comerciante o tu ID de MCA.

      Selecciona los informes que deseas transferir. Consulta Informes compatibles para obtener más detalles.

      Datos de transferencia de Google Merchant Center.

    • En el menú Cuenta de servicio, selecciona una cuenta de servicio de las cuentas de servicio asociadas a tu proyecto de Google Cloud. Puedes asociar una cuenta de servicio con tu transferencia en lugar de usar tus credenciales de usuario. Para obtener más información sobre el uso de cuentas de servicio con transferencias de datos, consulta Usa cuentas de servicio.

    • De forma opcional, en la sección Opciones de notificación, haz lo siguiente:

      • Haz clic en el botón de activación para habilitar las notificaciones por correo electrónico. Cuando habilitas esta opción, el administrador de transferencias recibe una notificación por correo electrónico cuando falla una ejecución de transferencia.
      • En Seleccionar un tema de Cloud Pub/Sub (Select a Cloud Pub/Sub topic), elige el nombre de tu tema o haz clic en Crear un tema (Create a topic). Con esta opción, se configuran las notificaciones de ejecución de Pub/Sub para tu transferencia.
  5. Haga clic en Save.

bq

Ingresa el comando bq mk y suministra la marca de creación de transferencias --transfer_config. También se requieren las siguientes marcas:

  • --data_source
  • --target_dataset
  • --display_name
  • --params

También puedes proporcionar la marca --project_id para especificar un proyecto en particular. Si no se especifica --project_id, se usa el proyecto predeterminado.

bq mk \
--transfer_config \
--project_id=project_id \
--target_dataset=dataset \
--display_name=name \
--params='parameters' \
--data_source=data_source
--service_account_name=service_account_name

Aquí:

  • project_id es el ID del proyecto.
  • dataset es el conjunto de datos de destino para la configuración de la transferencia.
  • name es el nombre visible de la configuración de transferencia. El nombre de la transferencia puede ser cualquier valor que te permita identificarla si es necesario hacerle modificaciones más tarde.
  • parameters contiene los parámetros para la configuración de la transferencia creada en formato JSON. Por ejemplo: --params='{"param":"param_value"}'
    • Para Google Merchant Center, debes proporcionar el parámetro merchant_id.
    • El parámetro export_products especifica si se deben transferir los datos de productos y problemas de productos. Este parámetro se incluye de forma predeterminada, incluso si no especificas el parámetro export_products. Google recomienda incluir este parámetro de forma explícita y configurarlo como “true”.
    • El parámetro export_regional_inventories especifica si se deben transferir los datos de inventarios regionales.
    • El parámetro export_local_inventories especifica si se deben transferir los datos de inventarios locales.
    • El parámetro export_price_competitiveness especifica si se transfieren datos de comparativa de precios.
    • El parámetro export_price_insights especifica si se transfieren datos de comparativa de precios.
    • El parámetro export_best_sellers_v2 especifica si se deben transferir los datos de los más vendidos.
    • El parámetro export_performance especifica si se deben transferir los datos de rendimiento del producto.
  • data_source es la fuente de datos: merchant_center.
  • service_account_name es el nombre de la cuenta de servicio que se usa para autenticar tu transferencia. La cuenta de servicio debe ser propiedad del mismo project_id que se usa para crear la transferencia y debe tener todos los permisos necesarios.

Por ejemplo, con el siguiente comando se crea una transferencia de Google Merchant Center llamada My Transfer con el ID de Merchant 1234 y el conjunto de datos de destino mydataset. La transferencia se crea en tu proyecto predeterminado.

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

La primera vez que ejecutes el comando, recibirás un mensaje similar al siguiente:

[URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

Sigue las instrucciones del mensaje y pega el código de autenticación en la línea de comandos.

Si acabas de crear esta transferencia, es posible que debas esperar hasta un día antes de que los datos de tu cuenta de Merchant estén listos para la transferencia.La siguiente ejecución programada se debe ejecutar de forma correcta. Si los datos de tu cuenta de Merchant están listos en la misma fecha en la hora UTC, puedes configurar un reabastecimiento para la ejecución de hoy.

API

Usa el método projects.locations.transferConfigs.create y proporciona una instancia del recurso TransferConfig.

Soluciona problemas relacionados con la configuración de la transferencia de Google Merchant Center

Si tienes problemas con la configuración de la transferencia, consulta la sección sobre problemas de transferencia de Google Merchant Center en la página sobre cómo solucionar problemas relacionados con la transferencia del Servicio de transferencia de datos de BigQuery.

Consulta tus datos

Cuando tus datos se transfieren a BigQuery, se escriben en tablas particionadas por tiempo de transferencia. Para obtener más información, consulta Introducción a tablas con particiones.

Cuando consultes tu tabla de Google Merchant Center, debes usar la seudocolumna _PARTITIONTIME o _PARTITIONDATE en tu consulta. Para obtener más información, lee Consulta tablas particionadas.

La tabla Products_ contiene campos anidados y repetidos. Para obtener información sobre cómo controlar datos anidados y repetidos, consulta Diferencias en el manejo de campos repetidos en la documentación de GoogleSQL.

Consultas de muestra de Google Merchant Center

Puedes usar las siguientes consultas de muestra de Google Merchant Center para analizar los datos transferidos. También puedes usar las consultas en una herramienta de visualización, como Looker Studio.

En cada una de las siguientes consultas, reemplaza dataset por el nombre de tu conjunto de datos. Reemplaza merchant_id por tu ID de Merchant Center. Si usas una MCA, reemplaza merchant_id por tu ID de MCA.

Consultas de muestra de productos y problemas de productos

Estadísticas de los productos y sus problemas

La siguiente consulta de muestra en SQL proporciona la cantidad de productos, productos con problemas y problemas por día.

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

Productos rechazados para anuncios de Shopping

La siguiente consulta de muestra en SQL proporciona la cantidad de productos que no están aprobados para mostrarse en los anuncios de Shopping, separados por país. El rechazo puede ser el resultado de que el destino se excluye o debido a un problema con el producto.

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

Productos con problemas rechazados

La siguiente consulta de muestra en SQL recupera la cantidad de productos con problemas rechazados, separados por país.

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

Consultas de muestra de precios de comparativas

Compare precios de productos con las comparativas

La siguiente consulta en SQL une los datos Products y Price Benchmarks para devolver la lista de productos y los puntos de comparativas asociados.

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

Consultas de muestra de los más vendidos

Principales productos para una categoría y un país determinados

La siguiente consulta en SQL devuelve los mejores productos para la categoría “Smartphones” de EE.UU.

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

Productos principales en tu inventario

La siguiente consulta en SQL une los datos BestSellers_TopProducts_Inventory_ y BestSellers_TopProducts_ para devolver una lista de los principales productos que tiene en la actualidad en tu inventario.

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)

Principales marcas para una categoría y un país determinados

La siguiente consulta en SQL devuelve las principales marcas de la categoría “Smartphones” en EE.UU.

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

Productos de las principales marcas en tu inventario

En la siguiente consulta en SQL, se devuelve una lista de productos del inventario de las mejores marcas, enumeradas por categoría y país.

  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