The most common (and important) parts of a compensation package in tech are: base salary, sign-on bonus, equity, annual bonus. There are other high-value benefits such as a 401k match, paid time off (PTO), and healthcare, but these are typically not negotiable terms.
It's important to figure out what are the negotiable terms and what are not. e.g. start date is be negotiable: if you don't care about this, you can mention to the recruiter that you're willing to start as needed if the company can offer flexibility on a term that you care about, e.g. salary.
Another important takeaway is that "negotiating a job offer" and "negotiating a salary" are NOT the same thing. You should negotiate the terms of an offer in parallel, not serially. Talk about the whole package rather than talking about individual components.