I see, So I need to use your snippet to apply incremental free gift other than bogo anyway?
One more question,
How to handle free gift number if there are free products?
If the coupon is Buy 2 Get 1 Free with incremental free gift and customer add an item x 6,
I expect to be able to add any three(total number) from free products.
Free product selection “A” and “B”
So customer can choose “A” x 2 and “B” x 1.