Chapter14In a small specialty grocery, a shopper holds a bag of coffee and touches the empty price-tag holder on the shelf edge, while every other slot on the shelf shows a price
Google Ads

Google Ads for Ecommerce · Chapter 14 of 16 · All chapters

Google Checks Your Price Before the Page's Scripts Run. A Price That Loads Later Can Get Products Disapproved.

Google Merchant Center checks your prices in the page's plain HTML. Why a price that loads later, missing GTINs or a wrong brand field can cost you.

David SmaniaFounder, BrandRocket10 min read · October 12, 2026

Every Shopping ad, free product listing and Performance Max product ad a store runs comes from one place: its product data in Google Merchant Center. Get that data wrong and products may not show, no matter how good the bidding, copy and settings from earlier chapters are.

Google checks that data against the store's own website, and it's specific about how. Its help page says "Googlebot crawls the data present in the HTML returned from your web server. If data on your website is passed dynamically with JavaScript after the page is loaded, this will trigger an error." It adds that prices in the HTML "need to match exactly the prices uploaded in Merchant Center," and that mismatches "may lead to an account suspension."

That's a rule many store owners never think about, because their product pages look fine in a browser. This chapter covers what Google reads when it checks a price, the setting that patches mismatches, the product IDs and brand fields that most stores in our sample left out of their page markup, and the stock rule that disapproves products. The examples come from the stores in this guide. Your platform and theme will differ. The checks are the same.

Chapter 14 of 16

Google Can't Check a Price It Has to Wait For. Two of Our 12 Stores Had No Product Markup to Fall Back On.

When we saved product pages from our 12 stores, we looked at each one two ways: the plain HTML a server sends back, and the page after its scripts finished running, the way a shopper sees it.

On three stores, the price a shopper sees wasn't in the plain HTML's visible text. It appeared only after the page's scripts ran:

Caraway has a safety net the other two don't. Its pages carry Product markup, the structured data that tells search engines a product's price and stock, right in the plain HTML, with the same prices. Google's help says it compares the feed price "with the prices on your landing page or in your structured data markup (if implemented)." Onyx's and Ride1Up's pages had no Product markup in the plain HTML when we checked.

We've covered what a mismatch looks like from the account side, and how to fix one, in why Google stops showing your products when your website price changes. This chapter is about the store side: whether your page gives Google a price to read at all.

None of this means either store has had a problem. Their feeds may be accurate, and Google's crawler may handle their pages better than our simple fetch did. What it means is that the rule Google states, prices present in the HTML your server sends, wasn't clearly met on those pages, and there was no markup to fall back on.

If your price only appears after the page's scripts run, you're trusting Google to wait for it. Its own help page says that triggers an error.

Google Checks Prices Against Your Product Markup. One E-Bike Brand's Product Pages Had None.

In our view, product markup is the easiest insurance a store can buy against a price mismatch. Google says plainly that it "uses structured data markup to understand prices on your product landing pages," and names incorrect markup as a common cause of mismatches.

Our stores split on it:

Adding product markup is usually a small job. A suspended Merchant Center account can cost every Shopping sale until it's fixed.

Checking your own takes five minutes. Open a product page, view the page source (not the inspector, which shows the page after scripts run), and search for the price. Then run the page through Google's Rich Results Test, which shows whether Product markup is present and what price it carries. If the price isn't in the source and there's no markup, ask your developer or theme support to add Product markup with price and availability. Many store themes include it, and apps can add it where a theme doesn't.

Automatic Item Updates Are On by Default. They Patch a Wrong Price on Google While the Feed Stays Wrong.

Google has a setting that catches some mismatches for you. Automatic item updates let Google adjust a product's price, sale price, availability and condition in Merchant Center to match what it finds on your landing page. Google says "Automations are enabled by default."

That sounds like the problem is solved. Google says otherwise: "Automations aren't a replacement for regular updates of your product data." The feed itself stays wrong, and every mismatch Google patches is a mismatch it had to find first.

There's one case where the setting can cause trouble. Google notes that price updates may pick up strikethrough prices, and suggests turning price updates off if a page shows several strikethrough prices. Stores that run sales should check what Google picked up on their sale pages before trusting it.

The better fix is upstream. If you sell on Shopify, the Google & YouTube app syncs products to Merchant Center automatically when they change, as Chapter 9 covered. Keep sale prices, stock and variants right in the store, and the feed follows.

Made In, Misen and Caraway Leave the GTIN Out of Their Product Markup. Google Matches Reviews by GTIN.

A GTIN is the product's global trade item number, the barcode number on the box. Google uses it to recognize a product across stores and to connect it to reviews. On product ratings, Google says it matches reviews to products using several identifiers, "the most important being globally unique product identifiers such as GTINs."

Our stores' product markup was uneven:

Markup isn't the feed, and a store can send GTINs to Merchant Center without them appearing on the page. A brand that makes its own products may also have none to send. But the feed is where it counts. If your products have barcodes, put them in the feed. If they truly have none, Google's Shopify app asks for a manufacturer part number and brand instead, and lets you mark custom products as custom.

The payoff shows up in Chapter 15: product ratings, the stars on a Shopping card, depend on Google matching reviews to the right product.

The Brand Field Should Name the Brand on the Box. Shoppers Search for Sage, Not Its Parent Company.

The brand field looks like the simplest attribute in a feed. One fly shop in our sample shows how it can drift. On Red's Fly Shop's product page for the Sage R8 Core fly rod, the brand in the markup was "Far Bank Enterprises," Sage's parent company. The same name sits in the vendor field on 342 of the 2,399 products in its catalog.

That's a common Shopify pattern: the vendor field often holds the company the store buys from, here the parent company, and themes and apps pass it along as the brand. But shoppers don't search for the parent company. Chapter 5 found that fly shop buyers search the brands on the shelf, and "sage r8 core" alone drew about 590 searches a month.

Nobody searches for a parent company. Shoppers search for the name on the box, and that's the name the feed needs.

Fix it at the source. Set the vendor or brand field in your store to the brand printed on the product, then check a sample of products in Merchant Center to confirm it came through. Red's also put its 12-digit codes only in the part-number field, with no GTIN field; a code that's really a barcode belongs in the GTIN field.

Stock Has to Match on the Product Page, the Checkout and the Feed. If One Disagrees, Google Disapproves the Product.

Price isn't the only thing Google checks. Its availability rule is strict: stock status must match "across the landing page, checkout page, structured data (if applicable) and your data source," and "a mismatch in one of these will trigger a product disapproval."

That catches stores in a few predictable ways. A product sells out but the feed still says in stock. A variant is out of stock while the page shows the product as available. A product is discontinued, but the page stays live and the feed keeps sending it. When we checked Aventon's catalog, its Level 3 showed every variant unavailable and an end-of-life tag. We don't know what Aventon's feed sends; a product in that state is the kind that should leave the feed or be marked out of stock everywhere at once.

Once you fix a mismatch, Google says re-crawls after an appeal "usually finish within 24 to 48 hours." The faster route is never to need the appeal: let your store platform drive stock in the feed, and check Merchant Center's diagnostics page weekly for price and availability warnings before they become disapprovals.

Next: Google Showed Free Product Listings on 98 of 120 Category Searches. Reviews Decide Whose Cards Get Stars.

A clean feed gets products into paid Shopping ads. It also gets them into Google's free listings, which showed up on most of the store searches we checked. Chapter 15 covers free listings, product ratings and store ratings.

Earlier chapters cover AI Max for Shopping and your brand campaign. Every chapter is on the guide's home page.

When we take on a store through Google Ads management, the feed audit comes before the first campaign: price in the page source, Product markup, GTINs, brand fields and stock. Doing it yourself? View the source of your best-selling product page and search for its price.

Google Ads for Ecommerce

A Store Can Look Profitable at 3.0 ROAS and Still Lose Money. Know Your Break-Even Before You Spend.

We've run paid ads for 25+ years and seen just about every way a budget goes sideways. Get on the phone with someone who does this every day. Bring your questions, your numbers and your skepticism. You'll hang up knowing what we'd do, whether you hire us or not.

David Smania · Founder, BrandRocket

25+ years running paid media for small businesses, and a low tolerance for agency theater.

Follow on LinkedIn