Agregar un producto promocional cuando se alcanza una cierta cantidad de carrito

Estoy buscando el gancho correcto en WooCommerce porque necesito agregar un producto promocional al carrito cuando se alcanza una cierta cantidad de carrito, como 100 unidades convencionales.

También he usado el gancho'init' Pero no creo que sea correcto.

Aquí está mi código:

function add_free_product_to_cart(){
    global $woocommerce;
    $product_id = 2006; 
    $found = false;
    if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) 
    {
        foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) 
        {
            $_product = $values['data'];
            if ( $_product->id == $product_id )
            $found = true;
        }
        if(!$found)
        {
            $maximum = 100;
            $current = WC()->cart->subtotal;
            if($current > $maximum){
                $woocommerce->cart->add_to_cart( $product_id );
            }           
        }       
    }   
}
add_action( 'woocommerce_add_to_cart', 'add_free_product_to_cart' );

¿Qué gancho debo usar para ese propósito?

¿O podría darme un enlace relacionado a algún problema similar?

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta