A system for displaying products comprising: a unit having a base with an upper surface on which a plurality of products (A, B, C) of different product types can be placed; a product camera mounted to the unit and having a field of view that extends over at least a portion of the upper surface of the base; a user output device (212; 214) comprising at least one of a display and a speaker; a computing system connected to the camera and comprising at least one processor and memory having instructions stored therein which, when executed, configure the computing system to: send images from the at least one product camera to a product detection module; receive output from the product detection module, the product detection module output indicating products from the first set of products that are detected in respective images; analyze the output from the product detection module to determine the presence of a first product set (A, B, C) comprising the plurality of products (A, B, C) including a first product on the upper surface and define for each of the plurality of products a respective dynamic home position on the upper surface, each of the plurality of products being at its respective dynamic home position on the upper surface at a first time; analyze the output from the product detection module at a subsequent second time to determine for each of the plurality of products (A, B, C) if the respective product is at its dynamic home position on the upper surface; in response to a determination that the first product is not in its respective dynamic home position, thereby detecting interaction with the first product, setting a message condition for the first product, the message condition indicating that the first product was present on the upper surface at its dynamic home position and then subsequently removed from its dynamic home position on the upper surface; in response to the message condition for the first product outputting on the user output device information related to the first product. a unit having a base with an upper surface on which a plurality of products (A, B, C) of different product types can be placed; a product camera mounted to the unit and having a field of view that extends over at least a portion of the upper surface of the base; a user output device (212; 214) comprising at least one of a display and a speaker; a computing system connected to the camera and comprising at least one processor and memory having instructions stored therein which, when executed, configure the computing system to: send images from the at least one product camera to a product detection module; receive output from the product detection module, the product detection module output indicating products from the first set of products that are detected in respective images; analyze the output from the product detection module to determine the presence of a first product set (A, B, C) comprising the plurality of products (A, B, C) including a first product on the upper surface and define for each of the plurality of products a respective dynamic home position on the upper surface, each of the plurality of products being at its respective dynamic home position on the upper surface at a first time; analyze the output from the product detection module at a subsequent second time to determine for each of the plurality of products (A, B, C) if the respective product is at its dynamic home position on the upper surface; in response to a determination that the first product is not in its respective dynamic home position, thereby detecting interaction with the first product, setting a message condition for the first product, the message condition indicating that the first product was present on the upper surface at its dynamic home position and then subsequently removed from its dynamic home position on the upper surface; in response to the message condition for the first product outputting on the user output device information related to the first product. send images from the at least one product camera to a product detection module; receive output from the product detection module, the product detection module output indicating products from the first set of products that are detected in respective images; analyze the output from the product detection module to determine the presence of a first product set (A, B, C) comprising the plurality of products (A, B, C) including a first product on the upper surface and define for each of the plurality of products a respective dynamic home position on the upper surface, each of the plurality of products being at its respective dynamic home position on the upper surface at a first time; analyze the output from the product detection module at a subsequent second time to determine for each of the plurality of products (A, B, C) if the respective product is at its dynamic home position on the upper surface; in response to a determination that the first product is not in its respective dynamic home position, thereby detecting interaction with the first product, setting a message condition for the first product, the message condition indicating that the first product was present on the upper surface at its dynamic home position and then subsequently removed from its dynamic home position on the upper surface; in response to the message condition for the first product outputting on the user output device information related to the first product.