Closed-loop attribution closes the gap between seeing an ad and buying the product. Instead of estimating the effect of a campaign from aggregated sales, it observes exposure and purchase for the same shopper, so the result is deterministic rather than modelled.
In store, Shoppermotion measures three steps for the same anonymous trip: exposure (the path passed a screen, end cap or flyer zone), visit (the path reached the promoted bay) and purchase (the matched ticket contains the product). The link between the path and the purchase is ticket matching: when a tagged trolley or basket reaches a till, its position and timestamp are matched with the ticket issued at that till at that moment. See the offline attribution article.
To separate the sales a campaign caused from those that would have happened anyway, exposed trips are compared with a control group of non-exposed trips with the same mission, shopping tool, time window and store. The difference in conversion, multiplied by exposed trips and basket value, gives incremental sales, and dividing attributed incremental revenue by media cost gives ROAS.
Because the order in which each trip met every placement is known, first-touch, last-touch, linear and time-decay models can all be applied to in-store media and compared on the same campaign. The result is a report advertisers can read like online: exposed versus non-exposed conversion, uplift and ROAS per placement, store and creative.