Try this:
Code:
https://codecanyon.net/item/woocommerce-coupons-countdown/4959483
Look for coupons and see if they can be set for limited time discount options like 100$ free for a period of time or count... there are many paid and free woo plugins. I have a woocommerce site but cannot test such a plugin as the site is live -- so you need to find the best plugin to suit your requirements.
For example search for these strings:
woocommerce plugin set a limited time discount
woocommerce advanced coupons
There is an expensive plugin which can help set (individual) options per customer.... something like Smart Coupons plugin (even better than that), but I don't recall the name. May be Smart Coupons can also let you set options for individual customers.... if you need that kind of versatility, then talk to the maker of this plugin and see if this function is available. I wanted to use SC, but the price is too big for my site at this stage.
P.S.:
Think of this scenario:
Suppose I am the customer who gets 100 free products/services from your client's site. Well, you're giving me an option to cheat your system by opening another account on your site and get another 100 free... so in the long run, I will never pay you, and keep opening new accounts to get your services FREE.

Well, I would love to know your site's name and pass on the advantage to my own friends and clients

....
Just kidding about that! But think of every aspect before giving such a dangerous option on a ecom site. It can clean up the seller's business in virtually no time at all imo.
P.P.S.:
I'd suggest you to give 100 items free on purchase of 100 (or even 25-50) items first.... something like this. Idea is to make them come back to you again and again or give you a bulk order first before getting the free package. Based on your real profits, you can set up a ratio of free:sold items much effectively on per customer basis (1:1 !!, or 1:2 or 1:3 or 1:4 or 1:8 or whatever), and for a set time duration offer.