• Integrations

Product feed for Google Merchant Center

The Google Merchant Center integration is a product feed from your catalog plus the Product and Offer markup on the card with which the page validates the feed data. We do both halves at once: the feed without markup is loaded, and then every discrepancy between it and the page is returned as a warning to the office. We start not with the assembly, but with the measurement of the catalog. In a lingerie store with 115,456 items, we took 150 random product addresses from the sitemap — 50 of them returned 301, and all 50 led to a different size or color. The term of work is 5–18 working days.

See how it works
Price
after a free audit
Guarantee
30 days after project sign-off
Term of works
5-18 working days, six stages
after a free audit
Price
30
Guarantee

days after project sign-off

5-18
Term of works

working days, six stages

product feed and marking Product / Offer on the card
What are we collecting?
5
The size of the laundry store card

marking blocks and 21 types, price 204 UAH, EAN format identifier (08/01/2026)

50
Defect of the same directory

out of 150 random product addresses return a 301 to another position

catalog readiness check, 2-4 business days, free of charge
Before the estimate
30
Guarantee

calendar days for completed work

Process steps

Transparent stages with approval at every step

Total duration:5–18 days

  1. Checking the directory and current status

    2-4 working days

    We look at identifiers, card markup, price match between feed, markup and page, take a sample of 150 random product addresses for redirects. If the cabinet is already connected, read the deviation report.

  2. Collection of feed

    1-3 working days

    Let's map the fields of the catalog to the fields of the feed: name, description, price, currency, availability, status, image, category. We take the identifier from the article in the database, not from the page address.

  3. Product marking on the card

    0-5 working days - the stage is dropped if the full markup is already in place

    Product, Offer, Price, Availability, MerchantReturnPolicy, OfferShippingDetails, ShippingDeliveryTime. We mark only what is actually on the page: marking the non-existent is a reason for sanctions, not an advantage.

  4. Coordination of price and availability

    1-2 working days

    One source for three places: feed, markup, page. The promotional price is a separate field. We compare selectively by category, and not by one product — discrepancies are usually systemic.

  5. Correction of product addresses

    0-2 working days within the agreed volume

    Addresses that give a 301 to another position are reduced to a direct response or to a correct redirect to the same position. We agree on the volume after checking: in a large catalog, this is a separate estimate.

  6. Connection, deviation report, transfer

    1-2 working days

    We install the feed in the office, wait for the first reading, analyze the report: we correct mass errors, we give you a list of individual ones. We show the manager what to do when the deviation appears again.

Technologies & integrations

What we build on and what it connects to

Stack

  • Google Merchant Center - feed and deviation report cabinet. Limit: the account will be blocked for non-compliance with policies.
  • The commodity XML feed is what the platform reads. Limit: gives the state at the time of export, so between runs the price in the issue lags behind.
  • JSON-LD Product / Offer - the page confirms the data of the feed. Boundary: Markup doesn't raise items, it just makes the snippet possible.
  • MerchantReturnPolicy and OfferShippingDetails are terms in machine form. Boundary: nothing to mark without published texts.
  • OpenCart 3 / 4 — there are box export modules. Limit: the set of fields was set by the author of the module, it is cheaper to write your field separately.
  • Next.js — the feed collects its handler, the fields are under control. The limit: what is a module in OpenCart, here it is written by hand, the term is longer.
  • Background tasks — scheduled regeneration. Limit: a run takes minutes on a large catalog.

Integrations

  • Google Merchant Center
  • Google Ads - shopping campaigns
  • GA4
  • Google Tag Manager
  • Google Search Console
  • Rozetka
What's included

Complete list of work and what you get as a result

  • Product feed from the catalog in a format accepted by Merchant Center - items appear in the product issue
  • Stable identifiers: the article from the database and the manufacturer's code where it is - the product does not read as new after regeneration
  • Marking of Product and Offer on the card: price, currency, availability, status - the page confirms what is written in the feed
  • Return and Shipping Policy Markup - MerchantReturnPolicy and OfferShippingDetails are read right from the page
  • One price-availability matching rule for feed, markup, and page — promotion price in a separate field, no manual duplication
  • Correction of product addresses leading to another position, within the agreed volume - the buyer gets to that product
  • Updating the feed according to the schedule and checking that the site has read it — the balance in the issue does not lag behind the warehouse
  • Analysis of the report on deviations with a division into mass and individual errors - you can see what to rule by rule and what to do with hands
  • A map of your categories to the Google product taxonomy — without it, some of the items fall into the wrong group
  • Transfer: accesses, written instructions in case of a new deviation, guarantee of 30 calendar days
When this service isn't right

What's not included — so there are no surprises at delivery

  • Conducting trade advertising campaigns and advertising budget
  • Account verification and communication with site support
  • Photography and reshooting of goods according to image requirements
  • Copywriting of product names and descriptions in full
  • Legal texts about returns and delivery - they should be on the website
Who it's for

Situations where this service delivers results

Scenario 1 of 5

There are already thousands of rejected products in the office

The feed is connected, the campaigns are not launched, no one bothers to read the report. We divide it into two: mass errors, which are treated by one rule in the feed or one field in the markup, and single ones, which are corrected in the cards by hand. A long report usually boils down to several reasons.

We'll review your situation in a free audit
Feed with markings against export "as is"

How this option differs from the alternative

Reconciling the feed with the pageprice, availability and return conditions are given in both the feed and the markup from the same source
Product identifierthe article from the database plus the manufacturer's code where it is assigned
Product addressesare checked for redirects before connecting the feed
Promotional priceseparate field, one rule for the entire directory
Work with deviationsthe report is divided into mass and individual, with a list of what to rule as a rule

Free check of readiness of the catalog for the product feed

Merchant Center rejects products not because of the feed, but because of the data in it. The test shows how many of your items will pass and how many will get stuck—and why.

What we measure

  • Unique product identifiersSeller's article number and international manufacturer's code. At the store we measured, there was an EAN format code in the card marking, which is a level that Merchant accepts without question.
  • Product marking on the cardProduct, Offer, price, availability, return and delivery conditions. In the measured store, the card returned 5 blocks and 21 types of markup, including MerchantReturnPolicy, OfferShippingDetails, and ShippingDeliveryTime—the very fields that Merchant reads from the page.
  • Does the address of the product lead to where it promisesThe most expensive defect. In the measured store, we took 150 random product addresses from the sitemap: 50 of them (33%) returned a 301, and all 50 led to a different position - a different size or color. For the product feed, these are direct deviations and complaints.
  • Correspondence of price and availabilityThe price in the feed, the price in the markup, and the price on the page must match. Disagreement is the most common cause of cabinet warnings.
  • ImageSize, background, no watermarks and superimposed text. Items with inappropriate photos are rejected in whole groups.
  • Current errors in the officeIf the feed is already connected, we analyze the deviation report and show which errors are mass and which are individual.

What you get

  • Report: how many items are ready for the feed, how many are not and for what reason.
  • A list of addresses that lead to the wrong position - with an estimate of the scale.
  • The product marking scheme, which is missing from the card.
  • A 30-minute conversation with an analysis of the deviation report, if the feed is already working.

Timeline: 2-4 working days

Why is it free

Because the check takes two to four days, and the feed, collected on faulty data, gives an account with thousands of errors and ads that don't start.

What's next

After checking, we give an estimate by stages: separate feed, separate marking, separate correction of addresses. You see exactly what you're paying for.

Short form: your contact and site URL

Did not find your case?

Describe how it works on your side — we will tell you whether “Google Merchant Center integration” fits and what it means in your situation. No brief and no call: one question, one answer.

  • Contract, act and 30-day warranty

    Every project gets a written contract: scope, deadlines, amount, acceptance procedure. After delivery — act and invoice, then 30 calendar days of warranty.

  • Sole proprietor & bank transfer

    The contractor is a registered sole proprietor. Payment by invoice with closing documents.

  • Rights & access — yours

    Code, design and materials transfer to you after full payment. Domain, hosting, repository and analytics are registered to you.

  • Client portal instead of email chains

    During the project you get access to a portal: contracts, invoices, acts and project status in one place.

  • European clients

    Among our work — projects for Norway, Bulgaria, Moldova and Spain.

  • Verifiable numbers

    Every case in the portfolio comes with a link to a live site and a technical measurement.

  • Audit first, then pricing

    There is no price list on the site intentionally: the scope of the same work differs multiples between clients.

  • We say "no" when unsure

    If the task isn't ours or the deadline is unrealistic — we tell you upfront.

What affects the price

Why two seemingly identical tasks are priced differently

  • Status of identifiersIf the manufacturer's article number and code are already recorded, they are simply mapped into the fields of the feed. If there is no identifier or it is repeated in different items, first the order in the database, and this is already work on the catalog, not on the feed.
  • Is there a commodity marking on the card?In the measured underwear store, the card already gave 5 blocks and 21 types of markup — there the stage falls out completely. There was none in the JSON-LD heating equipment store, and the markup has to be started with the card template.
  • How the promotional price is arrangedOne discount for the entire catalog is transferred by one rule. Personal prices, quantity prices and timer promotions are separate logic in the feed and a separate check that the exact same amount is visible on the page.
  • Platform and method of generationOpenCart has boxed export modules, and they cover some of the work. On Next.js, the feed collects its own handler: longer, but without the limitations of someone else's module. The two scenarios are two different estimates.
Cases

Tasks and results in numbers — all metrics measured by us

online retail underwear store with a catalog of over 110,000 items

Task
Keep a catalog of more than one hundred thousand items with full product marking on the card - the one that is read by both search and product services.
Solution
OpenCart 3, the sitemap is made by an index of 42 submaps. The card has full product marking: Product, Offer, Brand, return conditions, delivery details, delivery time, image.
Result
Measure 08/01/2026: the card gives 5 markup blocks and 21 types, among them MerchantReturnPolicy, OfferShippingDetails and ShippingDeliveryTime; in the verified card, the price is UAH 204, EAN format identifier, InStock availability. The catalog of 115,456 items was confirmed by two independent methods with a discrepancy of 2.4%. A defect that is critical for the feed itself: out of 150 random product addresses of the sitemap, 50 (33%) return a 301, and all 50 lead to a different position — a different size or color; on the scale of the directory, this is about 37,000 addresses.

online retail store of heating equipment, catalog of about 3.5 thousand items

Task
Show where the work on the feed begins, when there is no machine description of the product on the site at all.
Solution
OpenCart 3, two language versions, four payment methods and four carriers at checkout. The check was done from the outside: the site map, the marking of the main card and the card, the rate of return.
Result
Measured on 07/31/2026: 3,565 product cards — counted by regular OpenCart search, 35 pages of 100 items plus 65 for the last one. TTFB 524.8ms with 295.7KB markup. The feed itself is critical: no JSON-LD block and no mention of schema.org, and /sitemap.xml and the standard OpenCart feed return an HTTP 200 with a body of zero bytes - no data to reconcile, no ready list of addresses.

online store of professional tools, catalog of over 6,000 items

Task
Understand why product addresses from the site map are not suitable for the feed as they are.
Solution
OpenCart with two language versions. The site map is given by a non-standard address declared in robots.txt; checked it completely, with deduplication.
Result
Measurement 07/31/2026: 25,537 <loc> entries give 6,857 unique addresses — 6,486 product pages and 361 categories, that is, each product is present on average 3.9 times under different paths. All addresses in the map are in Russian, although by default the site shows the Ukrainian version. The root of the domain gives a 301 to unprotected http - this is exactly the address that will get into the feed if you collect it from the map without verification. TTFB 671.2ms with 407.8KB HTML.
What we need from you

We can't start without this — best to prepare in advance

  1. Access to or consent to the creation of a Merchant Center account for your business.
  2. Access to the site and admin.
  3. Articles and international codes of the manufacturer, if they are kept in the accounting system.
  4. Texts of terms of delivery and return — they must be published on the website.
  5. A list of categories that we display in the feed and those that cannot be displayed.
  6. The person responsible for the advertising office.

If something is missing — let us know, we'll help you gather it or do it as a separate task.

FAQ

Most frequently asked questions — with concrete answers

Why are products rejected if the feed itself looks correct?

Because Merchant compares the feed with the page. The price in the feed is the same, on the page it is different - the position is in deviation; availability does not match - the same. The second common reason is invisible from the outside: the product address redirects to another position. In the underwear store we measured, out of 150 random product sitemap addresses, 50 returned 301, and all 50 led to a different size or color. On the scale of that catalog, this is about 37,000 addresses that lead the buyer to the wrong product.

Why marking on the card, if the feed is already there?

Markup is what the page validates the feed with. In the measured lingerie store, the card returned 5 JSON-LD blocks and 21 types, including Product, Offer, Brand, Return Terms, Delivery Details, and Delivery Time — exactly the set that is read from the page. The opposite case is also our measurement: there is not a single JSON-LD block in the heating equipment store for 3,565 cards. The unmarked feed loads, but every discrepancy between the two becomes a warning. A fair margin: markup doesn't increase the position - it makes the page suitable for the expanded view in the output, and it is up to the search engine to show it or not.

What is a unique identifier and why is it insisted on?

This is how the system understands that your product and the product of another seller are one item. The seller's article number plus the manufacturer's international code where assigned by the manufacturer. In the measured underwear store, the markup contained the EAN format code, a level that is accepted without question. The technical detail on which fast integrations burn: the ID must be stable. If it is collected from the address of the page or from the serial number in the download, then after any regeneration of the catalog, some of the goods arrive as new, and the accumulated history for them is reset.

We have 50,000 products - is it really possible to unload them?

In reality, the volume is not the main difficulty here. The catalogs measured by us at 54,302 and 115,456 items technically hold a full load. The difficulty is another: on such a volume, the system data defect multiplies by tens of thousands, and it is more expensive to fix it after the first deviation report than before the feed is assembled. Our recommendation before starting: take 150 random product addresses from your sitemap and see how many of them give 200 without a redirect. This is half an hour of work, and it is this number that determines whether we collect the feed now or treat the catalog first.

Is it possible to show a different price in the feed than on the site?

No. This is directly against the requirements and ends with warnings or suspension of campaigns. Discounts should be visible on the page and transferred to the feed by a separate field of the promotional price - then the comparison converges. We set it up with one catalog-wide rule: as soon as a price is duplicated by hands in two places, it diverges, and it's just a matter of when it gets noticed.

Who opens an office and for whom is it issued?

The cabinet is issued for your company — access to product data and advertising must remain with the business owner. We work in it at the stage of connecting the feed and analyzing deviations; once transferred, you can revoke access at any time, the feed will not stop. Separately, to be honest: we do not undertake the verification of the account and correspondence with the site support — this is a procedure from the company's side, and the contractor cannot influence its term.

How long does the setup take and what does the term depend on?

5-18 working days, six stages. Five days is when the identifiers are already kept in the records, the full product marking is on the card, and the addresses give 200: it remains to collect the feed, agree on the prices and analyze the first report. Eighteen - when we start the markup from scratch, the promotional price lives by a separate logic, and some of the addresses have to be corrected. We name the amount of changes after checking the catalog, and not in the estimate in advance.

What does the feed give, and what should not be expected from it?

It does one thing: your products become available in a channel where a person compares specific items instead of searching for a site. While there is no feed, you are not there at all - it is not "less impressions", it is zero. What it doesn't do: Doesn't make your price competitive. In the commodity issue, the buyer sees you next to everyone else, and if you are more expensive without explaining why, the feed will simply show this comparison faster. It also does not raise the position of the site in the usual search and does not replace the conduct of sales campaigns.

Send the website address and access to the account, if it already exists.

The answer is a report: how many items are ready for the feed, how many are not and why, which product addresses lead to the wrong item and which markings are missing on the card. Then the estimate by stages.

From measured casesMeasured on 07/31/2026: 3,565 product cards

View cases
  • Reply within 2 hours
  • No commitment
  • We work under a contract

There is no price list on the site on purpose: the same work differs several times over between two clients, and a “from” figure explains nothing in that case. First a free audit — we count your pages, duplicates and speed — then we name the sum and the deadline and fix both in the contract.