Combine the saffron, ginger, salt, pepper, olive oil, and canola oil in a large bowl. Set aside.
Clean and thoroughly wash the chicken, then cut it into 8 pieces.
Add the chicken to the bowl with the marinade, massaging the marinade into the chicken.
Cut the carrots in half and remove their yellow cores.
Open the tagine and lay the onion on the bottom. Arrange the carrots over the onion.
Lay the chicken with all of the marinade over the vegetables. Add 1 cup (240 ml) water and cover.
Cook on very low heat for 1 hour. Check at the 30-minute mark to ensure the bottom is not dry. Add another ½ cup (120 ml) water if necessary.
In the last 5 minutes of cooking, add the olives and the preserved lemon.
Garnish with parsley to serve.