You need to be realistic about the competition and specifically look at how well your competitors are doing in the search engine results pages (SERPS). This will provide you with enough information to decide on what the best keywords should be used for your campaign.
You can then decide how effective those keywords will be when you get to the top of the search engines.
There is no point spending a lot of money getting to page 1 if no-one is searching on them your chosen phrases. Keyword and competitive analysis are singularly the most important activities your SEO team will undertake before they begin your SEO campaign.
Once you have decided on the best keywords to use then it is a case of optimising your website’s code. This means looking at content, keyword density, title tags, meta description, internal linking, title tags and other similar things.
With Google’s ever changing algorithms in determining what websites are important enough for page 1 listings this is becoming more and more important nowadays.
It is not just about building links, it is more about how well the search engines can spider your website, for example:
If you have a poorly optimised website then it will take a lot more link building to get you to the top. So it pays to optimise the code as best as possible.