Giving the buyer a gift for purchasing over a certain amount

Q: A website is selling books at a discounted price. Whoever buys books for more than R250 gets a free bookmark. Whoever buys books for more than R750 gets another book free. Whoever buys books for more than R1499 gets free home delivery.

I want to know if transactions like these are valid where the seller gives a gift if the buyer buys products of a certain amount of money?