@Rycaut@hobs@cks conceptually the mapping only needs to be materialized when the user is informed of it, yes.
The initial bulk mapping is intended to be a one-off, but the process will be repeated some as-yet undecided small number of times, and on each repetition there will be an additional mapping of all newly onboarded users since the last mapping, plus a (trivial, already implemented & tested) culling of redeemed coupons to avoid pestering users who have already taken action.