Attribute Guide
Google Shopping Availability Attribute: Requirements, Values & Best Practices
Complete guide to the availability attribute in Google Merchant Center. The 4 accepted values, landing page matching requirements, how OOS products waste…
Portable Bluetooth Speaker — Blue
Supplemental feed refreshes every 15 min → OOS products pulled from ads within minutes of going OOS → zero wasted spend on unavailable inventory.
Portable Bluetooth Speaker — Red
Feed: "in_stock" / Reality: out of stock since yesterday. Ad still running → clicks charged → shopper sees "Out of stock" on page → bounce, wasted spend, bad UX. Budget burned on zero-conversion traffic.
A supplemental feed containing only id + availability (and optionally price) refreshed every 15–20 minutes is the most effective strategy for maintaining availability accuracy without rebuilding the full product feed. Out-of-stock products left in the feed with in_stock status are one of the fastest ways to waste Shopping ad budget.
What is the availability attribute?
The availability attribute communicates the current stock status of your product to Google. It has exactly four accepted values: in_stock, out_of_stock, preorder, and backorder. Google uses this attribute to determine ad eligibility, influence impression priority, surface availability information to shoppers, and power audience segmentation for Dynamic Remarketing.
Availability accuracy is one of the most operationally demanding aspects of feed management because stock status can change multiple times per day for high-velocity inventory. An availability mismatch — where your feed says in_stock but the product is actually unavailable — is one of the most expensive mistakes in Google Shopping: it generates clicks (charged to your budget) that land on an OOS product page, producing zero conversions while actively burning spend. The solution is a high-frequency availability update strategy, typically via supplemental feeds.
Technical specifications
| Feed name | availability |
| Required | Yes — for all products |
| Accepted values | in_stock, out_of_stock, preorder, backorder |
| Case | Lowercase with underscores exactly as listed — no variations accepted |
| Must match | Availability status shown on product landing page |
| Related attribute | availability_date — required for preorder; use with backorder to set expected restock date |
Where it displays
-
Shopping Ads — Google uses availability to determine ad eligibility. In-stock products receive full impression priority. Out-of-stock products are typically deprioritized or excluded from Shopping ads (though they may appear in some formats). Preorder and backorder products may show with availability context text depending on the ad format. Inaccurate availability damages user experience when shoppers click through to OOS products.
-
Free Product Listings — The Shopping tab includes an “In stock” filter that shoppers can apply. Only products with
availability=in_stockappear in filtered results. Products with other availability statuses are excluded from in-stock filtered views, reducing their visibility to ready-to-buy shoppers. -
Dynamic Remarketing — Availability status is a key signal in Dynamic Remarketing audience logic. Google can exclude OOS products from remarketing ad creatives automatically — users who viewed a product that’s now OOS won’t be shown that product in retargeting ads (preventing a frustrating user experience). This requires accurate, up-to-date availability data.
-
Performance Max — In Performance Max campaigns with product feeds, availability is used to determine which products are eligible to appear in Shopping formats. OOS products are automatically deprioritized, but accurate data ensures the system doesn’t waste budget on them.
Rules
-
Only the four accepted values are valid — Any other value (e.g., “available”, “yes”, “true”, “1”, “limited”) will cause a feed error. Use exactly:
in_stock,out_of_stock,preorder,backorder. -
Must match landing page availability — Google crawls product pages to verify availability status. If the page shows “Out of Stock” but the feed says
in_stock, a mismatch is flagged. Sustained mismatches result in disapproval. -
Preorder requires availability_date — When submitting
preorder, also submitavailability_datewith the expected ship date in ISO 8601 format. Without it, the preorder context is incomplete and the benefit of the preorder designation is lost. -
Do not remove OOS products from the feed — Keep them with
out_of_stockstatus. Removal causes the product’s history to be lost. Instead, exclude OOS products from campaigns using product group filters in Google Ads.
Best practices
Supplemental feed for real-time availability
The most impactful operational improvement for availability accuracy is a dedicated supplemental feed containing only availability data, refreshed frequently:
-
Main feed: full product data, refreshed daily
-
Supplemental feed: just
id+availability(+priceif prices also change frequently), refreshed every 15–60 minutes
This supplemental feed approach means your availability data propagates to Google Merchant Center within 15–30 minutes of a stock change on your site — far faster than waiting for a full daily feed rebuild.
Campaign-level availability management in Google Ads
Even with accurate feed availability, implement campaign-level guards:
-
Create a product group for OOS products in Shopping campaigns and set bid to
0or exclude the group -
Use inventory filter rules to automatically exclude products with availability != in_stock from your active ad groups
-
For Performance Max, Google handles OOS deprioritization automatically, but explicit feed accuracy is still essential
Availability status decision guide
| Situation | Correct value | Notes |
| Product in warehouse, ready to ship | in_stock | Standard for available inventory |
| Product sold out, no restock expected | out_of_stock | Keep in feed; exclude from campaigns |
| Product sold out, restock in 5 days | backorder | Add availability_date for expected restock |
| New product launching next month | preorder | Add availability_date for launch date |
| Limited stock (last 3 units) | in_stock | No "low stock" value — use in_stock until OOS |
| Seasonal product (not yet in season) | preorder or out_of_stock | Depends on whether you accept early orders |
Impact on performance
-
Wasted ad spend on OOS products — This is the most direct and measurable impact. Every click on an OOS product that was incorrectly marked
in_stockis 100% wasted spend with 0% conversion potential. For accounts with large, fast-moving catalogs, availability lag can waste thousands of euros per month in misattributed clicks. -
Landing page quality signals — High bounce rates from OOS product clicks send negative landing page quality signals to Google. Over time, systematically poor landing page engagement on clicked products can increase effective CPCs across the account as Google factors this into Quality Score calculations.
-
Shopper trust — Shoppers who click a Shopping ad expecting an in-stock product and find it’s unavailable associate that negative experience with your brand, not just with Google. Repeat occurrences result in lost customer lifetime value beyond the immediate wasted click cost.
-
Remarketing precision — Accurate availability enables Dynamic Remarketing to automatically exclude OOS products from retargeting creatives. This keeps your remarketing ads showing only products people can actually buy — improving CTR and conversion rate on retargeting audiences.
Common mistakes
-
Using non-standard values like “available”, “yes”, “true”, or “1” instead of the exact accepted values
-
Removing OOS products from the feed entirely instead of marking them as
out_of_stock -
Relying solely on the daily feed refresh for availability updates in a high-velocity inventory environment
-
Using
in_stockfor pre-launch products that aren’t yet purchasable — usepreorderinstead -
Using
preorderwithoutavailability_date, leaving shoppers without context on when the product will be available -
Not pausing or excluding OOS products from Shopping campaigns even after the feed correctly marks them OOS
-
Failing to reactivate products in campaigns promptly after restocking — leaving restocked products excluded from bidding
Pro tips
-
Use a GCS supplemental feed for 30-minute availability sync — Host a lightweight CSV on Google Cloud Storage with just
id,price,availability, andsale_price. Set Merchant Center to fetch it every 30 minutes. This is the single most effective way to keep availability accurate — your primary feed might update once per day, but the GCS supplemental catches stock changes within half an hour. Register it as highest-priority in Data Sources → Default Rule. -
Build an inventory webhook to feed trigger — If your e-commerce platform supports webhooks for inventory events (stock dropped to zero, product restocked), use these to trigger a supplemental feed regeneration immediately rather than waiting for a scheduled refresh. An availability update within 5 minutes of a stock-out prevents almost all OOS traffic waste.
-
Segment your campaign reporting by availability changes — Track dates when products went OOS in your feed and cross-reference with conversion data. This lets you quantify exactly how much budget was wasted on OOS products in past periods, building a business case for investing in faster feed refresh infrastructure.
-
Use preorder strategically for demand signaling — Activating Shopping ads for upcoming products with
preorderstatus before launch generates early demand data, builds remarketing audiences of interested shoppers, and captures early purchasers — all before inventory is even in stock. This is especially valuable for seasonal products and new product launches. -
Implement availability structured data on all product pages — Add Schema.org
availabilitymarkup using the correct schema.org values (InStock,OutOfStock,PreOrder,BackOrder) to your product pages. This helps Google’s crawler verify your feed availability data faster and with more confidence, reducing false-positive mismatch flags during feed update windows.
Frequently asked questions
What are the four accepted values for the availability attribute?
availability_date. backorder — Product is temporarily out of stock but can be ordered now and will ship when available. No other values are accepted.Should I keep out-of-stock products in my feed?
availability=out_of_stock. Removing them entirely can cause performance disruption when they come back in stock (historical signals lost, re-approval delay). Google reduces impression priority for OOS products automatically. However, you should exclude OOS products from Shopping campaigns using product filters to prevent wasted spend — this is different from removing them from the feed.How do I use the availability attribute for preorder products?
availability=preorder and also submit the availability_date attribute with the expected ship date in ISO 8601 format (e.g., 2026-05-15T00:00:00+00:00). Google will show the preorder availability status to shoppers and can display the expected availability date. Once the product ships, update availability to in_stock and remove the availability_date.What is the difference between preorder and backorder?
How often should I update the availability attribute?
id + availability (+ optionally price), refreshed frequently. Your main feed can run daily while the supplemental availability feed runs every 15–60 minutes, depending on how quickly your inventory turns.