You should make a distinction of what is sitting in your data base and what is displayed on your chart.
(1) From IB you will only get individual contracts. If you want to go back to January 2012 you will need to download data from 5 contracts, ES 03-13, ES 12-12, ES 09-12, ES 06-12 and ES 03-12. Each of the data should cover about 3 months and the data should overlap around the rollover dates.
(2) There are several ways of downloading the data. The safest way is to use the Historical Data Manager. Put your five contracts in your default list via the instrument mananger. Then open the Historical Data Manager and download the required data for each of your five contracts. For ES 03-13 you will need data from the beginning of december until now, for ES 12-12 you will require data from the beginning of september until mid-december etc.
and then open an intraday chart with a lookback period of 365 days. NinjaTrader will then automatically load the appropriate data from each of the five contracts and store it in the historical data base. The chart will display the merge-backadjusted data, that is prior contracts will be vertically shifted according to the offset determined on rollover date.
If you set the merge policy to DoNotMerge, it will only load data from the last contract. This is not what you want however. Your chart will have holes and you will backtest the false contracts. Make sure that NinjaTrader is set to MergeBackAdjusted for any backtest that you perform. That way the rollover cost will be taken into account. Also make sure that you do not use any strategy based on absolute levels - for examle round numbers - as that type of strategy cannot work on a mergebackadjusted contract.
With Interactive Brokers I do not recommend to load one year in a single step. Due to their data throttling policy this will not work. Better use the Historical Data Manager and load it in three-month chunks for each of the single contracts.
You can edit the data in the end and check whether it has been correctly loaded.
(4) I would not recommend to load daily data from Interactive Brokers. It is not official exchange data and is low quality. Better connect NinjaTrader to Kinetick EOD and load daily data. When I am connected to Interactive Brokers, I am always first-connected to Kinetick and second connected to IB, just to make sure that I do not get their daily data into my historical data base.