I can't say "it's successful when I was happy with it," because there are plenty of sessions where the players enjoyed themselves but I was kicking myself and thinking I could've done better. "When the players enjoyed it" is the easy, and correct (for me) answer.. but to drill down on what made the players enjoy it:
One big thing that I always try to do is make sure the session left off with a drama or suspense.
Either "now we know what we have to do: get revenge on that leprechaun!" or "the princess tears off her face, revealing an eight-eyed arachnid abomination, and you find yourself in her dire lair!" Basically, something that the players can discuss after the game. "How are we going to handle tracking down the leprechaun? do we have magic, tactics, allies that can help?" or "Whaaat- do y'all think the princess was always a spider or was that evil seneschal sneaking her spider poison? or maybe he's a good guy and knew she was a spider?"
I think, to me, a successful session means everyone was engaged and there weren't many lulls. Pacing is big, and something I constantly have to pay attention to. It's easy for shopping, for example, to be "dead air" for some players while others are gleefully looking through what they can purchase. This was my last session. We had missed a week due to holidays, it took me a while to really "get going" and shopping an hour in didn't help. But after we took a break halfway through the 4hr session, I was full of ideas again and could step on the gas. The second half of the session was waaay better than the first, and we ended on a suspenseful moment. But the first half being "not so great" by my standards meant the session was a B at best.