For cross-border stores running Shopping or Performance Max campaigns, the product feed is the ad. A messy feed means disapproved items, wrong prices shown to buyers, and wasted spend. This checklist is written for developers who generate the feed, with checks you can automate.
Identity fields
-
idstable across exports; never reuse an ID for a different product. -
gtinwhere it exists; do not invent GTINs. Useidentifier_exists = nofor custom goods. -
brandconsistent spelling across all items.
Price and currency per target country
Each target country needs prices in a currency Merchant Center accepts for that country, and they must match the landing page the buyer sees. If your site converts currencies by geolocation, make sure the crawler sees the same price you submit.
def check_price(item, page_html):
shown = extract_price(page_html, item["currency"])
return abs(shown - item["price"]) < 0.01
Run this against a sample of landing pages every day.
Availability and shipping
Out-of-stock items must say so. Shipping settings must cover each target country, or items will be limited. Cross-border sellers often forget this when adding a new market.
Titles that work in each language
Titles should be in the language of the target country, start with the most important attributes, and avoid promotional text like "free shipping" or "best price", which can trigger disapprovals.
Images
Use clean product images without watermarks or overlaid promotions. Check image URLs return 200 and are not blocked by hotlink protection.
Automated pre-flight checks
REQUIRED = ["id", "title", "description", "link", "image_link", "price", "availability"]
def validate(item):
errs = [f for f in REQUIRED if not item.get(f)]
if len(item.get("title", "")) > 150: errs.append("title too long")
if "free shipping" in item.get("title", "").lower(): errs.append("promo in title")
return errs
Fail the export if more than a small percentage of items have errors.
Monitor diagnostics
Merchant Center's diagnostics change daily. Pull the item status report through the Content API on a schedule and alert on sudden increases in disapprovals.
Account-level issues
Misrepresentation suspensions usually come from missing business information, unclear return policies or checkout problems, not from the feed itself. Make sure your contact page, refund policy and checkout are complete before scaling.
Shopping is one channel among many. If you are comparing account requirements and costs across Google, Meta, TikTok and others, see our ad platform account cost comparison.
Published by PandaWM, an overseas marketing team based in Hong Kong.
Top comments (0)