Product Feed Optimization Guide for Perplexity Shopping Feed
Learn the required fields, format specifications, and optimization strategies for Perplexity Shopping Feed feeds.
What is Perplexity Shopping Feed?
Perplexity Shopping is the product discovery surface inside Perplexity AI, the conversational answer engine used by tens of millions of researchers, professionals, and consumers each month. When a user asks Perplexity for a product recommendation, the assistant returns a curated shortlist of items with images, prices, retailer logos, and a one-click path to the merchant or to Perplexity's native checkout. Unlike a traditional search results page, the answer is generated by a large language model that has read your entire product catalog and reasoned about which items match the user's intent. Getting your products into that shortlist starts with a properly structured product feed.
Perplexity does not require a unique feed format. It ingests the same Google Shopping product data spec you already submit to Google Merchant Center, accepting either CSV (the typical path, delivered via SFTP) or XML (RSS 2.0 with the http://base.google.com/ns/1.0 namespace). Merchants opt into Perplexity discovery by enrolling in the Perplexity Merchant Program and providing access to an existing Merchant Center feed. Because the underlying spec is identical, every optimization that improves your Google Shopping performance - cleaner titles, accurate GTINs, structured attributes, fast feed refreshes - also improves your visibility inside Perplexity answers.
What makes Perplexity different is how it ranks and de-duplicates products. Perplexity uses GTIN as the primary identity key: when ten retailers all sell the same EAN, Perplexity collapses them into a single product card and selects retailers based on price, shipping window, return policy, and trust signals. Products without a valid GTIN are treated as standalone items and rarely surface in comparison answers, so accurate GTIN coverage is the single highest-leverage thing a merchant can do for Perplexity visibility. Beyond identifiers, Perplexity rewards descriptions that read like editorial copy rather than keyword soup - the language model is interpreting the description as natural language and matching it against the user's actual question, not against a bag of keywords.
At a Glance
Perplexity Shopping Feed Field Requirements
Required and optional fields for your product feed
How Perplexity Shopping Feed Feeds Are Structured
Key structural rules and formatting requirements for this feed type
- 1
Submit a standard Google Shopping feed (CSV via SFTP or XML)
Perplexity reads the Google Shopping product data spec - the same one Google Merchant Center uses. CSV (typically delivered via SFTP) is the most common path; XML (RSS 2.0 with the Google namespace) and Atom 1.0 are also accepted. You do not need to maintain a Perplexity-specific feed - most merchants reuse what they already serve to Google. Use UTF-8 encoding and either deliver via SFTP credentials provided in the Merchant Program onboarding, or expose the feed over HTTPS for HTTP-fetched ingest.
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0"><channel><title>My Store</title><link>https://www.example.com</link><item><g:id>SKU-001</g:id><g:title>Product Title</g:title></item> - 2
GTIN is the primary identity key - never omit it
Perplexity de-duplicates products across retailers by GTIN (EAN, UPC, ISBN, JAN). When a user asks for the best wireless headphones under 200 euros, Perplexity collapses every retailer selling the same Sony WH-1000XM5 into a single product card and picks the retailer with the best price, shipping, and trust score. Products without a GTIN cannot enter that comparison and only surface for highly specific queries. If a product genuinely has no manufacturer GTIN, set identifier_exists to false explicitly so Perplexity treats it as a unique item rather than a candidate for matching.
<g:gtin>0194501234567</g:gtin><g:identifier_exists>false</g:identifier_exists> - 3
Write descriptions as natural language, not keyword lists
Perplexity uses a large language model to match products to user queries. Stuff your description with keywords and the model will detect the unnatural phrasing and rank you lower. Write the description the way a knowledgeable salesperson would describe the product to a customer - concrete features, real benefits, and the specific use cases the product is suited for. Sentences with verbs work better than fragments. The model will also lift snippets of your description directly into the answer card, so write copy you would be happy to see quoted.
Good: The padded collar prevents heel slip on long runs.Bad: Padded collar, comfortable, premium quality, long-lasting. - 4
Use the most specific google_product_category available
The google_product_category attribute drives both topical relevance and the kind of follow-up questions Perplexity will ask the user (size for shoes, capacity for storage devices, etc.). Use the deepest applicable node in the Google taxonomy - Apparel & Accessories > Shoes > Athletic Shoes > Running Shoes is far more useful than Apparel & Accessories alone. The full taxonomy is at google.com/basepages/producttype/taxonomy-with-ids.en-US.txt and is updated several times a year.
<g:google_product_category>Apparel & Accessories > Shoes > Athletic Shoes > Running Shoes</g:google_product_category> - 5
Encode currency and units consistently
Prices must include the ISO 4217 currency code separated by a space (149.95 EUR, not EUR149.95 or 149,95). Weights use space-separated units (0.85 kg, 1.5 lb). Inconsistent formatting is the most common cause of feed-level rejections and silently degrades match quality even when the feed is accepted, because the parser falls back to defaults instead of using your declared values.
<g:price>149.95 EUR</g:price><g:shipping_weight>0.85 kg</g:shipping_weight> - 6
Group variants with item_group_id and submit each as a separate item
Each size, color, or material variant must be a separate <item> with its own id but a shared item_group_id. Perplexity uses the group to render a single card with selectable variants in the answer, rather than ten near-duplicate listings. Variants must each have their own image, price, GTIN, and availability - do not share a single image across all sizes.
<g:item_group_id>AIRMAX-90</g:item_group_id><g:color>Black</g:color><g:size>42 EU</g:size>
Perplexity Shopping Feed Optimization Tips
Proven strategies to improve your feed performance and product visibility
- 1
Lead the title with brand and product name in the user's phrasing
Perplexity titles are matched semantically against the user's question, so the title should look like the way a person searches in natural language. Lead with the brand and product name, then the most distinguishing attribute, then the variant. Avoid stuffing every keyword you can think of - a clean Sony WH-1000XM5 Wireless Noise-Cancelling Headphones - Black is far more effective than Sony WH-1000XM5 Bluetooth Wireless Premium Active Noise Cancelling Over-Ear Headphones Hi-Fi Audio.
Sony WH-1000XM5 Wireless Noise-Cancelling Headphones - BlackBosch Series 8 60cm Induction Hob - 4 Zones - Black GlassPatagonia Better Sweater Fleece Jacket - Men's - Navy - Size L - 2
Maintain GTIN coverage above 95 percent of catalog
Perplexity reports a GTIN coverage rate to merchants in its dashboard. Merchants below 80 percent coverage are routinely outranked even when their prices are lower, because the assistant cannot confidently match their items to the user's intent. Audit your catalog quarterly: pull the items currently emitting identifier_exists false and check whether the manufacturer has since assigned a GTIN. For private-label brands, register your own GTINs through GS1 - the cost per GTIN is small and the discovery uplift is significant.
Audit query: SELECT COUNT(*) FROM products WHERE gtin IS NULL OR LENGTH(gtin) < 8Registration: gs1.org for new manufacturer codes - 3
Add product_highlight bullets for the answer card
Perplexity surfaces up to five product_highlight values as bullet points in the answer card. These are the closest equivalent to ad copy and are read more carefully than the description by users skimming the answer. Lead with the strongest, most concrete claim - 30-hour battery beats long battery life every time. Avoid superlatives that look like marketing fluff to the model (best, premium, world-class) and prefer specific numbers.
<g:product_highlight>30-hour battery life with ANC on</g:product_highlight><g:product_highlight>Multipoint Bluetooth - connect 2 devices simultaneously</g:product_highlight><g:product_highlight>Foldable design - includes hard travel case</g:product_highlight> - 4
Surface return policy and shipping window in the feed
Perplexity factors return policy and shipping speed into ranking when comparing retailers selling the same GTIN. A 30-day free return policy and 2-day shipping will outrank a cheaper merchant with 14-day paid returns and a 5-day shipping window. Configure these at the account level in Merchant Center where possible, but include the return_policy and max_handling_time attributes in your feed for product-level overrides.
<g:return_policy>30 days free returns</g:return_policy><g:max_handling_time>1</g:max_handling_time> - 5
Refresh the feed daily and after every price change
Perplexity re-ingests submitted feeds every 24 hours by default and respects any sitemap-style lastmod timestamps you provide. For high-velocity catalogs, push deltas via the Content API so price drops appear in answers within minutes rather than the next day. Stale prices are the second-most-common reason for losing the comparison spot - if your feed says 99 euros but the landing page charges 109, Perplexity will demote you for the rest of the cycle even if you fix the feed within the hour.
Scheduled fetch: every 4 hours via Merchant CenterContent API: push partial updates on every price change - 6
Tag bestsellers and editor's picks with custom labels
Perplexity does not directly read custom_label values, but they enable you to segment performance reporting in your own analytics layer so you can see which product tiers are surfacing in answers. Pair custom_label_0 with a margin tier, custom_label_1 with a bestseller flag, and custom_label_2 with seasonal relevance to identify which combinations are winning the comparison spot most often.
<g:custom_label_0>margin_high</g:custom_label_0><g:custom_label_1>bestseller</g:custom_label_1><g:custom_label_2>spring_2026</g:custom_label_2>
Common Perplexity Shopping Feed Feed Errors
Frequent feed issues and how to resolve them
- Error
Product missing or invalid GTIN
SolutionProvide a valid 8-, 12-, 13-, or 14-digit GTIN that passes the check-digit validation. EAN-13 is the most common in Europe, UPC-A in North America. If the product genuinely has no manufacturer-assigned GTIN (custom, handmade, vintage, or private-label without GS1 registration), set identifier_exists to false explicitly. Do not invent GTINs or reuse codes from another product - both result in long-term suppression rather than a single item rejection.
- Error
Price mismatch between feed and landing page
SolutionPerplexity validates feed prices against landing-page DOM data on every ingestion. Differences greater than 1 percent (or 1 currency unit, whichever is larger) trigger a 24- to 72-hour cool-down where the product is suppressed. Causes are usually one of: timezone-mismatched sale_price_effective_date windows, stale feed cache, or VAT-inclusive vs VAT-exclusive price treatment. Double-check that landing-page schema.org Product/Offer markup matches your feed exactly.
- Error
Description detected as keyword stuffing
SolutionThe Perplexity LLM scores descriptions for naturalness. Lists of synonyms (running shoes, jogging shoes, athletic footwear, sports shoes, trainers) repeated without sentence structure are flagged and the product is demoted. Rewrite as full sentences focused on features, materials, and use cases. As a guideline, the description should pass a read-aloud test: if it sounds like marketing word-salad when spoken, the model thinks so too.
- Error
Image link returns 404 or non-product content
SolutionImage URLs must serve the actual product image with HTTP 200, must be publicly accessible without authentication, and must not redirect more than once. CDN-protected URLs that block bots return 403 to Perplexity's crawler and the item is rejected. Whitelist the Perplexity user agent (PerplexityBot/1.0) in your CDN, robots.txt, and any anti-bot rules. Avoid query-string-signed URLs that expire within 24 hours.
- Error
google_product_category not in current taxonomy
SolutionThe Google taxonomy is updated multiple times a year and old category strings can stop matching. If your feed uses a string-form category, ensure it matches the latest taxonomy file exactly. Alternatively switch to the numeric category ID (e.g. 187 for Running Shoes), which is stable across taxonomy revisions. Items with unknown categories fall back to a generic ranking pool and rarely surface in comparison answers.
- Error
Feed too large or fetch timeout
SolutionPerplexity's ingest currently times out at 30 minutes per feed file with a 4 GB max file size. Catalogs above 500,000 items should split the feed into multiple files referenced from a single sitemap, or stream gzipped content. Avoid serving the feed from the same origin as the storefront - a high-traffic Black Friday window can starve the ingest of bandwidth and result in stale catalog data for days.
Feed Performance Metrics to Track
Key metrics that indicate how well your product feed is performing
Answer Inclusion Rate
The percentage of Perplexity answers in your category that include at least one of your products. Reported in the Perplexity Merchant Dashboard. A healthy inclusion rate for an established brand is 25 to 40 percent in their primary category. Below 10 percent indicates either GTIN coverage gaps or category-mapping issues; below 5 percent usually means the feed is not being refreshed frequently enough.
Comparison Win Rate
When Perplexity de-duplicates products by GTIN, exactly one retailer wins the buy box for that answer card. Comparison Win Rate is the percentage of answer cards on shared GTINs where you are that retailer. Driven by price, shipping speed, return policy, and trust score in roughly that order. Typical winners are within 3 percent of the lowest price and offer free returns within 30 days.
Click-Through Rate (CTR) from answers
Of the users who see your product in a Perplexity answer, the percentage who click through to your store. Average CTR sits between 4 and 8 percent across categories - significantly higher than traditional Shopping ad CTR because the user is at a deeper point in the consideration funnel. CTR below 3 percent usually indicates a weak product image or a price that is visibly higher than competitor cards in the same answer.
Feed Health Score
A composite score combining GTIN coverage, image accessibility, price-match rate, and feed freshness. Reported as a 0-100 metric in the Perplexity dashboard. Aim to stay above 90. Drops in this score lag 24 to 48 hours behind the underlying issue, so check trend rather than absolute value when diagnosing a sudden visibility loss.
Conversion Rate from Perplexity Traffic
Perplexity traffic typically converts at 1.5x to 2.5x the rate of paid Shopping ads because users have already received an LLM-generated recommendation. If your conversion rate from Perplexity is at or below your overall site average, the most common cause is that the answer card surfaces a different price than the landing page (even within the 1 percent tolerance), or the landing page does not immediately confirm the variant the user clicked on.
How to Set Up Your Perplexity Shopping Feed Feed
Step-by-step guide to creating and optimizing your product feed
Enroll in the Perplexity Merchant Program
Apply for merchant access at perplexity.ai/merchants. The program is free for organic listings and currently approves applicants on a rolling basis. You will need a verified domain, a publicly accessible Google Shopping XML feed, and at least 100 unique products with valid GTIN coverage above 80 percent. Approval typically takes 5 to 10 business days. Once approved, you receive dashboard access and can submit your feed URL.
Audit your existing Google Shopping feed for Perplexity readiness
Pull a sample of 100 random items from your feed and verify: every item has a GTIN that passes check-digit validation; every google_product_category is at least 4 levels deep in the taxonomy; every description reads as natural language rather than a keyword list; every image URL returns HTTP 200 from an unauthenticated request. Items failing any of these checks will be ingested but rarely surface in answers. Fix the systemic causes (often in the feed-generation script) before submitting to Perplexity to avoid burning through the initial credibility window.
Whitelist PerplexityBot in your infrastructure
Add the PerplexityBot user agent (full string PerplexityBot/1.0; +https://perplexity.ai/perplexitybot) to your robots.txt allow-list, your CDN's bot-management rules, and any anti-bot WAF policies. This must apply to both the feed URL and all image URLs. Without whitelisting, Perplexity's crawler will receive 403 or rate-limited responses and either reject the feed entirely or silently demote items whose images cannot be fetched.
Perplexity Shopping Optimization Checklist
Download the complete checklist for getting your products into Perplexity AI answers. Covers GTIN auditing, description rewriting frameworks, taxonomy mapping, and the bot whitelist configuration that most merchants miss on day one.
- Step-by-step GTIN audit query and remediation playbook for catalogs of any size, including how to register your own codes through GS1 for private-label products
- Description rewriting framework with 12 before-and-after examples showing how to convert keyword-stuffed copy into natural-language descriptions that the Perplexity LLM ranks higher
- Complete bot whitelist configuration for Cloudflare, Akamai, AWS WAF, and Fastly so PerplexityBot can fetch your feed and images without rate-limiting
- Comparison Win Rate tuning guide showing the price, shipping, and return policy thresholds that flip the buy box on shared GTINs
Frequently Asked Questions
Common questions about Perplexity Shopping Feed product feeds
Google Product Category Lookup
Full taxonomy list, IDs, and how to map your products correctly.
Explore More Feed Guides
- Inventory all product sources
- Define your attribute schema
- Normalize brand names
- Add alt-text to every primary image
The product feed optimization checklist
Ten hard steps that bring your rejection rate down and your CTR up — from title templates to source-side structured data.
- Record your current rejection rate first as a baseline
- Per-channel title templates (no copy-paste)
- Pipe errors into Slack/email for same-day triage
One email, no follow-up spam. Print it and get to work.
Generate every feed automatically from one catalog
The WISEPIM Feed Hub turns your central product data into ready-to-publish feeds for every channel in this guide — and dozens more. Map fields once, schedule refreshes, monitor errors per channel, and push fixes back to the source. No manual exports, no format-juggling, no chasing rejections one channel at a time.

Ready to Optimize Your Perplexity Shopping Feed Feed?
WisePIM automatically generates optimized product feeds for all major channels from your central product catalog.