I have the same problem. :/
To get your eyeshadow to stay on longer try to buy an eyeshadow base/primer, usually they’re the same color as your skintone and you put it on before you put on eyeliner/shadow and it helps the color stick better and keeps it from creasing and wearing off.
The only base I can think of now is Urban Decay Primer Potion, but it’s 16 bucks a bottle and too expensive for me so I have no idea how it works, but I’ve heard it’s great if you have the money.
If not, you can usually find eyeshadow bases/primers in drugstore and wal-mart brands.
If your foundation is always coming off..try a new foundation, possibly a long-wearing kind and always try to put powder foundation over liquid to ’set’ the foundation and make it stay longer.
I’ve always found everything I need for relatively cheap at places like Wal-Mart or a local drugstore.
im going to say i believe everybody has this problem,
while they wanna admit it or not.
if you want to look fresh again apply it in the middle of the day?
that should help.
Use a primer on your face before foundation. And set it with a translucent powder.
Use foundation on your eyes before you apply eyeshadow, this will act as a primer and hold the eyeshadow longer.
Maybe you should try some different brands of make up, find the best one for you.
i dont think theres a way of making makeup last longer. except reapplying often
i suggest you to buy a higher quality/ pigmented makeup and that should resolve your problems. : )