I'm interested in using the feature for abanonded baskets available in Perform/Reach using Triggers.
Reading through the documentation, it's not clear how the tracking of abandoned baskets is done. Does the tracking widgets automatically send information about the current cart, or is this something that needs to be done explicitly?
The tracking of the basket and checkout page contains an element items which contains the basket/checkout items, but the category and product page where the customer adds an item to the cart doesn't contain this element.
How does this work?
Yes the recommended implementation of cart tracking sends item data to the Profile Store at the following points:
Which as you pointed out means that the customer would have to navigate to the basket page to have this data sent to Profile Store where it is subsequently processed for triggered emails such as Abandoned Basket with EPiServer Campaign.
The most relevant event for your question on add to cart is the call to do tracking service on the basket page:
CartTrackingData trackingData = new CartTrackingData(
return _trackingService.Track(trackingData, httpContext, content);
This piece of code could also be executed from the backend after a customer adds an item to their basket meaning that we still send that data to the Profile Store even if a customer never navigates to the Basket Page.