It would help to see the actual behaviour of the site, but based on this description, on a general sense of how to track this, I would suggest using s.products.
I assume that the site would show a big list of coupons, and the clicks you are describing would flag the coupon as "on" or "off"... and navigating to the next page would basically add the selected coupons to your list, or to send those coupons to the user, etc
You would have to work with your developers on this, but it if there are in fact "hundreds" of potential coupons, you might be better to track these all on the next page (so that you don't risk the processing and tracking from being aborted as the user navigates from the "selection" page to the "confirmation" page).. but the developers should know all the data about what was selected... they could provide you a data layer of all the selected items on the confirmation page, and you could include ALL the coupon data in s.products as part of the page view (not only reducing server calls by your individual clicks, but combining it to a server call you already have in your implementation.
https://experienceleague.adobe.com/docs/analytics/implementation/vars/page-vars/products.html?lang=e...