Know what you want (and what you don’t).
Should the basic offer include great salary and a dream role, go for it. But what if salary is so-so and still your position would include daily mentoring from a superstar in your field? And what if, on the other hand, a huge salary increase would come together with uninteresting duties (or hectic location-hopping, or narrow vacation time, etc.)?
Always keep in mind your priorities - that is, the core reasons why you applied for that job in the first place. When in doubt, stick to your no-no's: if you can’t work in noisy open spaces don’t accept unless they give you a private office, no matter the income.
Know what you’re worth.
We’re talking about a job offer. It’s no more you seeking that job, it’s the company that wants you. Starting from this leverage, have in mind what your goal is; but never share monetary expectations until they have made an offer in that sense. That’s the basics of negotiation, an art that needs some practice but can be applied to many things beyond your expected payroll, from location flexibility to extra perks.
Know who you are dealing with.
The shiniest deal can still hide unexpected setbacks if the office culture you’re going to be part of doesn’t match with your professional values, work-life balance or personal priorities.
A thorough research will make you sure that they value the same things that you do - and on a deal-making perspective, this same research could provide some useful information about what aspects you could more easily negotiate about.
A job offer is a great opportunity and is not a favour: you’ve earned it, so don’t be shy to ask for what you want. A polite approach and the will to come up with a satisfying deal are the right way to go.