I've had this conversation go badly twice. The third time I actually got the promo. Here's what changed.
First time: I walked into my 1:1 and just kind of blurted it out. My manager looked genuinely surprised and said she'd 'think about it.' She came back two weeks later with reasons it wasn't the right time. I had no idea how the review cycle worked or what the bar was.
Second time: I sent a doc beforehand. Better, but I framed it as 'I've been here two years and I think I deserve...' Huge mistake. Nobody cares how long you've been around.
What actually worked:
Timing matters more than content. I started the conversation four months before the review cycle, not during it. When you ask during a cycle, your manager has basically already submitted their stack rank. You want to be a known quantity before that happens.
Make it a conversation, not a pitch. I asked: 'What would someone need to consistently demonstrate to be a strong yes at the next level?' Then I shut up and took notes. This does two things. You get the real bar, not the HR description. And your manager is now emotionally invested because they helped define it.
Follow up with a doc, not the reverse. After that conversation I wrote up what I heard and asked if I'd captured it right. Then over the next three months I just... referenced that doc. 'I wanted to flag that the thing I shipped last sprint maps to the ownership criterion we talked about.'
When you formally ask, ask for a sponsor, not a verdict. 'Is this the kind of case you'd be willing to make for me in the calibration room?' That's different from 'can I get promoted.' It respects that calibration is a process with other people in the room.
The awkwardness usually comes from one person treating it as a transaction and the other person feeling surprised. Remove both of those things and the conversation gets easy pretty fast.
Happy to hear how others handled it, especially if your manager was the opaque type who wouldn't give you a straight answer on the bar.