Actually the email recommendations are delivered as an open-time recommendations and are activated when a user opens the email. The logic and scenarios are processed immediately before they see the recommendation. This means that behaviour collected after the email is sent out, is still taken into consideration when selecting products to be recommended.
However the images are pre-built, based on catalogue data and HTML templates as configured within the email recommendation app in SFMC - hence each product or content recommendation is generated ahead of time and stored, to ensure that the image is instantly available.
By pre-processing all the displays for each product or content recommendation and processing the logic on open-time, the recommendations should be up-to-date and served without unnecessary delay.
What you are seeing, is the 72 hour cache, which prevents the sold out items from being removed, if OnlineAvailability is set to false within this period. It is not possible to reduce this caching period, but you can improve this with one simple trick - which might be helpful in some use cases.
The cache is linked to the hash of a recommendation. E.g:
The email hash (5544abcdef1234 above) can be found under ID on the email recommendation main screen.
If you send emails daily, you can use different hash values, to get recommendations refreshed more frequently than each 72 hours. However each email sent, will not exclude sold out items before 72 hours have passed.
You can set up a new Email Hash like this:
- Choose the Predictive Email from the Personalization Builder App in the top navigation.
- Click the Create New Logic button
- Name the Email Template under the Unique Name field
- Choose the Type of Catalog if you have multiple (product/content) setup.
- Click the Create button