Quite! It is the standard way of shaping demand via pricing in various ways.
Booking online has much lower overheads so they can essentially discount the fare. Similarly, you purchase in advance - they have your money in advance and so reduces their working capital and so they can discount fares. This, by default, means that you are penalising people who turn up and travel and, as you rightly say, they are committed to travel anyway.
First are doing this in trying to get people to sign up to mTickets. In Bristol (and I'm sure elsewhere), fares have gone up for those buying on the bus but not if you buy an mTicket. For First, there are lower overheads in terms of speed of boarding, handling of cash etc so by inducing people to switch from cash fares, they get a benefit. Of course, the fact that there's a fare increase is "grist to the mill" for the local rag who can then have a clickbait story with the usual keyboard warrior types in the comments section advocating renationalisation and a return to 1975 as life was so much better then. Of course, this ironically ignores the parallel that the online story is free but you do have to pay to buy a physical newspaper.
Your junk email is perhaps not a reflection on NX's desperation but more a case of you signing up and being caught up in a targeted algorithm!