如何利用 Google Shopping SERP 資料監控產品價格
商品價格一直在變。 某個商品早上可能是 $129,限時促銷時變成 $119,隔天又回到 $149。競品可能悄悄降價。Marketplace seller 可能突然開始提供 free shipping。某個商品也可能先在 Google Shopping 裡出現 discount badge,而你的團隊還沒注意到。 這就是 ecommerce teams 需要 price monitoring 的原因。 建立價格監控系統的一個實用方式,是使用 Shopping SERP data。你不需要人工檢查商品頁,而是收集結構化 Google Shopping search results,保存 price snapshots,比較變化,並在重要變動發生時觸發 alerts。 基本流程如下: 這篇會說明如何用 Shopping SERP data 設計一套價格監控系統。 什麼是 Shopping SERP data? Shopping SERP data 是從 shopping search results 中收集到的結構化商品數據。 以 Google Shopping-style results 來說,常見可用欄位包括 […]
商品價格一直在變。
某個商品早上可能是 $129,限時促銷時變成 $119,隔天又回到 $149。競品可能悄悄降價。Marketplace seller 可能突然開始提供 free shipping。某個商品也可能先在 Google Shopping 裡出現 discount badge,而你的團隊還沒注意到。
這就是 ecommerce teams 需要 price monitoring 的原因。
建立價格監控系統的一個實用方式,是使用 Shopping SERP data。你不需要人工檢查商品頁,而是收集結構化 Google Shopping search results,保存 price snapshots,比較變化,並在重要變動發生時觸發 alerts。
基本流程如下:
Product keywords
↓
Shopping SERP API
↓
Product titles, prices, sellers, ratings, reviews
↓
Price snapshots
↓
Change detection
↓
Alerts, dashboards, reports
這篇會說明如何用 Shopping SERP data 設計一套價格監控系統。
什麼是 Shopping SERP data?
Shopping SERP data 是從 shopping search results 中收集到的結構化商品數據。
以 Google Shopping-style results 來說,常見可用欄位包括 product title、product link、source 或 seller、price、extracted price、old price、delivery information、rating、reviews、snippet、thumbnail、tag、badge 和 ranking position。這些都是 Google Shopping result APIs 常見會提供的欄位。
對價格監控系統來說,最重要的是這些欄位:
| Field | Why it matters |
| Product title | 識別搜尋中出現的商品 |
| Price | 當前可見價格 |
| Extracted price | 用於比較的數值價格 |
| Old price | 幫助識別 discount signals |
| Seller / source | 顯示誰在銷售該商品 |
| Product link | 連到商品頁 |
| Rating | 信任訊號 |
| Review count | 熱度與信心訊號 |
| Delivery info | Shipping 會影響實際價格 |
| Position | 顯示 shopping visibility |
| Timestamp | Price history 必需 |
沒有 timestamps,就不是 monitoring,只是一堆沒有時鐘的商品數據。
為什麼用 Shopping SERP data 做價格監控?
很多團隊一開始只追蹤自己的 product pages。這有用,但不完整。
Shopping SERP data 顯示的是搜尋者看到的市場。
| Monitoring question | Shopping SERP data helps answer |
| 這個 keyword 下有哪些 sellers? | Seller / source |
| 今天哪個 product 最便宜? | Extracted price |
| 哪些 competitors 有折扣? | Old price + current price |
| 哪些 products 排名更高? | Position |
| 哪些 listings 的信任訊號更強? | Rating + review count |
| 哪些 products 有 free delivery? | Delivery field |
| 哪些 prices 和昨天不同? | Snapshot comparison |
Google 的 product structured data 文件也指出,product information 例如 price、availability、review ratings 和 shipping information,可以在 Google Search experiences 中以更豐富的方式呈現。
所以,search-visible product data 不只適合 feed management,也適合 ecommerce monitoring。
Shopping SERP API vs Merchant API
設計系統前,要先區分兩種不同 API。
Shopping SERP API 用於收集可見 shopping search results,幫你監控使用者在搜尋中看到什麼。
Merchant API 用於管理自己的 Merchant Center product data。Google 將 Merchant API 描述為管理 Merchant Center accounts 的方式,而 Merchant Products API 可讓 merchants insert、update、retrieve 和 delete product data。
| API type | Main purpose | Best for |
| Shopping SERP API | 收集可見 shopping search results | Price monitoring、competitor tracking、market research |
| Merchant API | 管理自己的 Merchant Center product data | Product feed management、inventory updates |
如果你要監控 competitors 和 sellers 的價格,需要 Shopping SERP data。
如果你要管理自己的 product catalog,使用 Merchant API。
系統架構
一套輕量價格監控系統通常有六個部分。
Keyword list
↓
SERP collection job
↓
Raw response storage
↓
Product parser
↓
Price snapshot database
↓
Change detection + alerts
每個模組的作用:
| Module | Job |
| Keyword list | 定義要追蹤的 products、brands、categories、markets |
| SERP collection job | 定時呼叫 Shopping SERP API |
| Raw response storage | 保存原始 API response,方便 debug |
| Product parser | 提取 title、price、seller、rating、reviews、links |
| Snapshot database | 每次收集保存一批 product result rows |
| Alert engine | 檢測 price drops、seller changes、ranking changes |
一開始不需要做得很複雜。先用 daily CSV 或 database table 跑起來,等數據穩定後再加 dashboards 和 alerts。
Step 1:定義要監控什麼
不要先寫 code。先定義 monitoring target。
你需要明確:
| Question | Example |
| 哪些 products? | wireless headphones、standing desk、baby bottle |
| 哪些 brands? | 自有品牌、競品品牌 |
| 哪些 markets? | US、UK、Japan |
| 哪種 language? | English、Chinese、Japanese |
| 多久收集一次? | Daily、hourly、weekly |
| 哪些變化重要? | Price drop、price increase、new seller、lost visibility |
一份乾淨 tracking list 可以長這樣:
[
{
"keyword": "wireless noise cancelling headphones",
"country": "us",
"language": "en",
"currency": "USD",
"monitoring_group": "headphones"
},
{
"keyword": "standing desk",
"country": "us",
"language": "en",
"currency": "USD",
"monitoring_group": "office furniture"
}
]
Keyword list 是方向盤。沒有它,系統只是在瓶子裡收集亮粉。
Step 2:收集 Shopping SERP data
Shopping SERP API request 通常會包含 query、country、language、currency 和 result type。
簡化後的 request 可以長這樣:
{
"engine": "google_shopping",
"q": "wireless noise cancelling headphones",
"country": "us",
"language": "en",
"currency": "USD",
"device": "desktop",
"no_cache": true
}
在 TalorData 中,這類 workflow 對應 Google Shopping SERP data use case:收集 real-time Google Shopping data,包括 product prices、sellers、ratings、reviews、offers 和 shopping visibility。
輸出建議保存兩種形式:
| Storage type | Why |
| Raw JSON | Debug、reprocessing、schema changes |
| Parsed table | Reporting、alerts、dashboards |
早期一定要保留 raw responses。Parser 會進化。
Step 3:解析商品欄位
Parser 需要從 shopping results 中提取標準化欄位。
先從這些開始:
{
"query": "wireless noise cancelling headphones",
"country": "us",
"language": "en",
"collected_at": "2026-07-06T09:00:00Z",
"position": 1,
"title": "Wireless Noise Cancelling Headphones",
"seller": "Example Store",
"price": "$129.99",
"extracted_price": 129.99,
"old_price": "$159.99",
"extracted_old_price": 159.99,
"currency": "USD",
"rating": 4.6,
"reviews": 1280,
"delivery": "Free delivery",
"product_link": "https://example.com/product",
"thumbnail": "https://example.com/image.jpg"
}
最重要的 normalization 是 price。
你需要數值型 extracted_price,而不只是 $129.99 這種文字。
| Raw value | Normalized value |
$129.99 | 129.99 |
US$1,299.00 | 1299.00 |
€89,99 | 89.99 |
Free | 0 或 null,取決於規則 |
Raw price 和 normalized price 都要保存。Raw price 方便 audit,normalized price 方便計算。
Step 4:保存 price snapshots
Price monitoring 依賴 snapshots。
Snapshot 的意思是:
在某個 query、market、seller、product 和 time 下,當時可見價格是什麼。
簡單 database table 可以這樣設計:
| Column | Type | Purpose |
id | string | Unique row ID |
query | string | Search keyword |
country | string | Market |
language | string | Language |
currency | string | Price currency |
collected_at | datetime | Snapshot time |
position | integer | Shopping result position |
title | string | Product title |
seller | string | Store or source |
product_link | string | Product URL |
price | string | Raw price |
extracted_price | decimal | Numeric price |
old_price | string | Raw old price |
rating | decimal | Product rating |
reviews | integer | Review count |
delivery | string | Shipping message |
第一版可以用 PostgreSQL、MySQL、BigQuery,甚至 daily CSV files。
不要太早過度設計。每天穩定跑的小表,比永遠沒上線的大系統更有價值。
Step 5:匹配同一個商品
這是比較難的部分。
同一個 product 可能會以不同 title、seller、link 或 price 出現。
可以使用這些 matching strategy:
| Matching method | Reliability |
| Product ID | High |
| Product link | High |
| Seller + normalized title | Medium |
| Title + price + thumbnail | Medium |
| Fuzzy title matching | Lower, but useful |
| Manual product mapping | Best for important SKUs |
實用的 product key 可以是:
normalized_title + seller + country
對高價值 products,可以建立 manual mapping table:
| Internal SKU | Search title pattern | Seller | Product group |
| SKU-001 | wireless noise cancelling headphones | Example Store | Headphones |
| SKU-002 | ergonomic standing desk | Example Store | Office furniture |
這能避免系統把相似商品混在一起。
Step 6:檢測價格變化
有了 snapshots,價格變化檢測就很直接。
常見 rules:
| Rule | Example |
| Price dropped by 10% | Alert pricing team |
| Price increased by 15% | Flag possible stock or demand change |
| Competitor is cheaper | Add to competitor report |
| Old price appears | Mark discount signal |
| Seller disappears | Possible availability issue |
| New seller appears | New marketplace competitor |
| Position improves | Product visibility increased |
| Position drops | Product visibility decreased |
簡單 price drop formula:
price_change_percent = (current_price - previous_price) / previous_price * 100
範例:
| Previous price | Current price | Change |
| 159.99 | 129.99 | -18.75% |
可以設定 alert:
If price_change_percent <= -10:
send price drop alert
Step 7:建立 alerts
先從簡單 alerts 開始,再慢慢變聰明。
常見 alert types:
| Alert | Trigger |
| Price drop alert | Price decreases beyond threshold |
| Price increase alert | Price increases beyond threshold |
| Competitor cheaper alert | Competitor price below your product |
| New seller alert | New seller appears for tracked keyword |
| Discount alert | Old price appears with lower current price |
| Visibility alert | Product position moves into or out of top results |
| Missing product alert | Tracked product disappears from results |
好的 alert 應該包含 context:
{
"alert_type": "price_drop",
"keyword": "wireless noise cancelling headphones",
"seller": "Example Store",
"title": "Wireless Noise Cancelling Headphones",
"previous_price": 159.99,
"current_price": 129.99,
"change_percent": -18.75,
"country": "us",
"collected_at": "2026-07-06T09:00:00Z"
}
不要只發「price changed」。那像沒有港口名字的霧笛。
Step 8:建立 dashboards
價格監控 dashboard 應該快速回答實際問題。
| Dashboard section | What it shows |
| Lowest price by keyword | Cheapest visible seller |
| Price trend | Price over time |
| Competitor price table | Seller-by-seller comparison |
| Discount products | Products with old price and lower current price |
| Seller visibility | Which sellers appear most often |
| Ranking movement | Position changes over time |
| Data freshness | Last collection time and success rate |
對 ecommerce teams 來說,最有用的視圖通常是:
Keyword → top products → seller → current price → previous price → change → position
Dashboard 要能幫人今天做決策,而不是只展示漂亮圖表。
Step 9:決定收集頻率
不是每個商品都需要 hourly monitoring。
| Product type | Suggested frequency |
| High-volume consumer electronics | Hourly or daily |
| Seasonal products | Daily during peak season |
| Long-tail products | Weekly |
| Competitor SKUs | Daily |
| Flash-sale categories | Hourly |
| Stable B2B products | Weekly or monthly |
Frequency 會影響 cost、storage 和 alert noise。
建議先 daily。只有對價格變動很敏感的 products,再提高頻率。
TalorData 在系統中的位置
TalorData 可以作為這個 workflow 的 search data collection layer。
你不需要自己維護 browser automation、selectors、proxies 和 CAPTCHA handling。系統只需要發送 Shopping SERP requests,接收 structured search result data。
TalorData SERP API 支援 SEO monitoring、AI agents、RAG、competitor tracking 和 market research 等 structured search result workflows;Google Shopping SERP API 則圍繞 real-time product prices、sellers、ratings、reviews、offers 和 shopping visibility。
在價格監控系統中,TalorData 位於這裡:
Tracked product keywords
↓
TalorData Shopping SERP API
↓
Structured product results
↓
Price snapshot database
↓
Change detection and alerts
常見錯誤
只追蹤 price
Price 不夠。還要保存 seller、delivery、rating、reviews、position、country、language 和 timestamp。
忽略 shipping
低價格但高運費,實際上未必更便宜。
混合不同 markets
US 和 UK shopping results 不應直接混在一起,除非你做了 currency 和 market context normalization。
不保存 raw responses
如果 parser 出問題或 fields 變化,raw JSON 可以幫你重新處理歷史數據。
Product matching 太粗
相似 titles 可能是不同商品。重要 SKUs 應使用 product links、seller names、IDs 或 manual mapping。
Alerts 太多
Alert fatigue 很真實。要設 thresholds、grouping 和 daily summaries。
結語
價格監控系統不需要一開始就是巨大平台。
先從 keyword list 開始,收集 Shopping SERP data,解析 product titles、sellers、prices、ratings、reviews 和 delivery fields,然後保存 daily snapshots。
當數據穩定後,再加入 price change detection、competitor comparisons、alerts 和 dashboards。
Shopping SERP data 給團隊一個 search-visible market view。它不只告訴你自己的商品價格,也告訴你使用者在比較 products、sellers 和 offers 時看到什麼。
這時,price monitoring 就不只是 spreadsheet,而是一個帶牙齒的小型市場雷達。
FAQ
什麼是 Shopping SERP data?
Shopping SERP data 是從 shopping search results 中收集的結構化商品數據,可包含 product titles、prices、sellers、ratings、reviews、delivery information、thumbnails、product links 和 positions。
Shopping SERP data 如何用於價格監控?
你可以定時收集 product results,保存 price snapshots,比較 current 和 previous prices,並在 prices、sellers、discounts 或 positions 變化時觸發 alerts。
Price monitoring 最先應保存哪些欄位?
建議先保存 query、country、language、timestamp、product title、seller、price、extracted price、old price、product link、rating、review count、delivery 和 position。
Shopping SERP API 和 Merchant API 一樣嗎?
不一樣。Shopping SERP API 收集可見 shopping search results。Merchant API 用於管理自己的 Merchant Center product data。
多久收集一次價格數據?
Daily 是好的起點。對 fast-moving categories、flash sales 或 high-value competitor products,可以使用 hourly collection。