Integration of 1C-Bitrix with Google Merchant Center

Integration of 1C-Bitrix with Google Merchant Center We often encounter this scenario: after setting up Yandex.Market, clients try to upload the YML feed to Google Merchant Center and get an error: 'Unsupported feed format'. The Google Shopping XML format is fundamentally different — it uses the

Our competencies:

Frequently Asked Questions

Integration of 1C-Bitrix with Google Merchant Center

We often encounter this scenario: after setting up Yandex.Market, clients try to upload the YML feed to Google Merchant Center and get an error: 'Unsupported feed format'. The Google Shopping XML format is fundamentally different — it uses the namespace http://base.google.com/ns/1.0, requires g:google_product_category, g:condition attributes, and prices must be formatted with currency. Without a correct feed, up to 40% of products can be rejected. Let's figure out how to properly configure export from 1C-Bitrix to avoid blocks and disapproved items.

The official Google Merchant Center documentation describes the feed as an RSS feed with <item> elements. Each product requires at least 7 mandatory attributes, and their absence is a common reason for rejections. For complex catalogs (over 10,000 SKUs), a custom handler gives full control: it generates the feed 2 times faster than module-based solutions and allows flexible product filtering. With custom integration, modification costs are reduced by 30% compared to purchasing a module.

Google Shopping Feed Format

Google expects XML with the namespace http://base.google.com/ns/1.0 and <item> elements inside an RSS <channel> wrapper. Main product attributes:

Google Attribute Description Bitrix Field
g:id Unique product ID ID of element or SKU
g:title Name NAME
g:description Description PREVIEW_TEXT or DETAIL_TEXT
g:link Product URL Generated from DETAIL_PAGE_URL
g:image_link Main photo URL DETAIL_PICTURE
g:price Price with currency e.g., amount with currency code
g:availability Availability in stock / out of stock
g:brand Brand Information block property
g:gtin Barcode EAN/UPC Information block property
g:condition Condition new for most
g:google_product_category Category from Google taxonomy Manual mapping

g:google_product_category is a key difference from YML. Google uses its own taxonomy of 5732 categories. Example: Electronics > Phones & Accessories > Mobile Phones. Specify either as text or numeric ID. Without this attribute, a product may end up in the wrong category, and for clothing and food, it will fail moderation.

Feed Generation in 1C-Bitrix

1C-Bitrix standard distribution does not include a ready export profile for Google Shopping. Three approaches:

  1. Module from Marketplace. Solutions like 'Google Merchant - Product Export' (itsfera.google_merchant) add an export profile in Store → Settings → Catalog Export. Configuration: select an information block, map properties to Google attributes, set the feed URL. The module generates the file via cron.

  2. Custom export handler. A file in /bitrix/php_interface/include/catalog_export/. The class implements the export interface, forming XML in Google format. Advantage: full control over logic, filtering, formatting. Disadvantage: support during Bitrix updates falls on you. However, for catalogs with 10,000+ items, this is the only way to avoid timeouts.

  3. XML transformation of existing YML. If a YML feed exists, XSLT transformation converts it to Google format. Works for simple catalogs, but data may be lost for complex SKU structures.

Example XML feed for one product
<?xml version="1.0" encoding="UTF-8"?> <rss xmlns:g="http://base.google.com/ns/1.0" version="2.0"> <channel> <title>My Store</title> <link>https://myshop.ru</link> <description>Products</description> <item> <g:id>12345</g:id> <g:title>Smartphone X Pro</g:title> <g:description>6.5 inch, 128 GB</g:description> <g:link>https://myshop.ru/product/12345</g:link> <g:image_link>https://myshop.ru/images/12345.jpg</g:image_link> <g:price>PRICE_PLACEHOLDER</g:price> <g:availability>in stock</g:availability> <g:brand>X-Corp</g:brand> <g:gtin>4901234567890</g:gtin> <g:condition>new</g:condition> <g:google_product_category>Electronics > Phones & Accessories > Mobile Phones</g:google_product_category> </item> </channel> </rss> 

How to Achieve Full Control Over the Feed? Custom Handler vs Module

A custom handler provides flexibility: you filter products, format prices, handle multiple properties. In complex catalogs (over 5000 SKUs, multiple information blocks, custom pricing logic), a module often falls short. A custom solution costs more upfront but saves time on ongoing modifications. In 80% of our projects, we choose custom export because it guarantees passing moderation.

Deep Configuration: SKUs and Variants

Google Shopping handles product variants (size, color) via item_group_id — analogous to group_id in YML. All variants of one product must have the same item_group_id and differ in attributes:

  • g:color — color
  • g:size — size
  • g:material — material
  • g:pattern — pattern

In Bitrix, SKUs are stored in a separate information block linked to the main one via PROPERTY_CML2_LINK. During feed generation, you need to:

  1. Iterate through the SKUs information block.
  2. For each SKU, get the parent product (CML2_LINK).
  3. Form an <item> with item_group_id = parent product ID.
  4. Substitute SKU properties (size, color) into corresponding Google attributes.

Standard Marketplace modules do not always correctly handle multiple SKU properties. Check the feed manually for products with 3+ variants.

How is Price Compliance Checked?

Google bot visits the site and compares the price in the feed with the price on the product page. A discrepancy causes blocking. Ensure that the export profile uses the same price type displayed on the site. If coupon discounts are applied on the site, the feed should contain the price before the coupon. We recommend setting up automatic price verification once per day.

Feed Upload and Diagnostics

The feed is uploaded in Merchant Center: Products > Feeds > Add feed. Specify the URL, update schedule (Google fetches the feed on a schedule, minimum once per day).

After upload, Merchant Center shows an error report:

  • Disapproved — product rejected. Reasons: missing required attribute, price on site does not match feed, image does not meet requirements (minimum 100×100 px, for clothing 250×250).
  • Warning — product is shown but with limitations. Usually: missing gtin or brand.
  • Pending — product under review.

Why is Google Product Category Important?

The google_product_category determines in which section the product appears and which attributes are required. For clothing, for example, g:gender, g:age_group are required. Incorrect category is a cause for disapproved. Manual mapping is unavoidable because Google's taxonomy does not match Bitrix categories. In a custom handler, we can implement automatic category matching based on keywords from the product name.

Multi-Currency and Regional Settings

Merchant Center is tied to the target country. For Russia: prices in RUB, currency specified in each <g:price>. For multilingual Bitrix stores (multiple sites in one installation), you need to generate a separate feed for each country/language — different product URLs, different prices, different g:google_product_category. A custom handler allows automating the creation of multiple feeds from one catalog.

What's Included in Turnkey Integration

  • Catalog analysis and approach selection (module / custom)
  • Development and configuration of the export profile
  • Test feed and its validation in Merchant Center
  • Integration with Merchant Center (URL, schedule)
  • Documentation on feed updates
  • Staff training (1 hour online)
  • Support for one month after launch

Contact us for an exact timeline and cost estimate. We guarantee passing moderation and stable feed operation.

Integration Timelines

Scenario Timeline
Simple catalog up to 1000 products, Marketplace module 3–5 days
Catalog with SKUs, custom handler 1–1.5 weeks
Multilingual catalog, multiple feeds 1.5–2 weeks

We'll evaluate your project for free — get a consultation.