Is she getting enough free play time, outside time and good food/exercise? All of these can effect a child's sleep patterns.
Is she watching tv/movies or using electronic media in the hour or two before bed? I'd cut that out first thing, as it can disrupt sleep patterns.
Otherwise, what worked for me was to keep taking my son back to bed. NO talking, NO eye contact, NO hugs, NO attention--- and NO ANGER from me. Just mute, emotionless, take him by the hand and put him back in bed.
Then leave.
Before bedtime, explain that you expect her to say goodnight and then to stay in bed.
Every time she 'relapses' into the attention-getting behavior I call "popping up", go back to square one. Walk her back silently. No anger. I know it's hard-- believe me. I have done-done-done this. The thing is, because you aren't sticking with the "take her back to bed with no response" thing, you will have to re-teach this lesson. Every.single.time she wavers from the program, bring her back to it by going right back to the silent escort to bed. Put her in bed and close the door. Let her cry or tantrum if need be. This is her problem and she will be able to solve it, if you let her and don't go back in.
Do it a hundred times, if need be. Switching up the consequence will only confuse her. You want her to know that *this* is what happens, *this* is just a matter of course: of course I put you back in bed when you get up. Of course you get no attention from me. Keep yourself as emotionally neutral as you possibly can. This will be your biggest asset.
If she's not sleeping through the night, is there something in her room disrupting her sleep? Otherwise, try to work on limiting media and get her outside as much as possible. If the weather is too hot, take her to the mall and walk her feet off if need be. Don't bring the stroller. In fact, at four, save the stroller for seriously long trips. Kids need more exercise than they often get.
Also, I'm not a fan of rewards, but this is the time when a spontaneous reward (don't tell her in advance!) would work. "Wow, sweetie, you stayed in bed all night last night! I got such a good rest that I have energy to (walk to the library/ice cream parlor/bakery; take you to the park; play a game with you; etc.)" In fact, it doesn't need to be a 'big' reward, it could be something we might do anyway, but framing it as a neat special thing because she was so helpful can make a positive impression. As I mentioned before, this sort of reward makes a great impression if they don't even know it's coming. I think this is better than sticker charts, which get complicated when we focus negatively ("no, you didn't get a sticker because you didn't stay in bed").