Hold that thought! I did a little bit of research and it turns out there are other ways other than scoreboards.
A villagers trade has a "uses" tag which counts well... uses.
I've never used this so you will have to experiment with it.
You can view the data structure here: https://minecraft.gamepedia.com/Villager#Data_values under "Data values"
Using this tag, you can detect which trades the player used and how many times he used them.