Heat the canola oil in a large pot over medium heat. Add the ginger and shallots and cook, stirring, until soft and fragrant, about 3 minutes. Stir in the brown sugar, honey, orange juice, 1/4 cup granulated sugar, and salt. Cook, stirring, until sugar dissolves and mixture is nice and bubbly.
Add half the cranberries and cook, stirring occasionally, until the cranberries pop and the mixture thickens, about 5 minutes. Add the remaining cranberries and cook another 5 minutes or so.