This article pertains to stores feeding to Google Product Search, using the AppConfigs: OutOfStockThreshold and DisplayOutOfStockProducts TRUE, and products tracking inventory by Size and Color.
- Previous to 7/2/2014 : DotFeed managed products using "*Track Inventory By Size and Color:" by comparing the value in the AppConfig: OutOfStockThreshold with the aggregate value of the Size and Color inventories for a given product variant, then set the stock status for In Stock / Out of Stock accordingly across all variant attribute combinations, regardless of individual item inventory.
- As of 7/2/2014 : DotFeed manages products using "*Track Inventory By Size and Color:" by comparing the value in the AppConfig: OutOfStockThreshold with the individual item value of the Size and Color inventories for a given product variant, then set the stock status for In Stock / Out of Stock accordingly per item.
NOTE: Product variant items already existing in the feed will have their inventory properly updated without losing their feed approval status.
Inventory - how AspDotNetStorefront, DotFeed and Google interact
As it becomes increasingly important for
all online sellers to effectively manage their structured product feeds,
we are focusing on helping to manage inventory. (This is the first of a
number of specific focal points.) We have changed the way that the
inventory level of 'items' is fed to Google via DotFeed and this is an
important document, especially if you track inventory by size and color.
There is a LOT to understand about
the different ways that AspDotNetStorefront and DotFeed can handle
inventory. Hopefully, you can draw on expert help. If you don't have a
subscription to our annual support coverage (Year-Round Benefits), then most likely one of our resellers is supporting you and you should feel free to ask for as much help as you need.
About Products
In AspDotNetStorefront, every product has
at least one 'child' called a 'variant'. There can be multiple variants
for a single product, and one is always set as the default. Every
variant carries an inventory value (the parent product does not carry
any stock.)
A variant can, optionally, carry up to two
'attributes'. In our examples, these are used for size and color, but
can actually be renamed and used for any attributes.
Each attribute combination (e.g.
'small/blue') can carry its own inventory value if the administrator
turns 'Track Inventory by Size and Color' to true.
About Display Pages on AspDotNetStorefront
There is a configuration setting
'HideProductsWithLessThanThisInventoryLevel'. If this is set to -1, then
the store ignores inventory and shows all products. If there is a value
other than -1 in this setting, then(this is important)any
product with a default variant that is carrying less stock than the
value of the setting will not be displayed (the product page will not be
rendered at all - a 404 error will stand in place.) Use this 'hide'
setting with caution.
There is a configuration setting
'DisplayOutOfStockProducts' which is stronger than the 'hide' setting.
If 'DisplayOutOfStockProducts' is set to true, then every product shows
up, regardless of the inventory level of each variant. In stock/out of
stock messages can be set for each variant on product pages.
About DotFeed
If
'HideProductsWithLessThanThisInventoryLevel' is set to anything other
than -1, and if a product/variant does not have 'Track Inventory by Size
and Color' set to true, then DotFeed matches the storefront - since
under these settings the store hides the variant, then so does DotFeed
(the variant will not get delivered to Google, or to any shopping
engines.)
If
'HideProductsWithLessThanThisInventoryLevel' is set to anything other
than -1, and if a variant DOES have 'Track Inventory by Size and Color'
set to true, then regardless of the total inventory for the variant,
DotFeed gathers up the variant and breaks it into "items". An "item" is
an attribute combination and is a child of a variant. DotFeed compares
eachitemwith the value in
'HideProductsWithLessThanThisInventoryLevel". If
'DisplayOutOfStockProducts' is set to 1 (true), DotFeed will compare the
inventory against the value of 'OutOfStockThreshold'
(HideProductsWithLessThanThisInventoryLevel is ignored). If
'DisplayOutOfStockProducts' is 0 (false) and
'HideProductsWithLessThanThisInventoryLevel' is not -1, DotFeed will
compare the inventory to 'HideProductsWithLessThanThisInventoryLevel'.
If 'DisplayOutOfStockProducts' is 0 (true) and
'HideProductsWithLessThanThisInventoryLevel' is -1 (disabled), DotFeed
will set the availability setting for Google as "in-stock" (since
nothing on your store is setup to behave otherwise).
In this way, if the storefront displays the
variant with out of stock messaging, then DotFeed hands over items to
Google with matching availability settings. Variants (which can be
handled using rules, should be watched and set accordingly.
About Google
When DotFeed hands Google an item marked 'out of stock', then Google
marks that item 'not yet searchable'. When a subsequent feed changes the
availability to 'in stock', then Google seems to very quickly adjust
the status to 'searchable'.
This table (below) attempts to teach more by way of example:
Stock Level
Hide?
Display?
Show up?
Fed?
Rules?
Google?
Store 1
This store does not use attributes at all and chooses to hide products with less than 5 units in stock.
Product-1
5
-
-
Variant-1a
11
Yes
Yes
Yes
Yes
Store 2
This store does not use attributes at all and chooses to hide products where there are less than 6 units in stock.
This store uses attributes and choosesnotto
hide products with less than 3 units in stock, but instead to display
out of stock values. Also, this store has turned the setting "Track
Inventory by size and color' to TRUE.