Integrating 1C-Bitrix with Google Merchant Center

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    747
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

1C-Bitrix Integration with Google Merchant Center

Google Merchant Center accepts product feeds in Google Shopping XML format — this is neither YML nor arbitrary XML. Tag structure, mandatory attributes, and validation rules differ from Yandex.Market. If you already export catalog to Yandex, you can't reuse feed directly — you need separate export profile.

Google Shopping Feed Format

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

Google Attribute Description Field in Bitrix
g:id Unique product ID ID of element or article
g:title Title 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 120.00 RUB
g:availability Availability in stock / out of stock
g:brand Brand Infoblock property
g:gtin Barcode EAN/UPC Infoblock property
g:condition Condition new for most
g:google_product_category Category from Google taxonomy Manual mapping

g:google_product_category — key difference from YML. Google uses its own taxonomy of ~5700 categories. Example: Electronics > Phones and Accessories > Mobile Phones. Specified either as text or numeric ID. Without this attribute, product may fall into wrong category, and for some product types (clothing, food) — won't pass moderation.

Feed Generation in 1C-Bitrix

1C-Bitrix standard distribution has no ready export profile for Google Shopping. Three paths:

1. Marketplace module. Solutions like "Google Merchant — product export" (itsfera.google_merchant) add export profile to Shop → Settings → Export catalog. Setup: select infoblock, map properties to Google attributes, set feed URL. Module generates file via cron.

2. Custom export handler. File in /bitrix/php_interface/include/catalog_export/. Class implements export interface, forming XML in Google format. Plus — full control over logic, filtering, formatting. Minus — Bitrix update support is your responsibility.

3. XML transformation of existing YML. If YML feed exists, XSLT transformation converts it to Google format. Works for simple catalogs, but complex SKU structure loses data.

Deep Configuration: Trade Offers and Variants

Google Shopping handles product variants (size, color) through item_group_id — analog of group_id in YML. All variants of one product should have same item_group_id and differ by attributes:

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

In Bitrix, trade offers are stored in separate infoblock linked to main via PROPERTY_CML2_LINK. When generating feed you need to:

  1. Walk through trade offers infoblock.
  2. For each offer — get parent product (CML2_LINK).
  3. Form <item> with item_group_id = parent product ID.
  4. Substitute offer properties (size, color) into corresponding Google attributes.

Marketplace modules don't always handle multiple offer properties correctly. Check feed manually for products with 3+ variants.

Feed Upload and Diagnostics

Feed uploads to Merchant Center: Products → Feeds → Add feed. Specify URL, update schedule (Google retrieves feed on schedule, minimum — once daily).

After upload Merchant Center shows error report:

  • Disapproved — product rejected. Reasons: missing mandatory attribute, site price doesn't match feed, image doesn't meet requirements (minimum 100×100 px, for clothing — 250×250).
  • Warning — product shown with restrictions. Usually — missing gtin or brand.
  • Pending — product under review.

Price matching check (price crawling). Google bot visits site and compares feed price with product page price. Mismatch — cause for blocking. Ensure export profile uses same price type displayed on site. If site has coupon discounts — feed contains pre-coupon price.

Multi-currency and Regional Settings

Merchant Center is tied to target country. For Russia: prices in RUB, currency specified in each <g:price>. For multi-language stores on Bitrix (multiple sites in one installation) you need to generate separate feed for each country/language — different product URLs, different prices, different g:google_product_category.

Integration Timeline

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