Apply BOGO campaign limitation base on customer's lifetime purchase

We are planning to offer BOGO (buy one get one) promotion to boost our sales.

Because the gifted products are limited, we’d like to offer the campaign only once for each customers.

Some apps (ex. https://apps.shopify.com/discos-smart-bogo-cart-upsell, https://apps.shopify.com/freegifts) can only support the limits based on cart, and the purchase limits based on customer (limits across multiple orders for a customer) are not supported.

Is there any good way or app to solve this scenario?