15% off your first purchase with code WELCOME15, up to 25 GB.

See pricing

SEO & SERP · Shopping results

Shopping results monitoring: product listings in search, per market

When a shopper searches for a product, the first thing they compare is a grid of offers — merchant, price, rating — that changes by country, by day and by query. Collect those product listings from an exit in each market, and you see the shelf your products compete on before the shopper ever reaches your site.

Pay per GB · No subscription · Prices in EUR, excl. VAT

Illustration. The URLs and values are fictional; the connection string is the real grammar.
€0.75
per GB on ARC Basic, excl. VAT
−21%
at 1 TB (€0.59 / GB)
185+
countries, city targeting
Never
expires — no subscription

Written for

  • E-commerce SEO leads
  • Paid search and shopping ads managers
  • Comparison shopping services
  • Brand and retail media analysts

The short answer

  • Shopping results are a different list from organic rankings: offers ranked by product, merchant and price, mixing paid and free listings.
  • The set of merchants, the currency and even who may place ads differ by country — in 21 European countries, shopping ads and free product listings are placed through comparison shopping services.
  • Collect each market from an exit in that country, with a fresh exit per query and no carried-over state.
  • Store the offer as shown: merchant, price, position, and whether it was a paid or free listing.

The problem

What goes wrong without the right IPs

Organic rank says nothing about the product grid

Your category page can rank first organically while your products are missing from the product listings above it. A rank tracker that only parses blue links misses the unit shoppers actually click.

One market's grid reported as everyone's

Merchants, prices and currencies differ per country. A grid collected from one location describes that country's shelf only, whatever language the query was in.

Paid and free listings are blended

Product grids mix ads and free listings. Without the label stored per offer, you cannot tell whether a competitor's visibility is bought or earned.

Results change within the day

Bids, budgets and price feeds update continuously. A grid collected over six hours is a smear of different auctions, not a snapshot.

Heavy pages, many queries

Product grids carry images for every offer. Loading them for thousands of queries per market turns a modest monitoring job into a large bandwidth bill.

What to collect

What you can collect

Query, market and language
The grid is defined by all three; store them on every row.
Position in the grid
Visibility is positional — the first row is seen far more than the last.
Product title and identifier
Match the offer to your catalogue by GTIN where shown, by title otherwise.
Merchant name
Who you share the shelf with, per market.
Price, currency and any sale label
The comparison a shopper makes first, in the currency they see.
Paid or free listing
Separates bought visibility from earned visibility in every report.
Placing service, where shown
In CSS countries, which comparison shopping service placed an ad.
Rating and review count
Shown on many offers and a strong driver of clicks.
Timestamp
Ad auctions and feeds move intraday; comparisons need a time.

How it runs

How a collection run works

  1. 01

    Choose queries that carry purchase intent

    Product names, model numbers and category-plus-attribute queries ("running shoes waterproof") trigger product grids; informational queries mostly do not. Start with the queries your paid team bids on and your SEO team targets.

  2. 02

    Run each market from its own country

    One fresh rotating exit per query, country token set, interface language pinned. No cookies between checks — a shopping grid personalised by earlier browsing is not a market measurement.

    One market per exit, one exit per query
    import httpxGATEWAY = "proxy.arcproxies.io:8000"PASSWORD = "PASSWORD"MARKETS = {"de": "de-DE", "fr": "fr-FR", "gb": "en-GB", "it": "it-IT", "nl": "nl-NL"}def grid(country: str, url: str) -> str:    user = f"USERNAME_pool-arcfast_country-{country}"    proxy = f"http://{user}:{PASSWORD}@{GATEWAY}"    with httpx.Client(proxy=proxy, timeout=30, follow_redirects=True) as c:        return c.get(url, headers={"Accept-Language": MARKETS[country]}).text
  3. 03

    Parse every offer, not just yours

    Store one row per offer: position, merchant, title, price, currency, paid or free, rating. Share-of-shelf and price-position metrics come from the competitors' rows, not yours.

  4. 04

    Collect at fixed times

    Run each market at the same local times every day — for example morning and evening — so day-over-day changes compare like with like.

  5. 05

    Skip what you do not store

    Block images and fonts. A product grid without its thumbnails is a fraction of the weight, and the image URL is all you need. See reducing proxy bandwidth.

Setup

Recommended setup

Search result pages are strict and market-dependent, so residential exits with country targeting are the default here.

PlanRoleSessionTargetingPrice
ARC Fast
Rotating residential
Default for shopping grids
Residential exits in each market, a fresh one per query so no grid inherits another's state.
Rotating, one exit per queryCountry
€2.00 / GB
€1.12 at 1 TB (−44%)
ARC Ultra
Premium residential
For markets that keep failing
Premium residential for the markets where ARC Fast leaves you with failures you cannot otherwise explain.
Rotating, one exit per queryCountry
€3.50 / GB
€2.17 at 1 TB (−38%)

Prices are list prices in EUR, excl. VAT. Volume discounts apply automatically at checkout — full ladder on the pricing page.

Connect

One connection string per market

The country, city and sticky session are tokens in the username. Change the token, change the market; keep the session handle, keep the IP.

sticky · Germany · 10 min
http://USERNAME_pool-arcfast_country-de_session-k3f9a1x2_sesstime-10:PASSWORD@proxy.arcproxies.io:8000

Swap _country-de for any market you quote. The full grammar is on the residential proxies page.

Illustration

What daily shopping grids in five markets costs

An illustration with round numbers — your pages, payloads and retry rate will differ. The arithmetic is the real price ladder.

Assumptions

Product queries
1,000
Markets
5
Pages per check
1 (product grid)
Cadence
once a day
Weight per page, images blocked
450 KB
Bandwidth per month
≈ 68 GB

On ARC Fast

€108.80per month, excl. VAT

68 GB bought in one purchase at €1.60 / GB (−20% volume rung, applied automatically).

The same 68 GB on ARC Ultra: €197.54 at €2.91 / GB. Route only the jobs that need it through the pricier pool.

Two collections a day doubles the figure. Loading every product thumbnail would multiply the per-page weight several times.

Bandwidth never expires, so a bigger single purchase is only ever cheaper per GB. See the ladder.

In depth

Shopping results, in depth

Shopping results are their own ranking

Organic rank tracking answers "which page ranks for this query?". Shopping results monitoring answers "which products and merchants are on the shelf for this query, at what price, and who paid to be there?". They are separate lists on the same results page, ranked by different systems.

Since April 2020, Google's Shopping tab has consisted primarily of free product listings, with ads alongside — rolled out in the US first, with global expansion planned before the end of that year. A product grid therefore mixes paid and free offers, and a useful monitor records which is which.

MetricOrganic rank trackingShopping results monitoring
Unit of rankingA URLAn offer: product × merchant × price
Key competitor signalWho outranks your pageWho undercuts your price, who holds the first row
Paid influenceSeparate ad slotsPaid and free offers mixed in one grid
Typical consumerSEO teamSEO, paid search, pricing and retail media teams

Why the product grid differs by country

Merchants choose which countries their product feeds target, prices are shown in the local currency, and the set of merchants shipping to each country is different. Even for the same product and the same query language, the shelf in Germany and the shelf in Austria are two different shelves.

In Europe, there is a structural difference too. In 21 countries — including Germany, France, Italy, Spain, the Netherlands, Poland, the UK and Switzerland — Google's Merchant Center help says comparison shopping services must be used to place shopping ads and free product listings on Google. That followed the competition case in which the Commission fined Google about €2.4 billion in 2017 for favouring its own comparison shopping service in 13 EEA countries; the Court of Justice upheld the fine on 10 September 2024.

The practical consequence: a pan-European shopping monitor needs each country collected from that country, and in CSS countries it should record which service placed an ad where the result shows it.

Metrics that teams actually use

  • Share of shelf — the share of grid positions your products hold, per query and market.
  • Price position — your price relative to the lowest and median offer for the same product.
  • Paid share — how much of a competitor's visibility comes from ads versus free listings.
  • Merchant churn — new merchants appearing on your core queries, often the first sign of a new reseller or a market entrant.
  • Missing products — your SKUs absent from grids where they used to appear, usually a feed or policy problem worth catching the same day.

Price position overlaps with price monitoring, and merchant churn with marketplace seller monitoring; the difference is that here the shelf is the search engine's, not a shop's.

Collecting product grids cleanly

Treat each check as a signed-out shopper arriving fresh: no cookies, no history, pinned language, one exit per query. Store the raw HTML so you can re-parse when the layout changes, which it does regularly.

Spread a market's queries across the collection window rather than firing them at once, and treat throttled or challenged responses as failed checks to retry later — not as an empty grid. See handling 429 rate limits and the bandwidth guide.

Works with anything that takes a proxy URL

  • Python requests / httpx
  • Playwright
  • Node.js
  • Crawlee
  • Docker

FAQ

Questions

Something not covered? Write to contact@arcproxies.io.

What is shopping results monitoring?

It is collecting the product-listing results a search engine shows for product queries — position, merchant, product, price, rating, and whether the offer is an ad or a free listing — per country and on a schedule, so you can measure share of shelf and price position against competitors.

Why do shopping results differ by country?

Merchants target their product feeds at specific countries, prices are shown in local currency, and the set of merchants shipping to each market differs. In 21 European countries shopping ads and free listings on Google are also placed through comparison shopping services. Each market has to be collected from that market.

Are shopping results on Google paid or free?

Both. Google announced in April 2020 that its Shopping tab would consist primarily of free listings, with ads alongside. A product grid can mix paid and free offers, so a monitor should store which each offer is.

Which proxy plan suits shopping results monitoring?

ARC Fast, with country targeting and a fresh rotating exit per query. Move only the markets where you see failures you cannot otherwise explain to ARC Ultra. Billing is per GB and bandwidth never expires.

How much bandwidth does monitoring shopping results use?

With images blocked, a product grid page is a few hundred kilobytes. 1,000 queries in five markets, collected daily at about 450 KB a page, is roughly 68 GB a month. Collecting twice a day doubles it.

Sources & review

Last reviewed by the ARC Proxies team. Prices are read from the live catalog at build time.

  1. [1]Google: It's now free to sell on Google (April 2020)
  2. [2]Google Merchant Center Help: Learn more about advertising with Comparison Shopping Services
  3. [3]Court of Justice of the European Union: Press release No 135/24: Judgment in Case C-48/22 P, Google and Alphabet v Commission (Google Shopping)

Get started

Buy a gigabyte and try it on your own targets.

No subscription, no sales call. Code WELCOME15 takes 15% off your first purchase, and whatever you do not use is still there next quarter.