Making a consistent bounce

I am having a hard time getting a ball to bounce consistently. Same height every time. I tried bouncy material. That was ok but not perfect. I thought I could just have the floor bounce the ball:

 void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.tag.Equals("Tile"))
        {
            Vector3 dir = new Vector3(0f, 1f, 0f);
            rb.AddForce(dir * bounceSpeed);
           
        }

    }

This really seemed like a great idea, but if I move the ball right as it is about to hit the tile, it gets a super low bounce. I am guessing I need to say at the point of impact stop all other forces and just use the one I am adding. But no idea how to do that?

I am not sure what you want to achieve, but if you want to stop all others forces, just use:

rb.velocity = Vector3.zero;