When a product is on backorder or preorder, Google Merchant Center requires an availability date — the date the item will be back in stock and ready to ship — alongside the availability value. Without it, Google disapproves those items. This guide explains the availability date attribute and shows how to add one to your WooCommerce feed with CTX Feed, including a date calculated from the current date (for example “14 days from today”) so it stays current on every regeneration.
What the availability date is for
Google reads availability_date only when a product’s availability is backorder (or preorder). It tells shoppers and Google when the item ships, and it must be in ISO 8601 format — for example 2026-09-25T00:00:00+00:00. If you send a backordered item without an availability date, Google flags it; if you send it in the wrong format, Google ignores it.
CTX Feed exposes availability_date as a Google attribute. The built-in Availability Date value is written only for products whose WooCommerce stock status is “On backorder” — exactly what Google wants, since in-stock items don’t need a date.
Method 1 — Set the date on each product (free)
- Open CTX Feed → System → Settings. In the Product attributes card, under Product information, confirm Availability date is on (it is by default).
- Edit a backordered product in WooCommerce. On the Inventory tab, under CUSTOM FIELDS by CTX Feed, pick the Availability Date. Each variation of a variable product has its own field.
- In your feed’s Config tab, click Add attribute, set the Channel attribute to Availability Date [availability_date], keep Source on Attribute, and pick Availability Date (in the Primary Attributes group) as the Value.
- Click Save & generate.
CTX Feed writes the date in ISO 8601 (for example 2026-09-25T00:00:00+02:00, in your store’s timezone), and only for products on backorder.

Method 2 — A date calculated from the current date (Pro)
To output a rolling date such as “today + 14 days” that updates itself every time the feed regenerates, use a code block. Code blocks are part of Custom Template 2 (XML), which requires CTX Feed Pro. Add the availability date element to your template’s markup:
<g:availability>{availability}</g:availability>
<g:availability_date>{(return date('c', strtotime('+14 days'));)}</g:availability_date>
strtotime('+14 days')offsets from the moment the feed runs, so the date is always relative to today. Change14to your restock lead time.date('c', …)formats the result as ISO 8601, exactly what Google expects.
The code block runs for every product in the feed. Google ignores the date on in-stock items, but to send it only for backordered products, build this feed for your backordered products only — for example with Advanced filters (Pro). See Custom Template 2 PHP Pattern for how code blocks work.
Method 3 — One fixed date for the whole feed (free)
If a single restock date works for every product in the feed, you don’t need code:
- Open the feed in Make Feed → Config.
- Click Add attribute and set the Channel attribute to Availability Date [availability_date].
- Set the row’s Source to Text and type the date in ISO 8601, for example
2026-09-25T00:00:00+00:00. - Click Save & generate.
A Text row is written for every product in the feed, in stock or not. Update the value whenever your restock date changes and regenerate.

Method 4 — A fixed date for backordered products only (Pro)
To apply one date only to backordered products, use a dynamic attribute, which requires CTX Feed Pro:
- Go to CTX Feed → Data mapping → Dynamic attributes and create an attribute (e.g.
availability_date). - Add a condition: Availability is/equal to
backorder, and output your ISO date. Set Otherwise output to Leave empty. - In your feed’s Config tab, set the Availability Date [availability_date] row’s Value to this dynamic attribute.
Troubleshooting
- The date is empty for backordered items. Confirm the product’s stock status is actually On backorder, that Availability date is on in System → Settings, and — for Method 1 — that the product (or variation) has a date in its Availability Date field.
- Google says the format is invalid. Use ISO 8601.
date('c', …)in a code block produces the correct format; a hand-typed date must include the time and timezone offset. - The date is on in-stock products too. You used a Text row or a code block, which apply to every product. Use Method 1, or a dynamic attribute condition (Method 4). Google ignores the date on in-stock items, but clean feeds are better.
- The date never changes. A fixed Text date won’t advance; use Method 1’s code block for a rolling date.
Related guides
- Custom Template 2 PHP Pattern
- How to Format Price or Number Into Feed
- Remove a Product if Description, Price or Image Is Empty
