Although the ADR was introduced into LoRaWAN as a solution towards improving the efficiency of the end devices' transmissions, studies have shown that the algorithm leads to increases in traffic collisions, especially in large networks [6][7][8]. These findings have received significant attention from academia: numerous studies and proposals have been produced as potential solutions to this problem. These solutions have been critically studied and summarized by the authors in [4]. The authors showed that these solutions have constantly brought improvements to the ADR. However, the authors also have argued that these improvements are still not adequate and that arriving at an ideal implementation of the ADR remains an open research area. Therefore, in this paper, the researchers used the knowledge gained from studying the findings in [4] to design an enhanced version of the ADR that uses congestion statuses of spreading factors to determine optimized **data** rates for end devices. The proposed algorithm was then evaluated in a series of simulated experiments and its performance was compared against four other algorithms with the same characteristics from the papers [7][8][9] in terms of **data** extraction rate (DER) and energy consumption (EC) [4]. The evaluation results show that the proposed algorithm achieves at least 40 per cent better DER performance and at least 100 per cent better EC performance over the other four algorithms. The process of evaluating the proposed algorithm was guided by the following research objectives: