If you’re using bleached, human hair the bleaching process may have left the cuticle too open and unable to hold the dye. You could test this by trying to dye a piece of your hair sample with a semi permanent dye that is known to be color fast. If it doesn’t hold that dye either, you know this issue was caused by over processing the hair