You are going to have to build the logic into the cart. Check the database for how many shoes they have purchased and maybe set a session variable to credit them for the first x shoes that are free. It isn't something that can be done from an interface directly, so you will have to hand code it. We could help with something like this in a premier support ticket.