Wow, I didn't know so much could go into cleaning a canvas bag Most of my canvas bags are dark, so I don't have this issue too often. I did spill a little coke on a Coach bag once, and the canvas was suppose to be stain-resistant. I just rubbed it with my finger, and it disappeared. I was very impressed.I would double check with the store to see what they recommend. Find out if it is waterproof or treated first, and if not is it ok to sponge it clean.
For light dirt:
I'd use a really mild soap, and a tiny spot of it put onto a damp soft sponge and squeezed a bit first to get rid of excess water and to spread the soap into the sponge. Don't apply soap direct to the canvas.. Dab at the canvas using the lightly soapy cloth, then use a clean damp cloth to lift the soap off.
You can repeat this if need be, but try to use as little soap as possible as it can leave a light mark on dark colours that's difficulyt to get off.
Don't rub or scrub the fabric, as it can affect the pile and spread the problem.
Leave it to dry naturally.
Oils are more tricky:
be careful not to spread it around, and it may not come off completely.
Pen is the worst, and probably won't come off. It can also spread if you try and get it off with water.
Best not to try anything with pen.