Well, you might have very oily eyelids. Try wearing an eye primer before putting on the eyeshadow. There some very good ones out there like NARS smudge proof eyeshadow base, Lime Crime Eyeshadow Helper and Urban Decay Eyeshadow Primer Potion.
If they are veeery oily I’d recommend the Lime Crime one, because it is very sticky. If your skin is dark, don’t buy it tho, cause it has a light skin color to it :/.